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 .

+3


source to share





All Articles