Mercurial > hg
view tests/test-convert-baz @ 8810:ac92775b3b80
Add patch.eol to ignore EOLs when patching (issue1019)
The intent is to fix many issues involving patching when win32ext is enabled.
With win32ext, the working directory and repository files EOLs are not the same
which means that patches made on a non-win32ext host do not apply cleanly
because of EOLs discrepancies. A theorically correct approach would be
transform either the patched file or the patch content with the
encoding/decoding filters used by win32ext. This solution is tricky to
implement and invasive, instead we prefer to address the win32ext case, by
offering a way to ignore input EOLs when patching and rewriting them when
saving the patched result.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Mon, 15 Jun 2009 00:03:26 +0200 |
parents | 5b7da468531b |
children | bb5ea66789e3 |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" baz || exit 80 mkdir do_not_use_HOME_baz cd do_not_use_HOME_baz HOME=`pwd`; export HOME cd .. baz my-id "mercurial <mercurial@selenic.com>" echo "[extensions]" >> $HGRCPATH echo "convert=" >> $HGRCPATH echo 'hgext.graphlog =' >> $HGRCPATH echo % create baz archive baz make-archive baz@mercurial--convert hg-test-convert-baz echo % initialize baz repo mkdir baz-repo cd baz-repo/ baz init-tree baz@mercurial--convert/baz--test--0 baz import echo % create initial files echo 'this is a file' > a baz add a mkdir src baz add src cd src dd count=1 if=/dev/zero of=b > /dev/null 2> /dev/null baz add b # HACK: hide GNU tar-1.22 "tar: The --preserve option is deprecated, use --preserve-permissions --preserve-order instead" baz commit -s "added a file, src and src/b (binary)" 2>&1 | grep -v ^tar echo % create link file and modify a ln -s ../a a-link baz add a-link echo 'this a modification to a' >> ../a baz commit -s "added link to a and modify a" echo % create second link and modify b ln -s ../a a-link-2 baz add a-link-2 dd count=1 seek=1 if=/dev/zero of=b > /dev/null 2> /dev/null baz commit -s "added second link and modify b" echo % b file to link and a-link-2 to regular file rm -f a-link-2 echo 'this is now a regular file' > a-link-2 ln -sf ../a b baz commit -s "file to link and link to file test" echo % move a-link-2 file and src directory cd .. baz mv src/a-link-2 c baz mv src test baz commit -s "move and rename a-link-2 file and src directory" echo % move and add the moved file again echo e > e baz add e baz commit -s "add e" baz mv e f echo ee > e baz add e baz commit -s "move e and recreate it again" cd .. echo % converting baz repo to Mercurial hg convert baz-repo baz-repo-hg baz register-archive -d baz@mercurial--convert glog() { hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@" } echo % show graph log glog -R baz-repo-hg hg up -q -R baz-repo-hg hg -R baz-repo-hg manifest --debug hg -R baz-repo-hg log -r 5 -r 7 -C --debug | grep copies