git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git push --no-mirror ?

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 8, 2010, 20:49 UTC
Message-ID
<7vzl2ipmhn.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20100308123423.GA20486@neumann>
SZEDER Gábor <szeder@ira.uka.de> writes:
Show 10 quoted lines
> I have a remote that I use mainly for backup with 'mirror = true' in
> gitconfig, but also for sharing my "bleeding-edge" code with a
> student.  Now I came across the situation where I would liked to push
> only a single branch to that repo, only to discover that 'git push'
> has no '--no-mirror' option to override the related configuration
> setting.  Removing the 'mirror = true' line from the config, doing the
> push, restoring the config did the trick, of course, but I think there
> should be a simpler way to do that.  Is there a fundamental reason why
> there is no 'push --no-mirror', or just noone has noticed/bothered
> before?

I think that is the case. How does this look (haven't thought it through nor even compile tested yet)?

 builtin-push.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-push.c b/builtin-push.c
index f7bc2b2..89df1ff 100644
--- a/builtin-push.c
+++ b/builtin-push.c
@@ -145,7 +145,7 @@ static int do_push(const char *repo, int flags)
 		die("No destination configured to push to.");
 	}
 
-	if (remote->mirror)
+	if (!refspec && remote->mirror)
 		flags |= (TRANSPORT_PUSH_MIRROR|TRANSPORT_PUSH_FORCE);
 
 	if ((flags & TRANSPORT_PUSH_ALL) && refspec) {
Previous: SZEDER GáborNext: SZEDER Gábor
Message 2 of 3 in “git push --no-mirror ?”
  1. SZEDER GáborMar 8, 2010
  2. Junio C HamanoMar 8, 2010
  3. SZEDER GáborMar 9, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.