[Updated] D8840: rename: add support for --at-rev, which marks as copy and removes the source
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Sat Aug 8 21:02:57 UTC 2020
Closed by commit rHG5178dd2233d0: rename: add support for --at-rev, which marks as copy and removes the source (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.
CHANGED PRIOR TO COMMIT
https://phab.mercurial-scm.org/D8840?vs=22314&id=22369#toc
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D8840?vs=22314&id=22369
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D8840/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D8840
AFFECTED FILES
mercurial/commands.py
relnotes/next
tests/test-completion.t
tests/test-rename-rev.t
CHANGE DETAILS
diff --git a/tests/test-rename-rev.t b/tests/test-rename-rev.t
--- a/tests/test-rename-rev.t
+++ b/tests/test-rename-rev.t
@@ -43,7 +43,7 @@
A d1/d
d1/b
-Test moved file (not copied)
+Test moved file (not copied) using 'hg cp' command
$ hg co 0
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
@@ -59,10 +59,40 @@
d1/b
R d1/b
+Test moved file (not copied) using 'hg mv' command
+
+ $ hg co 0
+ 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mv d1/b d1/d
+ $ hg rm -A d1/b
+ $ hg add d1/d
+ $ hg ci -m 'move d1/b to d1/d'
+ created new head
+ $ hg mv -A --at-rev . d1/b d1/d
+ saved backup bundle to $TESTTMP/.hg/strip-backup/519850c3ea27-153c8fbb-copy.hg
+ $ hg st -C --change .
+ A d1/d
+ d1/b
+ R d1/b
+
+Test moved file (not copied) for which source still exists
+
+ $ hg co 0
+ 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ cp d1/b d1/d
+ $ hg add d1/d
+ $ hg ci -m 'copy d1/b to d1/d'
+ created new head
+ $ hg mv -A --at-rev . d1/b d1/d
+ saved backup bundle to $TESTTMP/.hg/strip-backup/c8d0f6bcf7ca-1c9bb53e-copy.hg
+ $ hg st -C --change .
+ A d1/d
+ d1/b
+
Test using directory as destination
$ hg co 0
- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ cp -R d1 d3
$ hg add d3
adding d3/a
diff --git a/tests/test-completion.t b/tests/test-completion.t
--- a/tests/test-completion.t
+++ b/tests/test-completion.t
@@ -353,7 +353,7 @@
push: force, rev, bookmark, branch, new-branch, pushvars, publish, ssh, remotecmd, insecure
recover: verify
remove: after, force, subrepos, include, exclude, dry-run
- rename: after, force, include, exclude, dry-run
+ rename: after, at-rev, force, include, exclude, dry-run
resolve: all, list, mark, unmark, no-status, re-merge, tool, include, exclude, template
revert: all, date, rev, no-backup, interactive, include, exclude, dry-run
rollback: dry-run, force
diff --git a/relnotes/next b/relnotes/next
--- a/relnotes/next
+++ b/relnotes/next
@@ -1,5 +1,9 @@
== New Features ==
+ * `hg mv -A` can now be used with `--at-rev`. It behaves just like
+ `hg cp -A --at-rev`, i.e. it marks the destination as a copy of the
+ source whether or not the source still exists (but the source must
+ exist in the parent revision).
== New Experimental Features ==
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -5781,6 +5781,13 @@
[
(b'A', b'after', None, _(b'record a rename that has already occurred')),
(
+ b'',
+ b'at-rev',
+ b'',
+ _(b'(un)mark renames in the given revision (EXPERIMENTAL)'),
+ _(b'REV'),
+ ),
+ (
b'f',
b'force',
None,
To: martinvonz, #hg-reviewers, indygreg
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20200808/d6be91d8/attachment-0002.html>
More information about the Mercurial-patches
mailing list