[Bug 5669] New: hg qrefresh loses graft metadata
mercurial-bugs at mercurial-scm.org
mercurial-bugs at mercurial-scm.org
Mon Aug 28 16:52:28 UTC 2017
https://bz.mercurial-scm.org/show_bug.cgi?id=5669
Bug ID: 5669
Summary: hg qrefresh loses graft metadata
Product: Mercurial
Version: 4.3
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: bug
Priority: wish
Component: mq
Assignee: bugzilla at mercurial-scm.org
Reporter: dinumarina at gmail.com
CC: mercurial-devel at mercurial-scm.org
Use case:
We have "feature" branches in our repo, merged into "master" and "dev"
branches. Developers commit to "dev" branch and commits are cherrypicked back
to master and feature branches. Developers are undisciplined in committing
separate changesets for the feature branches. So code review has to split a
"dev" commit and graft the parts to the various feature branches. Workflow:
- graft changeset from remote branch
- need to prune some changes from grafted changeset:
- ~ hg qimport -r tip
- do some changes
- ~ hg qrefresh (if no qrefresh, metadata is kept; so loss is taking place
here)
- ~ hg qfinish -a
At this point, graft metadata is lost. The alternate histedit workflow doesn't
lose this metadata.
Alternative workflows:
A) Edit graft before it's committed: it would be great if there was a way for
the graft extension to forgo commit
B) histedit: this works and we use it for the purpose, but is very cumbersome
because of the interactive nature and no thg GUI support; it would be so nice
though if histedit would allow a shortcut option for "edit tip" (I've tried
using --commands with a file containing "edit tip"), but it seems it doesn't
parse revision names, so we need to make a special tool just to run histedit
for tip
In the absence of A) which would be the semantically correct way to do it, I
think the MQ way is the best alternative, if only it didn't lose graft meta.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list