Do not use osutil.c with python 2.4 and Windows (
issue1364)
Windows python 2.4 os.stat() reports times including DST offset, while osutil.c
reports the correct value, which makes status() systematically compare files
content. This bug is fixed in python 2.5. Using osutil.py instead of osutil.c
is 4x times slower on large repositories but current code is completely
unusable. Given few people are likely to use python 2.4 on Windows this
solution was considered a good trade-off compared to more invasive solutions
trying to address the offset issue.
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH
echo "bookmarks=" >> $HGRCPATH
cleanoutput () {
sed -e 's/\(Rebase status stored to\).*/\1/' \
-e 's/\(Rebase status restored from\).*/\1/' \
-e 's/\(saving bundle to \).*/\1/'
}
echo % initialize repository
hg init
echo 'a' > a
hg ci -A -m "0"
echo 'b' > b
hg ci -A -m "1"
hg up 0
echo 'c' > c
hg ci -A -m "2"
echo 'd' > d
hg ci -A -m "3"
hg bookmark -r 1 one
hg bookmark -r 3 two
echo % bookmark list
hg bookmark
echo % rebase
hg rebase -s two -d one 2>&1 | cleanoutput
hg log