Show More
@@ -312,7 +312,7 b' def rebase(ui, repo, **opts):' | |||||
312 | collapsedas = None |
|
312 | collapsedas = None | |
313 | if collapsef: |
|
313 | if collapsef: | |
314 | collapsedas = newrev |
|
314 | collapsedas = newrev | |
315 | clearrebased(ui, repo, state, collapsedas) |
|
315 | clearrebased(ui, repo, state, skipped, collapsedas) | |
316 |
|
316 | |||
317 | if currentbookmarks: |
|
317 | if currentbookmarks: | |
318 | updatebookmarks(repo, nstate, currentbookmarks, **opts) |
|
318 | updatebookmarks(repo, nstate, currentbookmarks, **opts) | |
@@ -660,7 +660,7 b' def buildstate(repo, dest, rebaseset, co' | |||||
660 | state[r] = nullmerge |
|
660 | state[r] = nullmerge | |
661 | return repo['.'].rev(), dest.rev(), state |
|
661 | return repo['.'].rev(), dest.rev(), state | |
662 |
|
662 | |||
663 | def clearrebased(ui, repo, state, collapsedas=None): |
|
663 | def clearrebased(ui, repo, state, skipped, collapsedas=None): | |
664 | """dispose of rebased revision at the end of the rebase |
|
664 | """dispose of rebased revision at the end of the rebase | |
665 |
|
665 | |||
666 | If `collapsedas` is not None, the rebase was a collapse whose result if the |
|
666 | If `collapsedas` is not None, the rebase was a collapse whose result if the | |
@@ -669,9 +669,13 b' def clearrebased(ui, repo, state, collap' | |||||
669 | markers = [] |
|
669 | markers = [] | |
670 | for rev, newrev in sorted(state.items()): |
|
670 | for rev, newrev in sorted(state.items()): | |
671 | if newrev >= 0: |
|
671 | if newrev >= 0: | |
672 | if collapsedas is not None: |
|
672 | if rev in skipped: | |
673 |
|
|
673 | succs = () | |
674 | markers.append((repo[rev], (repo[newrev],))) |
|
674 | elif collapsedas is not None: | |
|
675 | succs = (repo[collapsedas],) | |||
|
676 | else: | |||
|
677 | succs = (repo[newrev],) | |||
|
678 | markers.append((repo[rev], succs)) | |||
675 | if markers: |
|
679 | if markers: | |
676 | obsolete.createmarkers(repo, markers) |
|
680 | obsolete.createmarkers(repo, markers) | |
677 | else: |
|
681 | else: |
@@ -166,10 +166,65 b' set.' | |||||
166 | o 0:cd010b8cd998 A |
|
166 | o 0:cd010b8cd998 A | |
167 |
|
167 | |||
168 | $ hg debugobsolete |
|
168 | $ hg debugobsolete | |
169 |
42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 |
|
169 | 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {'date': '*', 'user': 'test'} (glob) | |
|
170 | 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 {'date': '*', 'user': 'test'} (glob) | |||
|
171 | 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {'date': '*', 'user': 'test'} (glob) | |||
|
172 | ||||
|
173 | ||||
|
174 | More complex case were part of the rebase set were already rebased | |||
|
175 | ||||
|
176 | $ hg rebase --rev 'desc(D)' --dest 'desc(H)' | |||
|
177 | $ hg debugobsolete | |||
|
178 | 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {'date': '*', 'user': 'test'} (glob) | |||
170 | 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 {'date': '*', 'user': 'test'} (glob) |
|
179 | 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 {'date': '*', 'user': 'test'} (glob) | |
171 |
32af7686d403cf45b5d95f2d70cebea587ac806a |
|
180 | 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {'date': '*', 'user': 'test'} (glob) | |
172 |
|
181 | 08483444fef91d6224f6655ee586a65d263ad34c cbc07f26687521cecfc9a141bf5ecfc0fd2b8531 0 {'date': '* *', 'user': 'test'} (glob) | ||
|
182 | $ hg log -G | |||
|
183 | @ 11:cbc07f266875 D | |||
|
184 | | | |||
|
185 | | o 10:5ae4c968c6ac C | |||
|
186 | | | | |||
|
187 | | x 9:08483444fef9 D | |||
|
188 | | | | |||
|
189 | | o 8:8877864f1edb B | |||
|
190 | | | | |||
|
191 | o | 7:02de42196ebe H | |||
|
192 | | | | |||
|
193 | | o 6:eea13746799a G | |||
|
194 | |/| | |||
|
195 | o | 5:24b6387c8c8c F | |||
|
196 | | | | |||
|
197 | | o 4:9520eea781bc E | |||
|
198 | |/ | |||
|
199 | o 0:cd010b8cd998 A | |||
|
200 | ||||
|
201 | $ hg rebase --source 'desc(B)' --dest 'tip' | |||
|
202 | $ hg debugobsolete | |||
|
203 | 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {'date': '* *', 'user': 'test'} (glob) | |||
|
204 | 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 {'date': '* *', 'user': 'test'} (glob) | |||
|
205 | 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {'date': '* *', 'user': 'test'} (glob) | |||
|
206 | 08483444fef91d6224f6655ee586a65d263ad34c cbc07f26687521cecfc9a141bf5ecfc0fd2b8531 0 {'date': '* *', 'user': 'test'} (glob) | |||
|
207 | 8877864f1edb05d0e07dc4ba77b67a80a7b86672 b1861c79d66ec3aa1b607ac3c9fb819e38b12238 0 {'date': '* *', 'user': 'test'} (glob) | |||
|
208 | 08483444fef91d6224f6655ee586a65d263ad34c 0 {'date': '* *', 'user': 'test'} (glob) | |||
|
209 | 5ae4c968c6aca831df823664e706c9d4aa34473d dd4be135457a404ce5541de427ae1d98a28f4acd 0 {'date': '* *', 'user': 'test'} (glob) | |||
|
210 | $ hg log --rev 'divergent()' | |||
|
211 | $ hg log -G | |||
|
212 | @ 13:dd4be135457a C | |||
|
213 | | | |||
|
214 | o 12:b1861c79d66e B | |||
|
215 | | | |||
|
216 | o 11:cbc07f266875 D | |||
|
217 | | | |||
|
218 | o 7:02de42196ebe H | |||
|
219 | | | |||
|
220 | | o 6:eea13746799a G | |||
|
221 | |/| | |||
|
222 | o | 5:24b6387c8c8c F | |||
|
223 | | | | |||
|
224 | | o 4:9520eea781bc E | |||
|
225 | |/ | |||
|
226 | o 0:cd010b8cd998 A | |||
|
227 | ||||
173 |
|
228 | |||
174 | $ cd .. |
|
229 | $ cd .. | |
175 |
|
230 | |||
@@ -329,3 +384,4 b' Test multiple root handling' | |||||
329 | |/ |
|
384 | |/ | |
330 | o 0:cd010b8cd998 A |
|
385 | o 0:cd010b8cd998 A | |
331 |
|
386 | |||
|
387 | $ cd .. |
General Comments 0
You need to be logged in to leave comments.
Login now