Mercurial > hg > mercurial-crew-with-dirclash
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 |