@@ -87,6 +87,7 @@ type mirrorSyncResult struct {
87
87
/*
88
88
// * [new tag] v0.1.8 -> v0.1.8
89
89
// * [new branch] master -> origin/master
90
+ // * [new ref] refs/pull/2/head -> refs/pull/2/head"
90
91
// - [deleted] (none) -> origin/test // delete a branch
91
92
// - [deleted] (none) -> 1 // delete a tag
92
93
// 957a993..a87ba5f test -> origin/test
@@ -117,6 +118,11 @@ func parseRemoteUpdateOutput(output, remoteName string) []*mirrorSyncResult {
117
118
refName : git .RefNameFromBranch (refName ),
118
119
oldCommitID : gitShortEmptySha ,
119
120
})
121
+ case strings .HasPrefix (lines [i ], " * [new ref]" ): // new reference
122
+ results = append (results , & mirrorSyncResult {
123
+ refName : git .RefName (refName ),
124
+ oldCommitID : gitShortEmptySha ,
125
+ })
120
126
case strings .HasPrefix (lines [i ], " - " ): // Delete reference
121
127
isTag := ! strings .HasPrefix (refName , remoteName + "/" )
122
128
var refFullName git.RefName
@@ -159,8 +165,15 @@ func parseRemoteUpdateOutput(output, remoteName string) []*mirrorSyncResult {
159
165
log .Error ("Expect two SHAs but not what found: %q" , lines [i ])
160
166
continue
161
167
}
168
+ var refFullName git.RefName
169
+ if strings .HasPrefix (refName , "refs/" ) {
170
+ refFullName = git .RefName (refName )
171
+ } else {
172
+ refFullName = git .RefNameFromBranch (strings .TrimPrefix (refName , remoteName + "/" ))
173
+ }
174
+
162
175
results = append (results , & mirrorSyncResult {
163
- refName : git . RefNameFromBranch ( strings . TrimPrefix ( refName , remoteName + "/" )) ,
176
+ refName : refFullName ,
164
177
oldCommitID : shas [0 ],
165
178
newCommitID : shas [1 ],
166
179
})
0 commit comments