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) {