[PATCH 0 of 1] Adding parent IDs to MQ patch files.

Steve Losh steve at stevelosh.com
Sun Feb 7 17:27:18 CST 2010


This patch is a working implementation of something we've been talking about
at the sprint. There are specific details in the commit message of the patch
itself.

There are a number of places this patch touches that should get cleaned up at
some point:

* mq.patchheader should be a class that can do the following:

    * Parse a patch header and determine the type of header (plain vs. hg) and
      the data that the header contains.
    * Let users of the class change each piece of data.
    * Write a header containing the data in the appropriate format.

* test-mq-header-from and test-mq-header-date should be collapsed into one
  file. There is some overlap in the tests that we can eliminate.

Some of the cool things we'll be able to do once this is in place:

* Add `qpush --refresh` to automatically push and refresh a patch (and
  therefore the parent ID) if it applies cleanly.
  
* Add `qpush --be-smart-about-merging` which uses rebase techniques to
  intelligently apply patches that otherwise would result in .rej files.

* Add `qpush --where-it-belongs` which would push patches to the place they
  last applied cleanly.


More information about the Mercurial-devel mailing list