util: improved the check for the existence of the 'buffer' builtin
2to3 is unable to translate '__builtin__' calls to 'builtins' when
hasattr is used (as in hasattr(__builtin__, buffer)). Translating the
check to the format
try:
whatever
except NameError
# define whatever
__builtin__.whatever = whatever
is a correct way of checking for the name and has the benefit of being
translated by 2to3. This patch implements the same idea for the
aforementioned example.
#!/bin/sh
. $TESTDIR/helpers.sh
echo "[extensions]" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH
echo "[diff]" >> $HGRCPATH
echo "git=1" >> $HGRCPATH
BASE=`pwd`
hg init repo1
cd repo1
echo "a">a
hg commit -Am "A" --date '0 0'
echo "b"> b
hg commit -Am "B" --date '1 0'
hg up -C 0
hg mv a a-renamed
hg commit -m 'rename A' --date '2 0'
echo
echo '% Rename is tracked'
hg log -p -r tip --template '{rev}:{desc}\n'
echo '% Rebase the revision containing the rename'
hg rebase -s 2 -d 1 --quiet | cleanrebase
echo
echo '% Rename is not lost'
hg log -p -r tip --template '{rev}:{desc}\n'
cd $BASE
rm -rf repo1
hg init repo1
cd repo1
echo "a">a
hg commit -Am "A" --date '0 0'
echo "b"> b
hg commit -Am "B" --date '1 0'
hg up -C 0
hg cp a a-copied
hg commit -m 'copy A' --date '2 0'
echo
echo '% Copy is tracked'
hg log -p -r tip --template '{rev}:{desc}\n'
echo '% Rebase the revision containing the copy'
hg rebase -s 2 -d 1 --quiet | cleanrebase
echo
echo '% Copy is not lost'
hg log -p -r tip --template '{rev}:{desc}\n'