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

r11208:2313dc4d default
r12319:381f1312 stable
Show More
test-rebase-scenario-global
93 lines | 2.0 KiB | text/plain | TextLexer
/ tests / test-rebase-scenario-global
#!/bin/sh
. $TESTDIR/helpers.sh
echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH
BASE=`pwd`
addcommit () {
echo $1 > $1
hg add $1
hg commit -d "${2} 0" -m $1
}
commit () {
hg commit -d "${2} 0" -m $1
}
createrepo () {
cd $BASE
rm -rf a
hg init a
cd a
addcommit "A" 0
addcommit "B" 1
hg update -C 0
addcommit "C" 2
hg update -C 0
addcommit "D" 3
hg merge -r 2
commit "E" 4
hg update -C 3
addcommit "F" 5
}
createrepo > /dev/null 2>&1
hg glog --template '{rev}: {desc}\n'
echo '% Rebasing'
echo '% B onto F - simple rebase'
hg rebase -s 1 -d 5 | hidebackup
hg glog --template '{rev}: {desc}\n'
createrepo > /dev/null 2>&1
echo '% B onto D - intermediate point'
hg rebase -s 1 -d 3 | hidebackup
hg glog --template '{rev}: {desc}\n'
createrepo > /dev/null 2>&1
echo '% C onto F - skip of E'
hg rebase -s 2 -d 5 | hidebackup
hg glog --template '{rev}: {desc}\n'
createrepo > /dev/null 2>&1
echo '% D onto C - rebase of a branching point (skip E)'
hg rebase -s 3 -d 2 | hidebackup
hg glog --template '{rev}: {desc}\n'
createrepo > /dev/null 2>&1
echo '% E onto F - merged revision having a parent in ancestors of target'
hg rebase -s 4 -d 5 | hidebackup
hg glog --template '{rev}: {desc}\n'
createrepo > /dev/null 2>&1
echo '% D onto B - E maintains C as parent'
hg rebase -s 3 -d 1 | hidebackup
hg glog --template '{rev}: {desc}\n'
echo '% These will fail (using --source)'
createrepo > /dev/null 2>&1
echo '% E onto D - rebase onto an ancestor'
hg rebase -s 4 -d 3
echo '% D onto E - rebase onto a descendant'
hg rebase -s 3 -d 4
echo '% E onto B - merge revision with both parents not in ancestors of target'
hg rebase -s 4 -d 1
echo
echo '% These will abort gracefully (using --base)'
echo '% E onto E - rebase onto same changeset'
hg rebase -b 4 -d 4
echo '% E onto D - rebase onto an ancestor'
hg rebase -b 4 -d 3
echo '% D onto E - rebase onto a descendant'
hg rebase -b 3 -d 4
exit 0