--- a/mercurial/hg.py Fri Aug 31 22:31:03 2007 +0200
+++ b/mercurial/hg.py Fri Aug 31 22:31:43 2007 +0200
@@ -99,7 +99,7 @@
"""
origsource = source
- source, rev = cmdutil.parseurl(ui.expandpath(source), rev)
+ source, rev, checkout = cmdutil.parseurl(ui.expandpath(source), rev)
if isinstance(source, str):
src_repo = repository(ui, source)
@@ -141,7 +141,7 @@
abspath = origsource
copy = False
if src_repo.local() and islocal(dest):
- abspath = os.path.abspath(origsource)
+ abspath = os.path.abspath(util.drop_scheme('file', origsource))
copy = not pull and not rev
src_lock, dest_lock = None, None
@@ -229,10 +229,11 @@
dest_lock.release()
if update:
- try:
- checkout = dest_repo.lookup("default")
- except:
- checkout = dest_repo.changelog.tip()
+ if not checkout:
+ try:
+ checkout = dest_repo.lookup("default")
+ except:
+ checkout = dest_repo.changelog.tip()
_update(dest_repo, checkout)
return src_repo, dest_repo