##// END OF EJS Templates
rebase: do not crash rebasing merge with a parent having hidden successor...
Jun Wu -
r34094:8a8e7a94 default
parent child Browse files
Show More
@@ -1072,7 +1072,8 b' def defineparents(repo, rev, destmap, st'
1072 The new parents of a merge is slightly more complicated. See the comment
1072 The new parents of a merge is slightly more complicated. See the comment
1073 block below.
1073 block below.
1074 """
1074 """
1075 cl = repo.changelog
1075 # use unfiltered changelog since successorrevs may return filtered nodes
1076 cl = repo.unfiltered().changelog
1076 def isancestor(a, b):
1077 def isancestor(a, b):
1077 # take revision numbers instead of nodes
1078 # take revision numbers instead of nodes
1078 if a == b:
1079 if a == b:
@@ -1267,3 +1267,37 b' parent gets moved:'
1267 |/
1267 |/
1268 o A
1268 o A
1269
1269
1270 Rebasing a merge with one of its parent having a hidden successor
1271
1272 $ hg init $TESTTMP/merge-p1-hidden-successor
1273 $ cd $TESTTMP/merge-p1-hidden-successor
1274
1275 $ hg debugdrawdag <<'EOS'
1276 > E
1277 > |
1278 > B3 B2 # amend: B1 -> B2 -> B3
1279 > |/ # B2 is hidden
1280 > | D
1281 > | |\
1282 > | B1 C
1283 > |/
1284 > A
1285 > EOS
1286
1287 $ eval `hg tags -T '{tag}={node}\n'`
1288 $ rm .hg/localtags
1289
1290 $ hg rebase -r $D -d $E
1291 rebasing 5:9e62094e4d94 "D"
1292
1293 $ hg log -G
1294 o 7:a699d059adcf D
1295 |\
1296 | o 6:ecc93090a95c E
1297 | |
1298 | o 4:0dc878468a23 B3
1299 | |
1300 o | 1:96cc3511f894 C
1301 /
1302 o 0:426bada5c675 A
1303
General Comments 0
You need to be logged in to leave comments. Login now