How to push latest remote changes to remote repo (when using mqueues)
The hg book recommends the following workflow for updating mqueue patches when updating a remote repository Link :
hg qpush --all
# QSave is now depricated (according to hg qsave --help). It appears to have been
# depricated since at least 2010. Additionally, QSave is not working in my environment
# due to my organization commit hooks
hg qsave
hg pull
hg update --clean
hg qpush -m -a
The team qsave
says:
> This command is deprecated, use "hg rebase" instead.
What's the new recommended workflow? What I want to do:
- Check code
- Make some commits (maybe, but not necessarily using mqueues)
- Pull the latest changes from the remote repo
- Integrate the changes into my repo. I'm open to a reinstall or merge process, however I want to use some kind of three-way merge tool to resolve conflicts.
Edit: The workflow I'm using now is:
hg qpop --all
hg pullup
hg qpush # repeat until no patches left.
The problem with this workflow is that it generates files .reject
.
I know that I can also do:
hg qpush --all
hg pull --rebase
The problem is I don't know how to undo or undo it as it actually changes my patches. I think it creates a backup, as described in this report: saved backup bundle to /someDirectory/.hg/strip-backup/424323abc42a-backup.hg
.
Edit:
I just did hg pull --rebase
and it worked well ... I think this is what I am going to use in the future. My main disadvantage is that I really would rather merge than rebase. I want to see the real parent of my commits and how I resolved conflicts. Unfortunately I don't think that merging and using mqueues is a compatible workflow. It probably doesn't make sense to pop a patch that has history on top of it ...
Edit:
Thinking about it a little more, I think this is the workflow I'm going to try next time I find out I'm going to have hairy conflicts:
# Convert patches to real commits:
hg qfinish # some args
# Pull remote changes
# Merge remote changes
I think in theory after that I could Rebuild my merges like in senario 7 .
source to share
No one has answered this question yet
Check out similar questions: