D8035: copy: add experimental support for marking committed copies
Closed by commit rHG9dab3fa64325: copy: add experimental support for marking committed copies (authored by martinvonz). This revision was automatically updated to reflect the committed changes. This revision was not accepted when it landed; it landed in state "Needs Review". REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D8035?vs=20233&id=20244 CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D8035/new/ REVISION DETAIL https://phab.mercurial-scm.org/D8035 AFFECTED FILES mercurial/cmdutil.py mercurial/commands.py relnotes/next tests/test-rename-after-merge.t tests/test-rename-rev.t tests/test-rename.t CHANGE DETAILS diff --git a/tests/test-rename.t b/tests/test-rename-rev.t copy from tests/test-rename.t copy to tests/test-rename-rev.t --- a/tests/test-rename.t +++ b/tests/test-rename-rev.t @@ -6,693 +6,51 @@ $ echo d1/b > d1/b $ echo d2/b > d2/b $ hg add d1/a d1/b d1/ba d1/d11/a1 d2/b - $ hg commit -m "1" - -rename a single file - - $ hg rename d1/d11/a1 d2/c - $ hg --config ui.portablefilenames=abort rename d1/a d1/con.xml - abort: filename contains 'con', which is reserved on Windows: d1/con.xml - [255] - $ hg sum - parent: 0:9b4b6e7b2c26 tip - 1 - branch: default - commit: 1 renamed - update: (current) - phases: 1 draft - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename a single file using absolute paths - - $ hg rename `pwd`/d1/d11/a1 `pwd`/d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c + $ hg commit -m "intial" -rename --after a single file - $ mv d1/d11/a1 d2/c - $ hg rename --after d1/d11/a1 d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename --after a single file when src and tgt already tracked - - $ mv d1/d11/a1 d2/c - $ hg addrem -s 0 - removing d1/d11/a1 - adding d2/c - $ hg rename --after d1/d11/a1 d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename --after a single file to a nonexistent target filename - - $ hg rename --after d1/a dummy - d1/a: not recording move - dummy does not exist - [1] - -move a single file to an existing directory +Test single file - $ hg rename d1/d11/a1 d2 - $ hg status -C - A d2/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/a1 - -move --after a single file to an existing directory - - $ mv d1/d11/a1 d2 - $ hg rename --after d1/d11/a1 d2 - $ hg status -C - A d2/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/a1 - -rename a file using a relative path - - $ (cd d1/d11; hg rename ../../d2/b e) - $ hg status -C - A d1/d11/e -d2/b - R d2/b - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d1/d11/e - -rename --after a file using a relative path - - $ (cd d1/d11; mv ../../d2/b e; hg rename --after ../../d2/b e) - $ hg status -C - A d1/d11/e -d2/b - R d2/b - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d1/d11/e - -rename directory d1 as d3 - - $ hg rename d1/ d3 - moving d1/a to d3/a - moving d1/b to d3/b - moving d1/ba to d3/ba - moving d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d3/a -d1/a - A d3/b -d1/b - A d3/ba -d1/ba - A d3/d11/a1 -d1/d11/a1 - R d1/a - R d1/b - R d1/ba - R d1/d11/a1 - $ hg update -C - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d3 - -rename --after directory d1 as d3 - - $ mv d1 d3 - $ hg rename --after d1 d3 - moving d1/a to d3/a - moving d1/b to d3/b - moving d1/ba to d3/ba - moving d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d3/a -d1/a - A d3/b +# One recoded copy, one copy to record after commit + $ hg cp d1/b d1/c + $ cp d1/b d1/d + $ hg add d1/d + $ hg ci -m 'copy d1/b to d1/c and d1/d' + $ hg st -C --change . + A d1/c d1/b - A d3/ba -d1/ba - A d3/d11/a1 -d1/d11/a1 - R d1/a - R d1/b - R d1/ba - R d1/d11/a1 - $ hg update -C - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d3 - -move a directory using a relative path - - $ (cd d2; mkdir d3; hg rename ../d1/d11 d3) - moving ../d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d2/d3/d11/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d2/d3 - -move --after a directory using a relative path - - $ (cd
D8035: copy: add experimental support for marking committed copies
martinvonz added a comment. martinvonz updated this revision to Diff 20233. fixed stale uses of -r in commit message and transient code REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D8035?vs=20229&id=20233 BRANCH default CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D8035/new/ REVISION DETAIL https://phab.mercurial-scm.org/D8035 AFFECTED FILES mercurial/cmdutil.py mercurial/commands.py relnotes/next tests/test-rename-after-merge.t tests/test-rename-rev.t tests/test-rename.t CHANGE DETAILS diff --git a/tests/test-rename.t b/tests/test-rename-rev.t copy from tests/test-rename.t copy to tests/test-rename-rev.t --- a/tests/test-rename.t +++ b/tests/test-rename-rev.t @@ -6,693 +6,51 @@ $ echo d1/b > d1/b $ echo d2/b > d2/b $ hg add d1/a d1/b d1/ba d1/d11/a1 d2/b - $ hg commit -m "1" - -rename a single file - - $ hg rename d1/d11/a1 d2/c - $ hg --config ui.portablefilenames=abort rename d1/a d1/con.xml - abort: filename contains 'con', which is reserved on Windows: d1/con.xml - [255] - $ hg sum - parent: 0:9b4b6e7b2c26 tip - 1 - branch: default - commit: 1 renamed - update: (current) - phases: 1 draft - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename a single file using absolute paths - - $ hg rename `pwd`/d1/d11/a1 `pwd`/d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c + $ hg commit -m "intial" -rename --after a single file - $ mv d1/d11/a1 d2/c - $ hg rename --after d1/d11/a1 d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename --after a single file when src and tgt already tracked - - $ mv d1/d11/a1 d2/c - $ hg addrem -s 0 - removing d1/d11/a1 - adding d2/c - $ hg rename --after d1/d11/a1 d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename --after a single file to a nonexistent target filename - - $ hg rename --after d1/a dummy - d1/a: not recording move - dummy does not exist - [1] - -move a single file to an existing directory +Test single file - $ hg rename d1/d11/a1 d2 - $ hg status -C - A d2/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/a1 - -move --after a single file to an existing directory - - $ mv d1/d11/a1 d2 - $ hg rename --after d1/d11/a1 d2 - $ hg status -C - A d2/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/a1 - -rename a file using a relative path - - $ (cd d1/d11; hg rename ../../d2/b e) - $ hg status -C - A d1/d11/e -d2/b - R d2/b - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d1/d11/e - -rename --after a file using a relative path - - $ (cd d1/d11; mv ../../d2/b e; hg rename --after ../../d2/b e) - $ hg status -C - A d1/d11/e -d2/b - R d2/b - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d1/d11/e - -rename directory d1 as d3 - - $ hg rename d1/ d3 - moving d1/a to d3/a - moving d1/b to d3/b - moving d1/ba to d3/ba - moving d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d3/a -d1/a - A d3/b -d1/b - A d3/ba -d1/ba - A d3/d11/a1 -d1/d11/a1 - R d1/a - R d1/b - R d1/ba - R d1/d11/a1 - $ hg update -C - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d3 - -rename --after directory d1 as d3 - - $ mv d1 d3 - $ hg rename --after d1 d3 - moving d1/a to d3/a - moving d1/b to d3/b - moving d1/ba to d3/ba - moving d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d3/a -d1/a - A d3/b +# One recoded copy, one copy to record after commit + $ hg cp d1/b d1/c + $ cp d1/b d1/d + $ hg add d1/d + $ hg ci -m 'copy d1/b to d1/c and d1/d' + $ hg st -C --change . + A d1/c d1/b - A d3/ba -d1/ba - A d3/d11/a1 -d1/d11/a1 - R d1/a - R d1/b - R d1/ba - R d1/d11/a1 - $ hg update -C - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d3 - -move a directory using a relative path - - $ (cd d2; mkdir d3; hg rename ../d1/d11 d3) - moving ../d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d2/d3/d11/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d2/d3 - -move --after a directory using a relative path - - $ (cd d2; mkdir d3; mv ../d1/d11 d3; hg rename --after ../d1/d11 d3) - moving ../d1/d11/a1 to d3/d11/a1 - $ hg status -C -
D8035: copy: add experimental support for marking committed copies
martinvonz edited the summary of this revision. martinvonz updated this revision to Diff 20229. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D8035?vs=20208&id=20229 BRANCH default CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D8035/new/ REVISION DETAIL https://phab.mercurial-scm.org/D8035 AFFECTED FILES mercurial/cmdutil.py mercurial/commands.py relnotes/next tests/test-rename-after-merge.t tests/test-rename-rev.t tests/test-rename.t CHANGE DETAILS diff --git a/tests/test-rename.t b/tests/test-rename-rev.t copy from tests/test-rename.t copy to tests/test-rename-rev.t --- a/tests/test-rename.t +++ b/tests/test-rename-rev.t @@ -6,693 +6,51 @@ $ echo d1/b > d1/b $ echo d2/b > d2/b $ hg add d1/a d1/b d1/ba d1/d11/a1 d2/b - $ hg commit -m "1" - -rename a single file - - $ hg rename d1/d11/a1 d2/c - $ hg --config ui.portablefilenames=abort rename d1/a d1/con.xml - abort: filename contains 'con', which is reserved on Windows: d1/con.xml - [255] - $ hg sum - parent: 0:9b4b6e7b2c26 tip - 1 - branch: default - commit: 1 renamed - update: (current) - phases: 1 draft - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename a single file using absolute paths - - $ hg rename `pwd`/d1/d11/a1 `pwd`/d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c + $ hg commit -m "intial" -rename --after a single file - $ mv d1/d11/a1 d2/c - $ hg rename --after d1/d11/a1 d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename --after a single file when src and tgt already tracked - - $ mv d1/d11/a1 d2/c - $ hg addrem -s 0 - removing d1/d11/a1 - adding d2/c - $ hg rename --after d1/d11/a1 d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename --after a single file to a nonexistent target filename - - $ hg rename --after d1/a dummy - d1/a: not recording move - dummy does not exist - [1] - -move a single file to an existing directory +Test single file - $ hg rename d1/d11/a1 d2 - $ hg status -C - A d2/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/a1 - -move --after a single file to an existing directory - - $ mv d1/d11/a1 d2 - $ hg rename --after d1/d11/a1 d2 - $ hg status -C - A d2/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/a1 - -rename a file using a relative path - - $ (cd d1/d11; hg rename ../../d2/b e) - $ hg status -C - A d1/d11/e -d2/b - R d2/b - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d1/d11/e - -rename --after a file using a relative path - - $ (cd d1/d11; mv ../../d2/b e; hg rename --after ../../d2/b e) - $ hg status -C - A d1/d11/e -d2/b - R d2/b - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d1/d11/e - -rename directory d1 as d3 - - $ hg rename d1/ d3 - moving d1/a to d3/a - moving d1/b to d3/b - moving d1/ba to d3/ba - moving d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d3/a -d1/a - A d3/b -d1/b - A d3/ba -d1/ba - A d3/d11/a1 -d1/d11/a1 - R d1/a - R d1/b - R d1/ba - R d1/d11/a1 - $ hg update -C - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d3 - -rename --after directory d1 as d3 - - $ mv d1 d3 - $ hg rename --after d1 d3 - moving d1/a to d3/a - moving d1/b to d3/b - moving d1/ba to d3/ba - moving d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d3/a -d1/a - A d3/b +# One recoded copy, one copy to record after commit + $ hg cp d1/b d1/c + $ cp d1/b d1/d + $ hg add d1/d + $ hg ci -m 'copy d1/b to d1/c and d1/d' + $ hg st -C --change . + A d1/c d1/b - A d3/ba -d1/ba - A d3/d11/a1 -d1/d11/a1 - R d1/a - R d1/b - R d1/ba - R d1/d11/a1 - $ hg update -C - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d3 - -move a directory using a relative path - - $ (cd d2; mkdir d3; hg rename ../d1/d11 d3) - moving ../d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d2/d3/d11/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d2/d3 - -move --after a directory using a relative path - - $ (cd d2; mkdir d3; mv ../d1/d11 d3; hg rename --after ../d1/d11 d3) - moving ../d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d2/d3/d11/a1 -d1/d11/a1 - R d1/d11/a1
D8035: copy: add experimental support for marking committed copies
martinvonz retitled this revision from "copy: add support for marking committed copies" to "copy: add experimental support for marking committed copies". martinvonz updated this revision to Diff 20208. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D8035?vs=20206&id=20208 BRANCH default CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D8035/new/ REVISION DETAIL https://phab.mercurial-scm.org/D8035 AFFECTED FILES mercurial/cmdutil.py mercurial/commands.py relnotes/next tests/test-rename-after-merge.t tests/test-rename-rev.t tests/test-rename.t CHANGE DETAILS diff --git a/tests/test-rename.t b/tests/test-rename-rev.t copy from tests/test-rename.t copy to tests/test-rename-rev.t --- a/tests/test-rename.t +++ b/tests/test-rename-rev.t @@ -6,693 +6,51 @@ $ echo d1/b > d1/b $ echo d2/b > d2/b $ hg add d1/a d1/b d1/ba d1/d11/a1 d2/b - $ hg commit -m "1" - -rename a single file - - $ hg rename d1/d11/a1 d2/c - $ hg --config ui.portablefilenames=abort rename d1/a d1/con.xml - abort: filename contains 'con', which is reserved on Windows: d1/con.xml - [255] - $ hg sum - parent: 0:9b4b6e7b2c26 tip - 1 - branch: default - commit: 1 renamed - update: (current) - phases: 1 draft - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename a single file using absolute paths - - $ hg rename `pwd`/d1/d11/a1 `pwd`/d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c + $ hg commit -m "intial" -rename --after a single file - $ mv d1/d11/a1 d2/c - $ hg rename --after d1/d11/a1 d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename --after a single file when src and tgt already tracked - - $ mv d1/d11/a1 d2/c - $ hg addrem -s 0 - removing d1/d11/a1 - adding d2/c - $ hg rename --after d1/d11/a1 d2/c - $ hg status -C - A d2/c -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/c - -rename --after a single file to a nonexistent target filename - - $ hg rename --after d1/a dummy - d1/a: not recording move - dummy does not exist - [1] - -move a single file to an existing directory +Test single file - $ hg rename d1/d11/a1 d2 - $ hg status -C - A d2/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/a1 - -move --after a single file to an existing directory - - $ mv d1/d11/a1 d2 - $ hg rename --after d1/d11/a1 d2 - $ hg status -C - A d2/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d2/a1 - -rename a file using a relative path - - $ (cd d1/d11; hg rename ../../d2/b e) - $ hg status -C - A d1/d11/e -d2/b - R d2/b - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d1/d11/e - -rename --after a file using a relative path - - $ (cd d1/d11; mv ../../d2/b e; hg rename --after ../../d2/b e) - $ hg status -C - A d1/d11/e -d2/b - R d2/b - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm d1/d11/e - -rename directory d1 as d3 - - $ hg rename d1/ d3 - moving d1/a to d3/a - moving d1/b to d3/b - moving d1/ba to d3/ba - moving d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d3/a -d1/a - A d3/b -d1/b - A d3/ba -d1/ba - A d3/d11/a1 -d1/d11/a1 - R d1/a - R d1/b - R d1/ba - R d1/d11/a1 - $ hg update -C - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d3 - -rename --after directory d1 as d3 - - $ mv d1 d3 - $ hg rename --after d1 d3 - moving d1/a to d3/a - moving d1/b to d3/b - moving d1/ba to d3/ba - moving d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d3/a -d1/a - A d3/b +# One recoded copy, one copy to record after commit + $ hg cp d1/b d1/c + $ cp d1/b d1/d + $ hg add d1/d + $ hg ci -m 'copy d1/b to d1/c and d1/d' + $ hg st -C --change . + A d1/c d1/b - A d3/ba -d1/ba - A d3/d11/a1 -d1/d11/a1 - R d1/a - R d1/b - R d1/ba - R d1/d11/a1 - $ hg update -C - 4 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d3 - -move a directory using a relative path - - $ (cd d2; mkdir d3; hg rename ../d1/d11 d3) - moving ../d1/d11/a1 to d3/d11/a1 - $ hg status -C - A d2/d3/d11/a1 -d1/d11/a1 - R d1/d11/a1 - $ hg update -C - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ rm -rf d2/d3 - -move --after a directory using a relative path - - $ (cd d2; mkdir d3; mv ../d1/d11 d3; hg rename --after ../d1/d1