tests/test-encode
author Patrick Mezard <pmezard@gmail.com>
Mon, 15 Jun 2009 00:03:26 +0200
changeset 8810 ac92775b3b80
parent 8742 a964ab624385
child 10211 a474f950357b
permissions -rwxr-xr-x
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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
     1
#!/bin/sh
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
     2
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
     3
hg init
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
     4
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
     5
cat > .hg/hgrc <<EOF
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
     6
[encode]
7080
a6477aa893b8 tests: Windows compatibility fixes
Patrick Mezard <pmezard@gmail.com>
parents: 6094
diff changeset
     7
*.gz = gzip -d
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
     8
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
     9
[decode]
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    10
*.gz = gzip
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    11
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    12
EOF
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    13
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    14
echo "this is a test" | gzip > a.gz
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    15
hg add a.gz
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1258
diff changeset
    16
hg ci -m "test" -d "1000000 0"
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    17
echo %% no changes
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    18
hg status
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    19
touch a.gz
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    20
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    21
echo %% no changes
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    22
hg status
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    23
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    24
echo %% uncompressed contents in repo
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1933
diff changeset
    25
hg debugdata .hg/store/data/a.gz.d 0
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    26
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    27
echo %% uncompress our working dir copy
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    28
gunzip < a.gz
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    29
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    30
rm a.gz
8742
a964ab624385 merge: allow merging going backwards
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    31
hg co -C
1258
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    32
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    33
echo %% uncompress our new working dir copy
1945754e466b Add file encoding/decoding support
mpm@selenic.com
parents:
diff changeset
    34
gunzip < a.gz
6093
f5b00b6e426a Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents: 3853
diff changeset
    35
f5b00b6e426a Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents: 3853
diff changeset
    36
echo %% check hg cat operation
f5b00b6e426a Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents: 3853
diff changeset
    37
hg cat a.gz
6094
3998c1b0828f cat --decode: Drop short option, use opts.get() instead of opts[]
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6093
diff changeset
    38
hg cat --decode a.gz | gunzip
6093
f5b00b6e426a Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents: 3853
diff changeset
    39
mkdir subdir
f5b00b6e426a Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents: 3853
diff changeset
    40
cd subdir
f5b00b6e426a Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents: 3853
diff changeset
    41
hg -R .. cat ../a.gz
6094
3998c1b0828f cat --decode: Drop short option, use opts.get() instead of opts[]
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6093
diff changeset
    42
hg -R .. cat --decode ../a.gz | gunzip