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 (18 lines) |
| Merge: | Merge: | ||||
| - one removing a file (d) | - one removing a file (d) | ||||
| - one updating that file | - one updating that file | ||||
| - the merge keep the modified version of the file (canceling the delete) | - the merge keep the modified version of the file (canceling the delete) | ||||
| In this case, the file keep on living after the merge. So we should not drop its | In this case, the file keep on living after the merge. So we should not drop its | ||||
| copy tracing chain. | copy tracing chain. | ||||
| $ case_desc="merge updated/deleted - revive the file (updated content)" | |||||
| $ hg up 'desc("c-1")' | $ hg up 'desc("c-1")' | ||||
| 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
| $ hg merge 'desc("g-1")' | $ hg merge 'desc("g-1")' | ||||
| file 'd' was deleted in local [working copy] but was modified in other [merge rev]. | file 'd' was deleted in local [working copy] but was modified in other [merge rev]. | ||||
| You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. | You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. | ||||
| What do you want to do? u | What do you want to do? u | ||||
| 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||||
| use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | ||||
| [1] | [1] | ||||
| $ hg resolve -t :other d | $ hg resolve -t :other d | ||||
| (no more unresolved files) | (no more unresolved files) | ||||
| $ hg ci -m "mCGm-0" | $ hg ci -m "mCGm-0 $case_desc - one way" | ||||
| created new head | created new head | ||||
| $ hg up 'desc("g-1")' | $ hg up 'desc("g-1")' | ||||
| 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
| $ hg merge 'desc("c-1")' | $ hg merge 'desc("c-1")' | ||||
| file 'd' was deleted in other [merge rev] but was modified in local [working copy]. | file 'd' was deleted in other [merge rev] but was modified in local [working copy]. | ||||
| You can use (c)hanged version, (d)elete, or leave (u)nresolved. | You can use (c)hanged version, (d)elete, or leave (u)nresolved. | ||||
| What do you want to do? u | What do you want to do? u | ||||
| 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||||
| use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | ||||
| [1] | [1] | ||||
| $ hg resolve -t :local d | $ hg resolve -t :local d | ||||
| (no more unresolved files) | (no more unresolved files) | ||||
| $ hg ci -m "mGCm-0" | $ hg ci -m "mGCm-0 $case_desc - the other way" | ||||
| created new head | created new head | ||||
| $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))' | $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))' | ||||
| @ 31 mGCm-0 | @ 31 mGCm-0 merge updated/deleted - revive the file (updated content) - the other way | ||||
| |\ | |\ | ||||
| +---o 30 mCGm-0 | +---o 30 mCGm-0 merge updated/deleted - revive the file (updated content) - one way | ||||
| | |/ | | |/ | ||||
| | o 25 g-1: update d | | o 25 g-1: update d | ||||
| | | | | | | ||||
| o | 6 c-1 delete d | o | 6 c-1 delete d | ||||
| |/ | |/ | ||||
| o 2 i-2: c -move-> d | o 2 i-2: c -move-> d | ||||
| | | | | ||||
| o 1 i-1: a -move-> c | o 1 i-1: a -move-> c | ||||
| mBC-revert-m-0 | mBC-revert-m-0 | ||||
| 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 - one way | ||||
| mCB-revert-m-0 | mCB-revert-m-0 | ||||
| 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 | mCGm-0 merge updated/deleted - revive the file (updated content) - one way | ||||
| mCH-delete-before-conflict-m-0 | mCH-delete-before-conflict-m-0 | ||||
| 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 - 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 | 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 | mHC-delete-before-conflict-m-0 | ||||
| Test that sidedata computations during upgrades are correct | Test that sidedata computations during upgrades are correct | ||||
| =========================================================== | =========================================================== | ||||
| - one removing a file (d) | - one removing a file (d) | ||||
| - one updating that file | - one updating that file | ||||
| - the merge keep the modified version of the file (canceling the delete) | - the merge keep the modified version of the file (canceling the delete) | ||||
| In this case, the file keep on living after the merge. So we should not drop its | In this case, the file keep on living after the merge. So we should not drop its | ||||
| copy tracing chain. | copy tracing chain. | ||||
| $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))' | $ hg log -G --rev '::(desc("mCGm")+desc("mGCm"))' | ||||
| o 31 mGCm-0 | o 31 mGCm-0 merge updated/deleted - revive the file (updated content) - the other way | ||||
| |\ | |\ | ||||
| +---o 30 mCGm-0 | +---o 30 mCGm-0 merge updated/deleted - revive the file (updated content) - one way | ||||
| | |/ | | |/ | ||||
| | o 25 g-1: update d | | o 25 g-1: update d | ||||
| | | | | | | ||||
| o | 6 c-1 delete d | o | 6 c-1 delete d | ||||
| |/ | |/ | ||||
| o 2 i-2: c -move-> d | o 2 i-2: c -move-> d | ||||
| | | | | ||||
| o 1 i-1: a -move-> c | o 1 i-1: a -move-> c | ||||