Mercurial > hg
view tests/test-rebase-templates.t @ 44365:7c4b98a4e536
copy: add experimetal support for unmarking committed copies
The simplest way I'm aware of to unmark a file as copied after
committing is this:
hg uncommit --keep <dest>
hg forget <dest>
hg add <dest>
hg amend
This patch teaches `hg copy --forget` a `-r` argument to simplify that into:
hg copy --forget --at-rev . <dest>
In addition to being simpler, it doesn't touch the working copy, so it
can easily be used even if the destination file has been modified in
the working copy.
I'll teach `hg copy` without `--forget` to work with `--at-rev` next.
Differential Revision: https://phab.mercurial-scm.org/D8030
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 28 Jan 2020 14:07:57 -0800 |
parents | 43c84b816445 |
children | 96fcc37a9c80 |
line wrap: on
line source
Testing templating for rebase command Setup $ cat >> $HGRCPATH <<EOF > [extensions] > rebase= > [experimental] > evolution=createmarkers > EOF $ hg init repo $ cd repo $ for ch in a b c d; do echo foo > $ch; hg commit -Aqm "Added "$ch; done $ hg log -G -T "{rev}:{node|short} {desc}" @ 3:62615734edd5 Added d | o 2:28ad74487de9 Added c | o 1:29becc82797a Added b | o 0:18d04c59bb5d Added a Getting the JSON output for nodechanges $ hg rebase -s 2 -d 0 -q -Tjson [ { "nodechanges": {"28ad74487de9599d00d81085be739c61fc340652": ["849767420fd5519cf0026232411a943ed03cc9fb"], "62615734edd52f06b6fb9c2beb429e4fe30d57b8": ["df21b32134ba85d86bca590cbe9b8b7cbc346c53"]} } ] $ hg log -G -T "{rev}:{node|short} {desc}" @ 5:df21b32134ba Added d | o 4:849767420fd5 Added c | | o 1:29becc82797a Added b |/ o 0:18d04c59bb5d Added a $ hg rebase -s 1 -d 5 -q -T "{nodechanges|json}" {"29becc82797a4bc11ec8880b58eaecd2ab3e7760": ["d9d6773efc831c274eace04bc13e8e6412517139"]} (no-eol) $ hg log -G -T "{rev}:{node|short} {desc}" o 6:d9d6773efc83 Added b | @ 5:df21b32134ba Added d | o 4:849767420fd5 Added c | o 0:18d04c59bb5d Added a $ hg rebase -s 6 -d 4 -q -T "{nodechanges % '{oldnode}:{newnodes % ' {node} '}'}" d9d6773efc831c274eace04bc13e8e6412517139: f48cd65c6dc3d2acb55da54402a5b029546e546f (no-eol) $ hg log -G -T "{rev}:{node|short} {desc}" o 7:f48cd65c6dc3 Added b | | @ 5:df21b32134ba Added d |/ o 4:849767420fd5 Added c | o 0:18d04c59bb5d Added a $ hg rebase -s 7 -d 5 -q --keep -T "{nodechanges % '{oldnode}:{newnodes % ' {node} '}'}" f48cd65c6dc3d2acb55da54402a5b029546e546f: 6f7dda91e55e728fb798f3e44dbecf0ebaa83267 (no-eol) $ hg log -G -T "{rev}:{node|short} {desc}" o 8:6f7dda91e55e Added b | | o 7:f48cd65c6dc3 Added b | | @ | 5:df21b32134ba Added d |/ o 4:849767420fd5 Added c | o 0:18d04c59bb5d Added a