For now it is equivalent to the filelog case, but introducing this early helps
make the comings changesets clearer.
Details
Details
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
For now it is equivalent to the filelog case, but introducing this early helps
make the comings changesets clearer.
| Lint Skipped |
| Unit Tests Skipped |
| Path | Packages | |||
|---|---|---|---|---|
| M | tests/test-copies-unrelated.t (25 lines) |
| Commit | Parents | Author | Summary | Date |
|---|---|---|---|---|
| 5de940825704 | e5038a958853 | Pierre-Yves David | Oct 6 2019, 11:36 PM |
| #testcases filelog compatibility changeset | #testcases filelog compatibility changeset sidedata | ||||
| $ cat >> $HGRCPATH << EOF | $ cat >> $HGRCPATH << EOF | ||||
| > [extensions] | > [extensions] | ||||
| > rebase= | > rebase= | ||||
| > [alias] | > [alias] | ||||
| > l = log -G -T '{rev} {desc}\n{files}\n' | > l = log -G -T '{rev} {desc}\n{files}\n' | ||||
| > EOF | > EOF | ||||
| #if compatibility | #if compatibility | ||||
| $ cat >> $HGRCPATH << EOF | $ cat >> $HGRCPATH << EOF | ||||
| > [experimental] | > [experimental] | ||||
| > copies.read-from = compatibility | > copies.read-from = compatibility | ||||
| > EOF | > EOF | ||||
| #endif | #endif | ||||
| #if changeset | #if changeset | ||||
| $ cat >> $HGRCPATH << EOF | $ cat >> $HGRCPATH << EOF | ||||
| > [experimental] | > [experimental] | ||||
| > copies.read-from = changeset-only | > copies.read-from = changeset-only | ||||
| > copies.write-to = changeset-only | > copies.write-to = changeset-only | ||||
| > EOF | > EOF | ||||
| #endif | #endif | ||||
| #if sidedata | |||||
| $ cat >> $HGRCPATH << EOF | |||||
| > [format] | |||||
| > exp-use-copies-side-data-changeset = yes | |||||
| > EOF | |||||
| #endif | |||||
| $ REPONUM=0 | $ REPONUM=0 | ||||
| $ newrepo() { | $ newrepo() { | ||||
| > cd $TESTTMP | > cd $TESTTMP | ||||
| > REPONUM=`expr $REPONUM + 1` | > REPONUM=`expr $REPONUM + 1` | ||||
| > hg init repo-$REPONUM | > hg init repo-$REPONUM | ||||
| > cd repo-$REPONUM | > cd repo-$REPONUM | ||||
| > } | > } | ||||
| | x | | x | ||||
| | o 2 modify x again | | o 2 modify x again | ||||
| |/ x | |/ x | ||||
| o 1 modify x | o 1 modify x | ||||
| | x | | x | ||||
| o 0 add x | o 0 add x | ||||
| x | x | ||||
| $ hg debugpathcopies 0 5 | $ hg debugpathcopies 0 5 | ||||
| x -> y (no-filelog !) | x -> y (no-filelog no-sidedata !) | ||||
| #if no-filelog | #if no-filelog no-sidedata | ||||
| $ hg graft -r 2 | $ hg graft -r 2 | ||||
| grafting 2:* "modify x again" (glob) | grafting 2:* "modify x again" (glob) | ||||
| merging y and x to y | merging y and x to y | ||||
| #else | #else | ||||
| BROKEN: This should succeed and merge the changes from x into y | BROKEN: This should succeed and merge the changes from x into y | ||||
| $ hg graft -r 2 | $ hg graft -r 2 | ||||
| grafting 2:* "modify x again" (glob) | grafting 2:* "modify x again" (glob) | ||||
| file 'x' was deleted in local [local] but was modified in other [graft]. | file 'x' was deleted in local [local] but was modified in other [graft]. | ||||
| | x | | x | ||||
| | o 2 modify x | | o 2 modify x | ||||
| | | x | | | x | ||||
| | o 1 add x | | o 1 add x | ||||
| |/ x | |/ x | ||||
| o 0 base | o 0 base | ||||
| a | a | ||||
| $ hg debugpathcopies 1 5 | $ hg debugpathcopies 1 5 | ||||
| x -> y (no-filelog !) | x -> y (no-filelog no-sidedata !) | ||||
| #if filelog | #if no-filelog no-sidedata | ||||
| $ hg graft -r 2 | |||||
| grafting 2:* "modify x" (glob) | |||||
| merging y and x to y | |||||
| #else | |||||
| BROKEN: This should succeed and merge the changes from x into y | BROKEN: This should succeed and merge the changes from x into y | ||||
| $ hg graft -r 2 | $ hg graft -r 2 | ||||
| grafting 2:* "modify x" (glob) | grafting 2:* "modify x" (glob) | ||||
| file 'x' was deleted in local [local] but was modified in other [graft]. | file 'x' was deleted in local [local] but was modified in other [graft]. | ||||
| 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 | ||||
| abort: unresolved conflicts, can't continue | abort: unresolved conflicts, can't continue | ||||
| (use 'hg resolve' and 'hg graft --continue') | (use 'hg resolve' and 'hg graft --continue') | ||||
| [255] | [255] | ||||
| #else | |||||
| $ hg graft -r 2 | |||||
| grafting 2:* "modify x" (glob) | |||||
| merging y and x to y | |||||
| #endif | #endif | ||||
| $ hg co -qC 2 | $ hg co -qC 2 | ||||
| BROKEN: This should succeed and merge the changes from x into y | BROKEN: This should succeed and merge the changes from x into y | ||||
| $ hg graft -r 5 | $ hg graft -r 5 | ||||
| grafting 5:* "rename x to y"* (glob) | grafting 5:* "rename x to y"* (glob) | ||||
| file 'x' was deleted in other [graft] but was modified in local [local]. | file 'x' was deleted in other [graft] but was modified in local [local]. | ||||
| 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 | ||||