Mercurial > hg
view tests/test-inotify-dirty-dirstate @ 10397:8cb81d75730c
mq: add parent node IDs to MQ patches on qrefresh/qnew
The goal of this patch is to add the IDs of the parents of applied MQ patches
into the patch file headers whenever qnew or qrefresh are run.
This will serve as a reminder of when the patches last applied cleanly and
will let us do more intelligent things in the future, such as:
* Resolve conflicts found when qpushing to a new location by merging
instead of simply showing rejects.
* Display better diffs of versioned MQ patches because we can tell how the
patched files have changed in the meantime.
Here are the new rules this patch introduces. They are checked in this order:
* If a patch currently has old, plain-style patch headers ("From:" and
"Date:") do not change the style or add any new headers.
* If the 'mq.plain' configuration setting is true, only plain-style
headers will be used for all MQ patches.
* qnew will initialize new patches with HG-style headers and fill in the
"# Parent" header with the appropriate parent node.
* qrefresh will refresh the "# Parent" header with the current parent of
the current patch.
author | Steve Losh <steve@stevelosh.com> |
---|---|
date | Sun, 07 Feb 2010 10:47:54 -0500 |
parents | 97eda2133a9b |
children |
line wrap: on
line source
#!/bin/sh # issues when status queries are issued when dirstate is dirty "$TESTDIR/hghave" inotify || exit 80 echo "[extensions]" >> $HGRCPATH echo "inotify=" >> $HGRCPATH echo "fetch=" >> $HGRCPATH echo % issue1810: inotify and fetch mkdir test; cd test hg init hg inserve -d --pid-file=../hg.pid cat ../hg.pid >> "$DAEMON_PIDS" echo foo > foo hg add hg ci -m foo cd .. hg --config "inotify.pidfile=../hg2.pid" clone test test2 cat ../hg2.pid >> "$DAEMON_PIDS" cd test2 echo bar > bar hg add hg ci -m bar cd ../test echo spam > spam hg add hg ci -m spam cd ../test2 hg st # abort, outstanding changes hg fetch -q hg st cd .. echo % issue1719: inotify and mq echo "mq=" >> $HGRCPATH hg init test-1719 cd test-1719 echo % inserve hg inserve -d --pid-file=../hg-test-1719.pid cat ../hg-test-1719.pid >> "$DAEMON_PIDS" echo content > file hg add file hg qnew -f test.patch hg status hg qpop echo % st should not output anything hg status hg qpush echo % st should not output anything hg status hg qrefresh hg status