From: Felipe Contreras Date: Sun, 21 Oct 2012 17:49:01 GMT Subject: [PATCH v3 3/6] remote-hg: add support for remote pushing Message-ID: <1350841744-21564-4-git-send-email-felipe.contreras@gmail.com> In-Reply-To: <1350841744-21564-1-git-send-email-felipe.contreras@gmail.com> I'm not happy with this, but works. Signed-off-by: Felipe Contreras --- contrib/remote-hg/git-remote-hg | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/contrib/remote-hg/git-remote-hg b/contrib/remote-hg/git-remote-hg index fc4510c..34a00cd 100755 --- a/contrib/remote-hg/git-remote-hg +++ b/contrib/remote-hg/git-remote-hg @@ -167,6 +167,7 @@ def fixup_user(user): def get_repo(url, alias): global dirname + global peer myui = ui.ui() myui.setconfig('ui', 'interactive', 'off') @@ -176,7 +177,7 @@ def get_repo(url, alias): else: local_path = os.path.join(dirname, 'clone') if not os.path.exists(local_path): - srcpeer, dstpeer = hg.clone(myui, {}, url, local_path, update=False, pull=True) + peer, dstpeer = hg.clone(myui, {}, url, local_path, update=False, pull=True) repo = dstpeer.local() else: repo = hg.repository(myui, local_path) @@ -420,6 +421,8 @@ def parse_commit(parser): print "ok %s" % ref def do_export(parser): + global peer + for line in parser.each_block('done'): if parser.check('blob'): parse_blob(parser) @@ -427,12 +430,17 @@ def do_export(parser): parse_commit(parser) print + if peer: + parser.repo.push(peer, force=False) + def main(args): global prefix, dirname, branches global marks, blob_marks + global peer alias = args[1] url = args[2] + peer = None gitdir = os.environ['GIT_DIR'] dirname = os.path.join(gitdir, 'hg', alias) -- 1.8.0.rc2.7.g0961fdf.dirty