@@ -96,6 +96,7 @@ type mirrorSyncResult struct {
96
96
/*
97
97
// * [new tag] v0.1.8 -> v0.1.8
98
98
// * [new branch] master -> origin/master
99
+ // * [new ref] refs/pull/2/head -> refs/pull/2/head"
99
100
// - [deleted] (none) -> origin/test // delete a branch
100
101
// - [deleted] (none) -> 1 // delete a tag
101
102
// 957a993..a87ba5f test -> origin/test
@@ -126,6 +127,11 @@ func parseRemoteUpdateOutput(output, remoteName string) []*mirrorSyncResult {
126
127
refName : git .RefNameFromBranch (refName ),
127
128
oldCommitID : gitShortEmptySha ,
128
129
})
130
+ case strings .HasPrefix (lines [i ], " * [new ref]" ): // new reference
131
+ results = append (results , & mirrorSyncResult {
132
+ refName : git .RefName (refName ),
133
+ oldCommitID : gitShortEmptySha ,
134
+ })
129
135
case strings .HasPrefix (lines [i ], " - " ): // Delete reference
130
136
isTag := ! strings .HasPrefix (refName , remoteName + "/" )
131
137
var refFullName git.RefName
@@ -168,8 +174,15 @@ func parseRemoteUpdateOutput(output, remoteName string) []*mirrorSyncResult {
168
174
log .Error ("Expect two SHAs but not what found: %q" , lines [i ])
169
175
continue
170
176
}
177
+ var refFullName git.RefName
178
+ if strings .HasPrefix (refName , "refs/" ) {
179
+ refFullName = git .RefName (refName )
180
+ } else {
181
+ refFullName = git .RefNameFromBranch (strings .TrimPrefix (refName , remoteName + "/" ))
182
+ }
183
+
171
184
results = append (results , & mirrorSyncResult {
172
- refName : git . RefNameFromBranch ( strings . TrimPrefix ( refName , remoteName + "/" )) ,
185
+ refName : refFullName ,
173
186
oldCommitID : shas [0 ],
174
187
newCommitID : shas [1 ],
175
188
})
0 commit comments