diff -r 509e62469cb1 -r c6a2e41c8c60 mercurial/commands.py --- a/mercurial/commands.py Tue Jun 28 02:04:49 2005 -0800 +++ b/mercurial/commands.py Tue Jun 28 02:08:14 2005 -0800 @@ -273,7 +273,7 @@ if source in paths: source = paths[source] - created = False + created = success = False if dest is None: dest = os.getcwd() @@ -314,12 +314,15 @@ if not opts['no-update']: update(ui, repo) - except: - if created: + + success = True + + finally: + if not success: + del repo import shutil shutil.rmtree(dest, True) - raise - + def commit(ui, repo, *files, **opts): """commit the specified files or all outstanding changes""" text = opts['text'] @@ -904,5 +907,6 @@ u.debug(inst, "\n") u.warn("%s: invalid arguments\n" % i[0].__name__) help(u, cmd) - sys.exit(-1) + sys.exit(-1) +