view tests/test-mq-header-date @ 9547:f57640bf10d4

cmdutil: changeset_printer: use methods of filectx/changectx. This allows extensions that modify changeset metadata (e.g. description) by overriding methods of changectx to get consistent behavior from all log-like commands, regardless of whether templates or styles are used. Without this, overriding changectx methods works if you use styles or templates, but not with default log format. This meant adding filectx.extra() for consistency with changectx.
author Greg Ward <greg-hg@gerg.ca>
date Mon, 05 Oct 2009 18:17:13 -0400
parents 38b592536a58
children 8cb81d75730c
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
echo "[diff]" >> $HGRCPATH
echo "nodates=true" >> $HGRCPATH


catpatch() {
    cat .hg/patches/$1.patch | sed -e "s/^diff \-r [0-9a-f]* /diff -r ... /"
}

catlog() {
    catpatch $1
    hg log --template "{rev}: {desc} - {author}\n"
}

catlogd() {
    catpatch $1
    hg log --template "{rev}: {desc} - {author} - {date}\n"
}

drop() {
    hg qpop
    hg qdel $1.patch
}


echo ==== init
hg init a
cd a
hg qinit


echo ==== qnew -d
hg qnew -d '3 0' 1.patch
catlogd 1

echo ==== qref
echo "1" >1
hg add
hg qref
catlogd 1

echo ==== qref -d
hg qref -d '4 0'
catlogd 1


echo ==== qnew
hg qnew 2.patch
echo "2" >2
hg add
hg qref
catlog 2

echo ==== qref -d
hg qref -d '5 0'
catlog 2

drop 2


echo ==== qnew -d -m
hg qnew -d '6 0' -m "Three" 3.patch
catlogd 3

echo ==== qref
echo "3" >3
hg add
hg qref
catlogd 3

echo ==== qref -m
hg qref -m "Drei"
catlogd 3

echo ==== qref -d
hg qref -d '7 0'
catlogd 3

echo ==== qref -d -m
hg qref -d '8 0' -m "Three (again)"
catlogd 3


echo ==== qnew -m
hg qnew -m "Four" 4.patch
echo "4" >4
hg add
hg qref
catlog 4

echo ==== qref -d
hg qref -d '9 0'
catlog 4

drop 4


echo ==== qnew with HG header
hg qnew 5.patch
hg qpop
echo "# HG changeset patch" >>.hg/patches/5.patch
echo "# Date 10 0" >>.hg/patches/5.patch
hg qpush 2>&1 | grep 'Now at'
catlogd 5

echo ==== hg qref
echo "5" >5
hg add
hg qref
catlogd 5

echo ==== hg qref -d
hg qref -d '11 0'
catlogd 5


echo ==== qnew -u
hg qnew -u jane 6.patch
echo "6" >6
hg add
hg qref
catlog 6

echo ==== qref -d
hg qref -d '12 0'
catlog 6

drop 6


echo ==== qnew -d
hg qnew -d '13 0' 7.patch
echo "7" >7
hg add
hg qref
catlog 7

echo ==== qref -u
hg qref -u john
catlogd 7


echo ==== qnew
hg qnew 8.patch
echo "8" >8
hg add
hg qref
catlog 8

echo ==== qref -u -d
hg qref -u john -d '14 0'
catlog 8

drop 8


echo ==== qnew -m
hg qnew -m "Nine" 9.patch
echo "9" >9
hg add
hg qref
catlog 9

echo ==== qref -u -d
hg qref -u john -d '15 0'
catlog 9

drop 9


echo ==== "qpop -a / qpush -a"
hg qpop -a
hg qpush -a
hg log --template "{rev}: {desc} - {author} - {date}\n"