##// 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:

r11152:e8d10d08 default
r12319:381f1312 stable
Show More
test-copy2
73 lines | 1.4 KiB | text/plain | TextLexer
#!/bin/sh
hg init
echo foo > foo
echo "# should fail - foo is not managed"
hg mv foo bar
hg st -A
hg add foo
echo "# dry-run; print a warning that this is not a real copy; foo is added"
hg mv --dry-run foo bar
hg st -A
echo "# should print a warning that this is not a real copy; bar is added"
hg mv foo bar
hg st -A
echo "# should print a warning that this is not a real copy; foo is added"
hg cp bar foo
hg rm -f bar
rm bar
hg st -A
hg commit -m1
echo "# copy --after to a nonexistant target filename"
hg cp -A foo dummy
echo "# dry-run; should show that foo is clean"
hg copy --dry-run foo bar
hg st -A
echo "# should show copy"
hg copy foo bar
hg st -C
echo "# shouldn't show copy"
hg commit -m2
hg st -C
echo "# should match"
hg debugindex .hg/store/data/foo.i
hg debugrename bar
echo bleah > foo
echo quux > bar
hg commit -m3
echo "# should not be renamed"
hg debugrename bar
hg copy -f foo bar
echo "# should show copy"
hg st -C
hg commit -m3
echo "# should show no parents for tip"
hg debugindex .hg/store/data/bar.i
echo "# should match"
hg debugindex .hg/store/data/foo.i
hg debugrename bar
echo "# should show no copies"
hg st -C
echo "# copy --after on an added file"
cp bar baz
hg add baz
hg cp -A bar baz
hg st -C
echo "# foo was clean:"
hg st -AC foo
echo "# but it's considered modified after a copy --after --force"
hg copy -Af bar foo
hg st -AC foo
exit 0