##// END OF EJS Templates
copies: explain the "arbitrary" copy source pick in case of conflict...
marmoute -
r46775:1d6aac94 default
parent child Browse files
Show More
@@ -1427,11 +1427,6 b' Merge:'
1427 This case is similar to BF/FB, but an actual merge happens, so both side of the
1427 This case is similar to BF/FB, but an actual merge happens, so both side of the
1428 history are relevant.
1428 history are relevant.
1429
1429
1430 Note:
1431 | In this case, the merge get conflicting information since on one side we have
1432 | "a -> c -> d". and one the other one we have "h -> i -> d".
1433 |
1434 | The current code arbitrarily pick one side
1435
1430
1436 $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
1431 $ hg log -G --rev '::(desc("mGFm")+desc("mFGm"))'
1437 o 29 mGFm-0 simple merge - the other way
1432 o 29 mGFm-0 simple merge - the other way
@@ -1450,6 +1445,33 b' Note:'
1450 |
1445 |
1451 o 0 i-0 initial commit: a b h
1446 o 0 i-0 initial commit: a b h
1452
1447
1448
1449 Note:
1450 | In this case, the merge get conflicting information since on one side we have
1451 | "a -> c -> d". and one the other one we have "h -> i -> d".
1452 |
1453 | The current code arbitrarily pick one side depending the ordering of the merged hash:
1454
1455 In this case, the file hash from "f-2" is lower, so it will be `p1` of the resulting filenode its copy tracing information will win (and trace back to "h"):
1456
1457 Details on this hash ordering pick:
1458
1459 $ hg manifest --debug 'desc("g-1")' | egrep 'd$'
1460 f2b277c39e0d2bbac99d8aae075c0d8b5304d266 644 d (no-changeset !)
1461 4ff57b4e8dceedb487e70e6965ea188a7c042cca 644 d (changeset !)
1462 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("g-1")' d
1463 A d
1464 a (no-changeset no-compatibility !)
1465
1466 $ hg manifest --debug 'desc("f-2")' | egrep 'd$'
1467 4a067cf8965d1bfff130057ade26b44f580231be 644 d (no-changeset !)
1468 fe6f8b4f507fe3eb524c527192a84920a4288dac 644 d (changeset !)
1469 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("f-2")' d
1470 A d
1471 h (no-changeset no-compatibility !)
1472
1473 Copy tracing data on the resulting merge:
1474
1453 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFGm-0")'
1475 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mFGm-0")'
1454 A d
1476 A d
1455 h
1477 h
General Comments 0
You need to be logged in to leave comments. Login now