Mercurial > hg
view relnotes/next @ 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 | 8be0c63535b5 |
children | 9dab3fa64325 |
line wrap: on
line source
== New Features == * `hg purge`/`hg clean` can now delete ignored files instead of untracked files, with the new -i flag. * `hg log` now defaults to using an '%' symbol for commits involved in unresolved merge conflicts. That includes unresolved conflicts caused by e.g. `hg update --merge` and `hg graft`. '@' still takes precedence, so what used to be marked '@' still is. * New `conflictlocal()` and `conflictother()` revsets return the commits that are being merged, when there are conflicts. Also works for conflicts caused by e.g. `hg graft`. * `hg copy --forget` can be used to unmark a file as copied. == New Experimental Features == * Use `hg copy --forget --at-rev REV` to unmark already committed copies. == Bug Fixes == == Backwards Compatibility Changes == * When `hg rebase` pauses for merge conflict resolution, the working copy will no longer have the rebased node as a second parent. You can use the new `conflictparents()` revset for finding the other parent during a conflict. == Internal API Changes == * The deprecated `ui.progress()` has now been deleted. Please use `ui.makeprogress()` instead. * `hg.merge()` has lost its `abort` argument. Please call `hg.abortmerge()` directly instead. * The `*others` argument of `cmdutil.check_incompatible_arguments()` changed from being varargs argument to being a single collection.