comparison mercurial/commands.py @ 523:003df62ae39f

[PATCH] Force "hg clone" to always create a new directory -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] Force "hg clone" to always create a new directory From: Bryan O'Sullivan <bos@serpentine.com> I just screwed myself by typing "hg clone foo" without specifying a destination directory, and after I was done mopping up the mess, concluded that this is a dangerous mode of operation that has no practical value. I've thus modified the clone command so that it always creates a destination directory. If none is specified, the destination is taken as the basename of the source. hg clone foo -> error, because foo already exists hg clone http://www.selenic.com/hg -> new repo, named hg hg clone ../bar -> new repo, named bar manifest hash: f21ed8f805a60c1326d99220772e1574b0870d6c -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCwxsIywK+sNU5EO8RAgooAKC3IL6vKyADb9s2qqqi4GMw2Z7asACbBtE/ TvPgwGtIiB2GC+N+V7r1VpI= =uTcK -----END PGP SIGNATURE-----
author mpm@selenic.com
date Wed, 29 Jun 2005 14:04:56 -0800
parents 2f1de824798a
children 337163e4d4b9
comparison
equal deleted inserted replaced
522:2f1de824798a 523:003df62ae39f
270 source = ui.expandpath(source) 270 source = ui.expandpath(source)
271 271
272 success = created = False 272 success = created = False
273 273
274 if dest is None: 274 if dest is None:
275 dest = os.getcwd() 275 dest = os.path.basename(source)
276 elif not os.path.exists(dest): 276 if dest == source:
277 os.mkdir(dest) 277 ui.warn('abort: source and destination are the same\n')
278 created = True 278 sys.exit(1)
279
280 os.mkdir(dest)
279 281
280 try: 282 try:
281 dest = os.path.realpath(dest) 283 dest = os.path.realpath(dest)
282 284
283 link = 0 285 link = 0