##// END OF EJS Templates
graft: fix graft across merges of duplicates of grafted changes...
Mads Kiilerich -
r32242:b4e1e305 stable
parent child Browse files
Show More
@@ -2295,7 +2295,9 b' def _dograft(ui, repo, *revs, **opts):'
2295 # check ancestors for earlier grafts
2295 # check ancestors for earlier grafts
2296 ui.debug('scanning for duplicate grafts\n')
2296 ui.debug('scanning for duplicate grafts\n')
2297
2297
2298 for rev in repo.changelog.findmissingrevs(revs, [crev]):
2298 # The only changesets we can be sure doesn't contain grafts of any
2299 # revs, are the ones that are common ancestors of *all* revs:
2300 for rev in repo.revs('only(%d,ancestor(%ld))', crev, revs):
2299 ctx = repo[rev]
2301 ctx = repo[rev]
2300 n = ctx.extra().get('source')
2302 n = ctx.extra().get('source')
2301 if n in ids:
2303 if n in ids:
@@ -1341,16 +1341,15 b' Grafting of plain changes correctly dete'
1341 skipping already grafted revision 5:43e9eb70dab0 (was grafted from 4:6c9a1289e5f1)
1341 skipping already grafted revision 5:43e9eb70dab0 (was grafted from 4:6c9a1289e5f1)
1342 grafting 2:42127f193bcd "b"
1342 grafting 2:42127f193bcd "b"
1343
1343
1344 Extending the graft range to include a merge will unfortunately make us miss
1344 Extending the graft range to include a (skipped) merge of 3 will not prevent us from
1345 that 3 and 5 should be skipped:
1345 also detecting that both 3 and 5 should be skipped:
1346
1346
1347 $ hg up -qCr 4
1347 $ hg up -qCr 4
1348 $ hg graft --tool :local -r 2::7
1348 $ hg graft --tool :local -r 2::7
1349 skipping ungraftable merge revision 6
1349 skipping ungraftable merge revision 6
1350 skipping already grafted revision 3:ca093ca2f1d9 (was grafted from 1:13ec5badbf2a)
1350 skipping already grafted revision 5:43e9eb70dab0 (was grafted from 4:6c9a1289e5f1)
1351 skipping already grafted revision 5:43e9eb70dab0 (was grafted from 4:6c9a1289e5f1)
1351 grafting 2:42127f193bcd "b"
1352 grafting 2:42127f193bcd "b"
1352 grafting 3:ca093ca2f1d9 "x"
1353 note: graft of 3:ca093ca2f1d9 created no changes to commit
1354 grafting 7:d3c3f2b38ecc "xx"
1353 grafting 7:d3c3f2b38ecc "xx"
1355 note: graft of 7:d3c3f2b38ecc created no changes to commit
1354 note: graft of 7:d3c3f2b38ecc created no changes to commit
1356
1355
General Comments 0
You need to be logged in to leave comments. Login now