git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>, Jeff King <peff@peff.net>,
	Felipe Contreras <felipe.contreras@gmail.com>
Subject: [PATCH v4 13/21] remote-hg: force remote push
Date: Thu, 11 Apr 2013 07:23:09 -0500	[thread overview]
Message-ID: <1365682997-11329-14-git-send-email-felipe.contreras@gmail.com> (raw)
In-Reply-To: <1365682997-11329-1-git-send-email-felipe.contreras@gmail.com>

Ideally we shouldn't do this, as it's not recommended in mercurial
documentation, but there's no other way to push multiple bookmarks (on
the same branch), which would be the behavior most similar to git.

At the same time, add a configuration option for the people that don't
want to risk creating new remote heads.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 contrib/remote-helpers/git-remote-hg | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index ec599c6..ff89725 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -27,6 +27,9 @@ import urllib
 # named branches:
 # git config --global remote-hg.track-branches false
 #
+# If you don't want to force pushes (and thus risk creating new remote heads):
+# git config --global remote-hg.force-push false
+#
 # git:
 # Sensible defaults for git.
 # hg bookmarks are exported as git branches, hg branches are prefixed
@@ -730,7 +733,7 @@ def do_export(parser):
             continue
 
     if peer:
-        parser.repo.push(peer, force=False)
+        parser.repo.push(peer, force=force_push)
 
     # handle bookmarks
     for bmark, node in p_bmarks:
@@ -773,7 +776,7 @@ def main(args):
     global prefix, dirname, branches, bmarks
     global marks, blob_marks, parsed_refs
     global peer, mode, bad_mail, bad_name
-    global track_branches
+    global track_branches, force_push
 
     alias = args[1]
     url = args[2]
@@ -781,12 +784,16 @@ def main(args):
 
     hg_git_compat = False
     track_branches = True
+    force_push = True
+
     try:
         if get_config('remote-hg.hg-git-compat') == 'true\n':
             hg_git_compat = True
             track_branches = False
         if get_config('remote-hg.track-branches') == 'false\n':
             track_branches = False
+        if get_config('remote-hg.force-push') == 'false\n':
+            force_push = False
     except subprocess.CalledProcessError:
         pass
 
-- 
1.8.2.1

  parent reply	other threads:[~2013-04-11 12:25 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-11 12:22 [PATCH v4 00/21] remote-hg: general updates Felipe Contreras
2013-04-11 12:22 ` [PATCH v4 01/21] remote-hg: trivial cleanups Felipe Contreras
2013-04-11 12:22 ` [PATCH v4 02/21] remote-hg: add missing config variable in doc Felipe Contreras
2013-04-11 12:22 ` [PATCH v4 03/21] remote-hg: properly report errors on bookmark pushes Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 04/21] remote-hg: fix for files with spaces Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 05/21] remote-hg: make sure fake bookmarks are updated Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 06/21] remote-hg: trivial test cleanups Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 07/21] remote-hg: redirect buggy mercurial output Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 08/21] remote-hg: split bookmark handling Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 09/21] remote-hg: refactor export Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 10/21] remote-hg: update remote bookmarks Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 11/21] remote-hg: update tags globally Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 12/21] remote-hg: push to the appropriate branch Felipe Contreras
2013-04-11 12:23 ` Felipe Contreras [this message]
2013-04-11 12:23 ` [PATCH v4 14/21] remote-hg: show more proper errors Felipe Contreras
2013-05-27 16:30   ` Antoine Pelisse
2013-05-27 16:49     ` Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 15/21] remote-hg: add basic author tests Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 16/21] remote-hg: add simple mail test Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 17/21] remote-hg: add 'insecure' option Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 18/21] remote-hg: fix bad state issue Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 19/21] remote-hg: document location of stored hg repository Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 20/21] remote-hg: fix bad file paths Felipe Contreras
2013-04-11 12:23 ` [PATCH v4 21/21] remote-hg: activate graphlog extension for hg_log() Felipe Contreras
2013-04-11 17:50 ` [PATCH v4 00/21] remote-hg: general updates Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1365682997-11329-14-git-send-email-felipe.contreras@gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).