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