This will make its role clearer.
Details
Details
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
( )
This will make its role clearer.
Automatic diff as part of commit; lint not applicable. |
Automatic diff as part of commit; unit tests not applicable. |
Path | Packages | |||
---|---|---|---|---|
M | tests/test-copies-chain-merge.t (14 lines) |
o 0 i-0 initial commit: a b h | o 0 i-0 initial commit: a b h | ||||
Merge: | Merge: | ||||
- one with change to an unrelated file (b) | - one with change to an unrelated file (b) | ||||
- one overwriting a file (d) with a rename (from h to i to d) | - one overwriting a file (d) with a rename (from h to i to d) | ||||
$ case_desc="simple merge" | $ case_desc="simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d)" | ||||
$ hg up 'desc("i-2")' | $ hg up 'desc("i-2")' | ||||
2 files updated, 0 files merged, 1 files removed, 0 files unresolved | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg mv h i | $ hg mv h i | ||||
$ hg commit -m "f-1: rename h -> i" | $ hg commit -m "f-1: rename h -> i" | ||||
created new head | created new head | ||||
$ hg mv --force i d | $ hg mv --force i d | ||||
$ hg commit -m "f-2: rename i -> d" | $ hg commit -m "f-2: rename i -> d" | ||||
$ hg up 'desc("f-2")' | $ hg up 'desc("f-2")' | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg merge 'desc("b-1")' | $ hg merge 'desc("b-1")' | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | (branch merge, don't forget to commit) | ||||
$ hg ci -m "mFBm-0 $case_desc - the other way" | $ hg ci -m "mFBm-0 $case_desc - the other way" | ||||
created new head | created new head | ||||
$ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' | $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' | ||||
@ 24 mFBm-0 simple merge - the other way | @ 24 mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way | ||||
|\ | |\ | ||||
+---o 23 mBFm-0 simple merge - one way | +---o 23 mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way | ||||
| |/ | | |/ | ||||
| o 22 f-2: rename i -> d | | o 22 f-2: rename i -> d | ||||
| | | | | | ||||
| o 21 f-1: rename h -> i | | o 21 f-1: rename h -> i | ||||
| | | | | | ||||
o | 5 b-1: b update | o | 5 b-1: b update | ||||
|/ | |/ | ||||
o 2 i-2: c -move-> d | o 2 i-2: c -move-> d | ||||
i-2: c -move-> d | i-2: c -move-> d | ||||
mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way | mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way | ||||
mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way | mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way | ||||
mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way | mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way | ||||
mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way | mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way | ||||
mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way | mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way | ||||
mBCm-1 re-add d | mBCm-1 re-add d | ||||
mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way | mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way | ||||
mBFm-0 simple merge - one way | mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way | ||||
mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way | mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way | ||||
mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way | mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way | ||||
mCBm-1 re-add d | mCBm-1 re-add d | ||||
mCGm-0 merge updated/deleted - revive the file (updated content) - one way | mCGm-0 merge updated/deleted - revive the file (updated content) - one way | ||||
mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way | mCH-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - one way | ||||
mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way | mDBm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - the other way | ||||
mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way | mDGm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - one way | ||||
mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way | mEAm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - the other way | ||||
mFBm-0 simple merge - the other way | mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way | ||||
mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way | mFGm-0 merge - G side: content change, F side: copy overwrite, no content change - one way | ||||
mGCm-0 merge updated/deleted - revive the file (updated content) - the other way | mGCm-0 merge updated/deleted - revive the file (updated content) - the other way | ||||
mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way | mGDm-0 actual content merge, copies on one side - D side: delete and re-add (different content), G side: update content - the other way | ||||
mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way | mGFm-0 merge - G side: content change, F side: copy overwrite, no content change - the other way | ||||
mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way | mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way | ||||
Test that sidedata computations during upgrades are correct | Test that sidedata computations during upgrades are correct | ||||
| This lead to bad copy tracing information to be dug up. | | This lead to bad copy tracing information to be dug up. | ||||
Merge: | Merge: | ||||
- one with change to an unrelated file (b) | - one with change to an unrelated file (b) | ||||
- one overwriting a file (d) with a rename (from h to i to d) | - one overwriting a file (d) with a rename (from h to i to d) | ||||
$ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' | $ hg log -G --rev '::(desc("mBFm")+desc("mFBm"))' | ||||
o 24 mFBm-0 simple merge - the other way | o 24 mFBm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - the other way | ||||
|\ | |\ | ||||
+---o 23 mBFm-0 simple merge - one way | +---o 23 mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way | ||||
| |/ | | |/ | ||||
| o 22 f-2: rename i -> d | | o 22 f-2: rename i -> d | ||||
| | | | | | ||||
| o 21 f-1: rename h -> i | | o 21 f-1: rename h -> i | ||||
| | | | | | ||||
o | 5 b-1: b update | o | 5 b-1: b update | ||||
|/ | |/ | ||||
o 2 i-2: c -move-> d | o 2 i-2: c -move-> d |