# HG changeset patch # User Mads Kiilerich # Date 2013-02-04 22:26:44 # Node ID b6b9475c563a3c8ad3b24e2602424a00a7ea2c56 # Parent e8efcc8ff5c0b1b16f2a6f22f4375c0002133aff largefiles: don't crash when trying to find default dest for url without path b32e55e6c3c7 introduced a crash when cloning a url without path - where util.url().path would be None. This None will now be handled as ''. clone will thus abort with 'repository / not found' as before. diff --git a/mercurial/hg.py b/mercurial/hg.py --- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -122,7 +122,7 @@ def peer(uiorrepo, opts, path, create=Fa def defaultdest(source): '''return default destination of clone if none is given''' - return os.path.basename(os.path.normpath(util.url(source).path)) + return os.path.basename(os.path.normpath(util.url(source).path or '')) def share(ui, source, dest=None, update=True): '''create a shared repository''' diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t --- a/tests/test-largefiles.t +++ b/tests/test-largefiles.t @@ -831,6 +831,8 @@ Test cloning with --all-largefiles flag commit: (clean) update: 8 new changesets (update) +Show computed destination directory: + $ mkdir xyz $ cd xyz $ hg clone ../a @@ -841,6 +843,12 @@ Test cloning with --all-largefiles flag 5 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd .. +Clone URL without path: + + $ hg clone file:// + abort: repository / not found! + [255] + Ensure base clone command argument validation $ hg clone -U -u 0 a a-clone-failure