diff -r d3874a286b51 -r aea35488ea66 mercurial/hg.py --- 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