Skip to content

Commit bb371ae

Browse files
committed
Add option to clone temp repo as non-bare
1 parent 4f8f5f6 commit bb371ae

File tree

7 files changed

+13
-8
lines changed

7 files changed

+13
-8
lines changed

services/packages/cargo/index.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ func alterRepositoryContent(ctx context.Context, doer *user_model.User, repo *re
267267
defer t.Close()
268268

269269
var lastCommitID string
270-
if err := t.Clone(repo.DefaultBranch); err != nil {
270+
if err := t.Clone(repo.DefaultBranch, true); err != nil {
271271
if !git.IsErrBranchNotExist(err) || !repo.IsEmpty {
272272
return err
273273
}

services/repository/files/cherry_pick.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func CherryPick(ctx context.Context, repo *repo_model.Repository, doer *user_mod
3131
log.Error("%v", err)
3232
}
3333
defer t.Close()
34-
if err := t.Clone(opts.OldBranch); err != nil {
34+
if err := t.Clone(opts.OldBranch, false); err != nil {
3535
return nil, err
3636
}
3737
if err := t.SetDefaultIndex(); err != nil {

services/repository/files/diff.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func GetDiffPreview(ctx context.Context, repo *repo_model.Repository, branch, tr
2121
return nil, err
2222
}
2323
defer t.Close()
24-
if err := t.Clone(branch); err != nil {
24+
if err := t.Clone(branch, true); err != nil {
2525
return nil, err
2626
}
2727
if err := t.SetDefaultIndex(); err != nil {

services/repository/files/patch.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func ApplyDiffPatch(ctx context.Context, repo *repo_model.Repository, doer *user
113113
log.Error("%v", err)
114114
}
115115
defer t.Close()
116-
if err := t.Clone(opts.OldBranch); err != nil {
116+
if err := t.Clone(opts.OldBranch, true); err != nil {
117117
return nil, err
118118
}
119119
if err := t.SetDefaultIndex(); err != nil {

services/repository/files/temp_repo.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,13 @@ func (t *TemporaryUploadRepository) Close() {
5151
}
5252

5353
// Clone the base repository to our path and set branch as the HEAD
54-
func (t *TemporaryUploadRepository) Clone(branch string) error {
55-
if _, _, err := git.NewCommand(t.ctx, "clone", "-s", "--bare", "-b").AddDynamicArguments(branch, t.repo.RepoPath(), t.basePath).RunStdString(nil); err != nil {
54+
func (t *TemporaryUploadRepository) Clone(branch string, bare bool) error {
55+
cmd := git.NewCommand(t.ctx, "clone", "-s", "-b").AddDynamicArguments(branch, t.repo.RepoPath(), t.basePath)
56+
if bare {
57+
cmd.AddArguments("--bare")
58+
}
59+
60+
if _, _, err := cmd.RunStdString(nil); err != nil {
5661
stderr := err.Error()
5762
if matched, _ := regexp.MatchString(".*Remote branch .* not found in upstream origin.*", stderr); matched {
5863
return git.ErrBranchNotExist{

services/repository/files/update.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func ChangeRepoFiles(ctx context.Context, repo *repo_model.Repository, doer *use
146146
}
147147
defer t.Close()
148148
hasOldBranch := true
149-
if err := t.Clone(opts.OldBranch); err != nil {
149+
if err := t.Clone(opts.OldBranch, true); err != nil {
150150
for _, file := range opts.Files {
151151
if file.Operation == "delete" {
152152
return nil, err

services/repository/files/upload.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func UploadRepoFiles(ctx context.Context, repo *repo_model.Repository, doer *use
8787
defer t.Close()
8888

8989
hasOldBranch := true
90-
if err = t.Clone(opts.OldBranch); err != nil {
90+
if err = t.Clone(opts.OldBranch, true); err != nil {
9191
if !git.IsErrBranchNotExist(err) || !repo.IsEmpty {
9292
return err
9393
}

0 commit comments

Comments
 (0)