tests/test-git-export
author Giorgos Keramidas <keramida@ceid.upatras.gr>
Tue, 15 Aug 2006 18:14:58 +0300
changeset 2913 05f357b70cb0
parent 2907 8b02af865990
child 2935 1c66aad252f9
permissions -rwxr-xr-x
Tune a bit the extdiff toplevel comments/samples. * Capitalize the first letter of all sentences * Add an example for GNU diff(1) 'context diff' mode. * Explain the requirement for separate cmd.xxx and opts.xxx options in .hgrc, which hopefully will guard against users trying to add: [extdiff] # Add a new Mercurial command called `cdiff', which calls # GNU diff(1) in 'context diff' mode. cmd.cdiff = diff -Nprc5 which fails for recent crew builds with: $ hg cdiff . making snapshot of 1 files from rev 07dc4a569f4e making snapshot of 1 files from working dir diff -Nprc5: not found The correct way to do this is by separating the cmd.cdiff and opts.cdiff parts like this: [extdiff] # Add a new Mercurial command called `cdiff', which calls # GNU diff(1) in 'context diff' mode. cmd.cdiff = diff opts.cdiff = -Nprc5 so add it as a new example and explicitly describe it in the extdiff comments.

#!/bin/sh

hg init a
cd a

echo start > start
hg ci -Amstart -d '0 0'
echo new > new
hg ci -Amnew -d '0 0'
echo '% new file'
hg diff --git -r 0 | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

hg cp new copy
hg ci -mcopy -d '0 0'
echo '% copy'
hg diff --git -r 1:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

hg mv copy rename
hg ci -mrename -d '0 0'
echo '% rename'
hg diff --git -r 2:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

hg rm rename
hg ci -mdelete -d '0 0'
echo '% delete'
hg diff --git -r 3:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

cat > src <<EOF
1
2
3
4
5
EOF
hg ci -Amsrc -d '0 0'
chmod +x src
hg ci -munexec -d '0 0'
echo '% chmod 644'
hg diff --git -r 5:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"

hg mv src dst
chmod -x dst
echo a >> dst
hg ci -mrenamemod -d '0 0'
echo '% rename+mod+chmod'
hg diff --git -r 6:tip | sed "s/\(\(---\|+++\) [a-zA-Z0-9_/.-]*\).*/\1/"