Mercurial > hg
view tests/test-commit @ 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 | 8766fee6f225 |
children |
line wrap: on
line source
#!/bin/sh echo % commit date test hg init test cd test echo foo > foo hg add foo HGEDITOR=true hg commit -m "" hg commit -d '0 0' -m commit-1 echo foo >> foo hg commit -d '1 4444444' -m commit-3 hg commit -d '1 15.1' -m commit-4 hg commit -d 'foo bar' -m commit-5 hg commit -d ' 1 4444' -m commit-6 hg commit -d '111111111111 0' -m commit-7 echo % commit added file that has been deleted echo bar > bar hg add bar rm bar hg commit -d "1000000 0" -m commit-8 hg commit -d "1000000 0" -m commit-8-2 bar hg -q revert -a --no-backup mkdir dir echo boo > dir/file hg add hg -v commit -m commit-9 dir echo > dir.file hg add hg commit -m commit-10 dir dir.file echo >> dir/file mkdir bleh mkdir dir2 cd bleh hg commit -m commit-11 . hg commit -m commit-12 ../dir ../dir2 hg -v commit -m commit-13 ../dir cd .. hg commit -m commit-14 does-not-exist ln -s foo baz hg commit -m commit-15 baz touch quux hg commit -m commit-16 quux echo >> dir/file hg -v commit -m commit-17 dir/file # An empty date was interpreted as epoch origin echo foo >> foo hg commit -d '' -m commit-no-date hg tip --template '{date|isodate}\n' | grep '1970' cd .. echo % partial subdir commit test hg init test2 cd test2 mkdir foo echo foo > foo/foo mkdir bar echo bar > bar/bar hg add hg ci -d '1000000 0' -m commit-subdir-1 foo hg ci -d '1000001 0' -m commit-subdir-2 bar echo % subdir log 1 hg log -v foo echo % subdir log 2 hg log -v bar echo % full log hg log -v cd .. echo % dot and subdir commit test hg init test3 cd test3 mkdir foo echo foo content > foo/plain-file hg add foo/plain-file hg ci -d '1000000 0' -m commit-foo-subdir foo echo modified foo content > foo/plain-file hg ci -d '2000000 0' -m commit-foo-dot . echo % full log hg log -v echo % subdir log cd foo hg log . cd .. cd .. cd .. hg init issue1049 cd issue1049 echo a > a hg ci -Ama echo a >> a hg ci -mb hg up 0 echo b >> a hg ci -mc HGMERGE=true hg merge echo % should fail because we are specifying a file name hg ci -mmerge a echo % should fail because we are specifying a pattern hg ci -mmerge -I a echo % should succeed hg ci -mmerge cd .. echo % test commit message content hg init commitmsg cd commitmsg echo changed > changed echo removed > removed hg ci -qAm init hg rm removed echo changed >> changed echo added > added hg add added HGEDITOR=cat hg ci -A cd .. exit 0