2009-05-17 21:54:26 +04:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
echo "[extensions]" >> $HGRCPATH
|
|
|
|
echo "mq=" >> $HGRCPATH
|
2010-01-01 23:21:34 +03:00
|
|
|
echo "[mq]" >> $HGRCPATH
|
|
|
|
echo "git=keep" >> $HGRCPATH
|
2009-05-17 21:54:26 +04:00
|
|
|
|
|
|
|
filterdiff()
|
|
|
|
{
|
|
|
|
grep -v diff | \
|
|
|
|
sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
|
|
|
|
-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
|
|
|
|
}
|
|
|
|
|
|
|
|
echo '% init'
|
|
|
|
hg init repo
|
|
|
|
cd repo
|
|
|
|
echo a > a
|
|
|
|
hg ci -Am adda
|
|
|
|
echo a >> a
|
|
|
|
hg qnew -f p1
|
|
|
|
echo b >> a
|
|
|
|
hg qnew -f p2
|
|
|
|
echo c >> a
|
|
|
|
hg qnew -f p3
|
|
|
|
echo '% fold in the middle of the queue'
|
|
|
|
hg qpop p1
|
|
|
|
hg qdiff | filterdiff
|
|
|
|
hg qfold p2
|
2010-01-01 21:53:05 +03:00
|
|
|
grep git .hg/patches/p1 && echo 'git patch found!'
|
2009-05-17 21:54:26 +04:00
|
|
|
hg qser
|
|
|
|
hg qdiff | filterdiff
|
|
|
|
echo '% fold with local changes'
|
|
|
|
echo d >> a
|
|
|
|
hg qfold p3
|
|
|
|
hg diff -c . | filterdiff
|
2010-01-01 21:53:05 +03:00
|
|
|
hg revert -a --no-backup
|
|
|
|
|
|
|
|
echo '% fold git patch into a regular patch, expect git patch'
|
|
|
|
echo a >> a
|
|
|
|
hg qnew -f regular
|
|
|
|
hg cp a aa
|
|
|
|
hg qnew --git -f git
|
|
|
|
hg qpop
|
|
|
|
hg qfold git
|
|
|
|
cat .hg/patches/regular
|
|
|
|
hg qpop
|
|
|
|
hg qdel regular
|
|
|
|
|
|
|
|
echo '% fold regular patch into a git patch, expect git patch'
|
|
|
|
hg cp a aa
|
|
|
|
hg qnew --git -f git
|
|
|
|
echo b >> aa
|
|
|
|
hg qnew -f regular
|
|
|
|
hg qpop
|
|
|
|
hg qfold regular
|
|
|
|
cat .hg/patches/git
|
|
|
|
|
2009-05-17 21:54:26 +04:00
|
|
|
cd ..
|
|
|
|
|
|
|
|
|