mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	Backport #33224 by lunny Fix #33200 Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		@@ -20,6 +20,8 @@ func TestRefName(t *testing.T) {
 | 
			
		||||
 | 
			
		||||
	// Test pull names
 | 
			
		||||
	assert.Equal(t, "1", RefName("refs/pull/1/head").PullName())
 | 
			
		||||
	assert.True(t, RefName("refs/pull/1/head").IsPull())
 | 
			
		||||
	assert.True(t, RefName("refs/pull/1/merge").IsPull())
 | 
			
		||||
	assert.Equal(t, "my/pull", RefName("refs/pull/my/pull/head").PullName())
 | 
			
		||||
 | 
			
		||||
	// Test for branch names
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,7 @@ type mirrorSyncResult struct {
 | 
			
		||||
/*
 | 
			
		||||
// * [new tag]         v0.1.8     -> v0.1.8
 | 
			
		||||
// * [new branch]      master     -> origin/master
 | 
			
		||||
// * [new ref]         refs/pull/2/head  -> refs/pull/2/head"
 | 
			
		||||
// - [deleted]         (none)     -> origin/test // delete a branch
 | 
			
		||||
// - [deleted]         (none)     -> 1 // delete a tag
 | 
			
		||||
//   957a993..a87ba5f  test       -> origin/test
 | 
			
		||||
@@ -127,6 +128,11 @@ func parseRemoteUpdateOutput(output, remoteName string) []*mirrorSyncResult {
 | 
			
		||||
				refName:     git.RefNameFromBranch(refName),
 | 
			
		||||
				oldCommitID: gitShortEmptySha,
 | 
			
		||||
			})
 | 
			
		||||
		case strings.HasPrefix(lines[i], " * [new ref]"): // new reference
 | 
			
		||||
			results = append(results, &mirrorSyncResult{
 | 
			
		||||
				refName:     git.RefName(refName),
 | 
			
		||||
				oldCommitID: gitShortEmptySha,
 | 
			
		||||
			})
 | 
			
		||||
		case strings.HasPrefix(lines[i], " - "): // Delete reference
 | 
			
		||||
			isTag := !strings.HasPrefix(refName, remoteName+"/")
 | 
			
		||||
			var refFullName git.RefName
 | 
			
		||||
@@ -169,8 +175,15 @@ func parseRemoteUpdateOutput(output, remoteName string) []*mirrorSyncResult {
 | 
			
		||||
				log.Error("Expect two SHAs but not what found: %q", lines[i])
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
			var refFullName git.RefName
 | 
			
		||||
			if strings.HasPrefix(refName, "refs/") {
 | 
			
		||||
				refFullName = git.RefName(refName)
 | 
			
		||||
			} else {
 | 
			
		||||
				refFullName = git.RefNameFromBranch(strings.TrimPrefix(refName, remoteName+"/"))
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			results = append(results, &mirrorSyncResult{
 | 
			
		||||
				refName:     git.RefNameFromBranch(strings.TrimPrefix(refName, remoteName+"/")),
 | 
			
		||||
				refName:     refFullName,
 | 
			
		||||
				oldCommitID: shas[0],
 | 
			
		||||
				newCommitID: shas[1],
 | 
			
		||||
			})
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user