[PATCH v3 4/6] remote-hg: add support for trivial features
So that the other remote-hg tests don't barf.
I'm not particularily happy with this code, but does the trick.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
contrib/remote-hg/git-remote-hg | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/contrib/remote-hg/git-remote-hg b/contrib/remote-hg/git-remote-hg
index 34a00cd..772bb69 100755
--- a/contrib/remote-hg/git-remote-hg
+++ b/contrib/remote-hg/git-remote-hg
@@ -12,6 +12,7 @@ import re
import sys
import os
import json
+import shutil
first = True
@@ -172,7 +173,13 @@ def get_repo(url, alias):
myui = ui.ui()
myui.setconfig('ui', 'interactive', 'off')
- if hg.islocal(url):
+ if url.startswith("remote://"):
+ remote = True
+ url = "file://%s" % url[9:]
+ else:
+ remote = False
+
+ if hg.islocal(url) and not remote:
repo = hg.repository(myui, url)
else:
local_path = os.path.join(dirname, 'clone')
@@ -442,6 +449,12 @@ def main(args):
url = args[2]
peer = None
+ if not alias.isalnum():
+ is_tmp = True
+ alias = "tmp"
+ else:
+ is_tmp = False
+
gitdir = os.environ['GIT_DIR']
dirname = os.path.join(gitdir, 'hg', alias)
branches = {}
@@ -468,6 +481,9 @@ def main(args):
do_export(parser)
sys.stdout.flush()
- marks.store()
+ if not is_tmp:
+ marks.store()
+ else:
+ shutil.rmtree(dirname)
sys.exit(main(sys.argv))
--
1.8.0.rc2.7.g0961fdf.dirty