##// END OF EJS Templates
archive: set date to 1980 for very old zip files...
archive: set date to 1980 for very old zip files The zip file format stores the date using "MS-DOS format" which apparently means that they use 1980 as their epoch. Python's zipfile module emits deprecation warnings of this form /usr/lib/python2.6/zipfile.py:1108: DeprecationWarning: struct integer overflow masking is deprecated self.fp.write(zinfo.FileHeader()) /usr/lib/python2.6/zipfile.py:1108: DeprecationWarning: 'H' format requires 0 <= number <= 65535 self.fp.write(zinfo.FileHeader()) /home/mg/src/mercurial-crew/mercurial/archival.py:169: DeprecationWarning: struct integer overflow masking is deprecated self.z.close() /home/mg/src/mercurial-crew/mercurial/archival.py:169: DeprecationWarning: 'H' format requires 0 <= number <= 65535 self.z.close() when it is given such old timestamps. This fixes this by silently clamping the date to 1980.

File last commit:

r11249:0bb67503 stable
r12319:381f1312 stable
Show More
test-eol-update
83 lines | 1.2 KiB | text/plain | TextLexer
#!/bin/sh
cat > $HGRCPATH <<EOF
[diff]
git = 1
EOF
seteol () {
if [ $1 = "LF" ]; then
EOL='\n'
else
EOL='\r\n'
fi
}
makerepo () {
echo
echo "# ==== setup repository ===="
echo '% hg init'
hg init repo
cd repo
cat > .hgeol <<EOF
[patterns]
**.txt = LF
EOF
printf "first\nsecond\nthird\n" > a.txt
hg commit --addremove -m 'LF commit'
cat > .hgeol <<EOF
[patterns]
**.txt = CRLF
EOF
printf "first\r\nsecond\r\nthird\r\n" > a.txt
hg commit -m 'CRLF commit'
cd ..
}
dotest () {
seteol $1
echo
echo "% hg clone repo repo-$1"
hg clone --noupdate repo repo-$1
cd repo-$1
cat > .hg/hgrc <<EOF
[extensions]
eol =
EOF
hg update
echo '% printrepr.py a.txt (before)'
python $TESTDIR/printrepr.py < a.txt
printf "first${EOL}third${EOL}" > a.txt
echo '% printrepr.py a.txt (after)'
python $TESTDIR/printrepr.py < a.txt
echo '% hg diff'
hg diff | python $TESTDIR/printrepr.py
echo '% hg update 0'
hg update 0
echo '% printrepr.py a.txt'
python $TESTDIR/printrepr.py < a.txt
echo '% hg diff'
hg diff | python $TESTDIR/printrepr.py
cd ..
rm -r repo-$1
}
makerepo
dotest LF
dotest CRLF
rm -r repo