Mercurial > hg
comparison hgext/convert/__init__.py @ 4521:d634b61e9cec
Add some more smart when initializing destination repository
author | Edouard Gomez <ed.gomez@free.fr> |
---|---|
date | Thu, 07 Jun 2007 23:16:10 +0200 |
parents | ce1fed4a5b94 |
children | c3a78a49d7f0 |
comparison
equal
deleted
inserted
replaced
4520:ce1fed4a5b94 | 4521:d634b61e9cec |
---|---|
4 # | 4 # |
5 # This software may be used and distributed according to the terms | 5 # This software may be used and distributed according to the terms |
6 # of the GNU General Public License, incorporated herein by reference. | 6 # of the GNU General Public License, incorporated herein by reference. |
7 | 7 |
8 import sys, os, zlib, sha, time, re, locale, socket | 8 import sys, os, zlib, sha, time, re, locale, socket |
9 from mercurial import hg, ui, util, commands | 9 from mercurial import hg, ui, util, commands, repo |
10 | 10 |
11 commands.norepo += " convert" | 11 commands.norepo += " convert" |
12 | 12 |
13 class NoRepo(Exception): pass | 13 class NoRepo(Exception): pass |
14 | 14 |
699 raise util.Abort("%s: can't read from this repo type\n" % src) | 699 raise util.Abort("%s: can't read from this repo type\n" % src) |
700 | 700 |
701 if not dest: | 701 if not dest: |
702 dest = src + "-hg" | 702 dest = src + "-hg" |
703 ui.status("assuming destination %s\n" % dest) | 703 ui.status("assuming destination %s\n" % dest) |
704 if not os.path.isdir(dest): | 704 |
705 ui.status("creating repository %s\n" % dest) | 705 # Try to be smart and initalize things when required |
706 os.system("hg init " + dest) | 706 if os.path.isdir(dest): |
707 if len(os.listdir(dest)) > 0: | |
708 try: | |
709 hg.repository(ui, dest) | |
710 ui.status("destination %s is a Mercurial repository\n" % dest) | |
711 except repo.RepoError: | |
712 raise util.Abort( | |
713 """destination directory %s is not empty. | |
714 Please specify an empty directory to be initialized or an already initialized | |
715 mercurial repository | |
716 """ % dest) | |
717 else: | |
718 ui.status("initializing destination %s repository\n" % dest) | |
719 hg.repository(ui, dest, create=True) | |
720 elif os.path.exists(dest): | |
721 raise util.Abort("destination %s exists and is not a directory\n" % dest) | |
722 else: | |
723 ui.status("initializing destination %s repository\n" % dest) | |
724 hg.repository(ui, dest, create=True) | |
725 | |
707 destc = converter(ui, dest) | 726 destc = converter(ui, dest) |
708 if not hasattr(destc, "putcommit"): | 727 if not hasattr(destc, "putcommit"): |
709 raise util.Abort("%s: can't write to this repo type\n" % src) | 728 raise util.Abort("%s: can't write to this repo type\n" % src) |
710 | 729 |
711 if not mapfile: | 730 if not mapfile: |