commands.update() now works properly with a revision of 0

Without this change commands.update() treats an integer 0 as if no revision
was passed and updates to the branch head.  This fix allows an integer 0 to
be detected as a revision number so the working directory is correctly
changed to revision 0 rather than the branch head.
This commit is contained in:
Mark Drago 2011-03-08 08:41:39 -05:00
parent 912f22c7ae
commit bfd6a0afa0
2 changed files with 17 additions and 1 deletions

View File

@ -4053,7 +4053,7 @@ def update(ui, repo, node=None, rev=None, clean=False, date=None, check=False):
if rev and node:
raise util.Abort(_("please specify just one revision"))
if not rev:
if rev is None or rev == '':
rev = node
# if we defined a bookmark, we have to remember the original bookmark name

View File

@ -20,6 +20,22 @@ This command is ancient:
summary: test
Verify that updating to revision 0 via commands.update() works properly
$ cat <<EOF > update_to_rev0.py
> from mercurial import ui, hg, commands
> myui = ui.ui()
> repo = hg.repository(myui, path='.')
> commands.update(myui, repo, rev=0)
> EOF
$ hg up null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ python ./update_to_rev0.py
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg identify -n
0
Poke around at hashes:
$ hg manifest --debug