Changes
17 changed files (+46/-33)
-
-
@@ -215,7 +215,7 @@ func main() {//Use git cli command for windows runCmd("git", "fetch", remoteUpstream, fmt.Sprintf("pull/%s/head:%s", pr, branch)) } else { ref := fmt.Sprintf("refs/pull/%s/head:%s", pr, branchRef) ref := fmt.Sprintf(gitea_git.PullPrefix+"%s/head:%s", pr, branchRef) err = repo.Fetch(&git.FetchOptions{ RemoteName: remoteUpstream, RefSpecs: []config.RefSpec{
-
-
-
@@ -20,6 +20,7 @@ import ("code.gitea.io/gitea/models/unit" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/references" api "code.gitea.io/gitea/modules/structs"
-
@@ -761,8 +762,8 @@ func (issue *Issue) ChangeRef(doer *user_model.User, oldRef string) (err error)if err = issue.loadRepo(db.GetEngine(ctx)); err != nil { return fmt.Errorf("loadRepo: %v", err) } oldRefFriendly := strings.TrimPrefix(oldRef, "refs/heads/") newRefFriendly := strings.TrimPrefix(issue.Ref, "refs/heads/") oldRefFriendly := strings.TrimPrefix(oldRef, git.BranchPrefix) newRefFriendly := strings.TrimPrefix(issue.Ref, git.BranchPrefix) opts := &CreateCommentOptions{ Type: CommentTypeChangeIssueRef,
-
-
-
@@ -13,6 +13,7 @@ import ("code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/unit" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/timeutil"
-
@@ -349,7 +350,7 @@ func (pr *PullRequest) GetDefaultSquashMessage() string {// GetGitRefName returns git ref for hidden pull request branch func (pr *PullRequest) GetGitRefName() string { return fmt.Sprintf("refs/pull/%d/head", pr.Index) return fmt.Sprintf(git.PullPrefix+"%d/head", pr.Index) } // IsChecking returns true if this pull request is still checking conflict.
-
-
-
@@ -79,7 +79,7 @@ func ToAPIPullRequest(pr *models.PullRequest, doer *user_model.User) *api.PullRe}, Head: &api.PRBranchInfo{ Name: pr.HeadBranch, Ref: fmt.Sprintf("refs/pull/%d/head", pr.Index), Ref: fmt.Sprintf(git.PullPrefix+"%d/head", pr.Index), RepoID: -1, }, }
-
-
-
@@ -141,7 +141,7 @@ func CommitChangesWithArgs(repoPath string, args []string, opts CommitChangesOptfunc AllCommitsCount(repoPath string, hidePRRefs bool, files ...string) (int64, error) { args := []string{"--all", "--count"} if hidePRRefs { args = append([]string{"--exclude=refs/pull/*"}, args...) args = append([]string{"--exclude=" + PullPrefix + "*"}, args...) } cmd := NewCommand("rev-list") cmd.AddArguments(args...)
-
-
-
@@ -6,6 +6,15 @@ package gitimport "strings" const ( // RemotePrefix is the base directory of the remotes information of git. RemotePrefix = "refs/remotes/" // PullPrefix is the base directory of the pull information of git. PullPrefix = "refs/pull/" pullLen = len(PullPrefix) ) // Reference represents a Git ref. type Reference struct { Name string
-
@@ -24,17 +33,17 @@ func (ref *Reference) ShortName() string {if ref == nil { return "" } if strings.HasPrefix(ref.Name, "refs/heads/") { return ref.Name[11:] if strings.HasPrefix(ref.Name, BranchPrefix) { return strings.TrimPrefix(ref.Name, BranchPrefix) } if strings.HasPrefix(ref.Name, "refs/tags/") { return ref.Name[10:] if strings.HasPrefix(ref.Name, TagPrefix) { return strings.TrimPrefix(ref.Name, TagPrefix) } if strings.HasPrefix(ref.Name, "refs/remotes/") { return ref.Name[13:] if strings.HasPrefix(ref.Name, RemotePrefix) { return strings.TrimPrefix(ref.Name, RemotePrefix) } if strings.HasPrefix(ref.Name, "refs/pull/") && strings.IndexByte(ref.Name[10:], '/') > -1 { return ref.Name[10 : strings.IndexByte(ref.Name[10:], '/')+10] if strings.HasPrefix(ref.Name, PullPrefix) && strings.IndexByte(ref.Name[pullLen:], '/') > -1 { return ref.Name[pullLen : strings.IndexByte(ref.Name[pullLen:], '/')+pullLen] } return ref.Name
-
@@ -45,16 +54,16 @@ func (ref *Reference) RefGroup() string {if ref == nil { return "" } if strings.HasPrefix(ref.Name, "refs/heads/") { if strings.HasPrefix(ref.Name, BranchPrefix) { return "heads" } if strings.HasPrefix(ref.Name, "refs/tags/") { if strings.HasPrefix(ref.Name, TagPrefix) { return "tags" } if strings.HasPrefix(ref.Name, "refs/remotes/") { if strings.HasPrefix(ref.Name, RemotePrefix) { return "remotes" } if strings.HasPrefix(ref.Name, "refs/pull/") && strings.IndexByte(ref.Name[10:], '/') > -1 { if strings.HasPrefix(ref.Name, PullPrefix) && strings.IndexByte(ref.Name[pullLen:], '/') > -1 { return "pull" } return ""
-
-
-
@@ -371,7 +371,7 @@ func parseSize(objects string) *CountObject {// GetLatestCommitTime returns time for latest commit in repository (across all branches) func GetLatestCommitTime(repoPath string) (time.Time, error) { cmd := NewCommand("for-each-ref", "--sort=-committerdate", "refs/heads/", "--count", "1", "--format=%(committerdate)") cmd := NewCommand("for-each-ref", "--sort=-committerdate", BranchPrefix, "--count", "1", "--format=%(committerdate)") stdout, err := cmd.RunInDir(repoPath) if err != nil { return time.Time{}, err
-
-
-
@@ -33,7 +33,7 @@ func (repo *Repository) GetMergeBase(tmpRemote string, base, head string) (strin} if tmpRemote != "origin" { tmpBaseName := "refs/remotes/" + tmpRemote + "/tmp_" + base tmpBaseName := RemotePrefix + tmpRemote + "/tmp_" + base // Fetch commit into a temporary branch in order to be able to handle commits and tags _, err := NewCommandContext(repo.Ctx, "fetch", tmpRemote, base+":"+tmpBaseName).RunInDir(repo.Path) if err == nil {
-
-
-
@@ -66,7 +66,7 @@ func (repo *Repository) GetRefsFiltered(pattern string) ([]*Reference, error) {refName = refName[:len(refName)-1] // refName cannot be HEAD but can be remotes or stash if strings.HasPrefix(refName, "/refs/remotes/") || refName == "/refs/stash" { if strings.HasPrefix(refName, RemotePrefix) || refName == "/refs/stash" { continue }
-
-
-
@@ -29,7 +29,7 @@ func GetCommitGraph(r *git.Repository, page int, maxAllowedColors int, hidePRRefargs = append(args, "--graph", "--date-order", "--decorate=full") if hidePRRefs { args = append(args, "--exclude=refs/pull/*") args = append(args, "--exclude="+git.PullPrefix+"*") } if len(branches) == 0 {
-
-
-
@@ -8,6 +8,8 @@ package migrationimport ( "fmt" "time" "code.gitea.io/gitea/modules/git" ) // PullRequest defines a standard pull request information
-
@@ -43,7 +45,7 @@ func (p *PullRequest) IsForkPullRequest() bool {// GetGitRefName returns pull request relative path to head func (p PullRequest) GetGitRefName() string { return fmt.Sprintf("refs/pull/%d/head", p.Number) return fmt.Sprintf(git.PullPrefix+"%d/head", p.Number) } // PullRequestBranch represents a pull request branch
-
-
-
@@ -104,7 +104,7 @@ func Graph(ctx *context.Context) {copy(realBranches, branches) for i, branch := range realBranches { if strings.HasPrefix(branch, "--") { realBranches[i] = "refs/heads/" + branch realBranches[i] = git.BranchPrefix + branch } } ctx.Data["SelectedBranches"] = realBranches
-
-
-
@@ -403,7 +403,7 @@ func SyncPullMirror(ctx context.Context, repoID int64) bool {for _, result := range results { // Discard GitHub pull requests, i.e. refs/pull/* if strings.HasPrefix(result.refName, "refs/pull/") { if strings.HasPrefix(result.refName, git.PullPrefix) { continue }
-
@@ -499,7 +499,7 @@ func checkAndUpdateEmptyRepository(m *models.Mirror, gitRepo *git.Repository, re} firstName := "" for _, result := range results { if strings.HasPrefix(result.refName, "refs/pull/") { if strings.HasPrefix(result.refName, git.PullPrefix) { continue } tp, name := git.SplitRefName(result.refName)
-
-
-
@@ -421,9 +421,9 @@ func rawMerge(pr *models.PullRequest, doer *user_model.User, mergeStyle models.Mvar pushCmd *git.Command if mergeStyle == models.MergeStyleRebaseUpdate { // force push the rebase result to head brach pushCmd = git.NewCommand("push", "-f", "head_repo", stagingBranch+":refs/heads/"+pr.HeadBranch) pushCmd = git.NewCommand("push", "-f", "head_repo", stagingBranch+":"+git.BranchPrefix+pr.HeadBranch) } else { pushCmd = git.NewCommand("push", "origin", baseBranch+":refs/heads/"+pr.BaseBranch) pushCmd = git.NewCommand("push", "origin", baseBranch+":"+git.BranchPrefix+pr.BaseBranch) } // Push back to upstream.
-
-
-
@@ -451,8 +451,8 @@ func pushToBaseRepoHelper(pr *models.PullRequest, prefixHeadBranch string) (errlog.Info("Can't push with %s%s", prefixHeadBranch, pr.HeadBranch) return err } log.Info("Retrying to push with refs/heads/%s", pr.HeadBranch) err = pushToBaseRepoHelper(pr, "refs/heads/") log.Info("Retrying to push with "+git.BranchPrefix+"%s", pr.HeadBranch) err = pushToBaseRepoHelper(pr, git.BranchPrefix) return err } log.Error("Unable to push PR head for %s#%d (%-v:%s) due to Error: %v", pr.BaseRepo.FullName(), pr.Index, pr.BaseRepo, gitRefName, err)
-
-
-
@@ -152,8 +152,8 @@ func RenameBranch(repo *models.Repository, doer *user_model.User, gitRepo *git.Rreturn "", err } notification.NotifyDeleteRef(doer, repo, "branch", "refs/heads/"+from) notification.NotifyCreateRef(doer, repo, "branch", "refs/heads/"+to) notification.NotifyDeleteRef(doer, repo, "branch", git.BranchPrefix+from) notification.NotifyCreateRef(doer, repo, "branch", git.BranchPrefix+to) return "", nil }
-
-
-
@@ -266,7 +266,7 @@ func (t *TemporaryUploadRepository) Push(doer *user_model.User, commitHash strinenv := models.PushingEnvironment(doer, t.repo) if err := git.Push(t.gitRepo.Ctx, t.basePath, git.PushOptions{ Remote: t.repo.RepoPath(), Branch: strings.TrimSpace(commitHash) + ":refs/heads/" + strings.TrimSpace(branch), Branch: strings.TrimSpace(commitHash) + ":" + git.BranchPrefix + strings.TrimSpace(branch), Env: env, }); err != nil { if git.IsErrPushOutOfDate(err) {
-