view tests/test-mq-qfold @ 10545:b9e4a67329cd stable

Updated contrib/vim/patchreview.* to version 0.2.1 1) adds a :DiffReview command to review code changes in the current workspace. 2) removes the need to have patchutils (specifically filterdiff) installed on the system by implementing patch extraction in pure vim script.
author Manpreet Singh <junkblocker@yahoo.com>
date Wed, 24 Feb 2010 13:12:17 -0800
parents 8cb81d75730c
children
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
echo "[mq]" >> $HGRCPATH
echo "git=keep" >> $HGRCPATH

filterdiff()
{
    grep -v diff | \
	sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
	-e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
}

filterpatch()
{
    sed -e "s/\(# Parent \).*/\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
grep git .hg/patches/p1 && echo 'git patch found!'
hg qser
hg qdiff | filterdiff
echo '% fold with local changes'
echo d >> a
hg qfold p3
hg diff -c . | filterdiff
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 | filterpatch
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 | filterpatch

cd ..