Re: [PATCH] git-push: plumb in --mirror mode
From: Andy Whitcroft <hidden>
Date: 2016-06-15 22:43:37
On Tue, Oct 02, 2007 at 01:50:28PM +0100, Johannes Schindelin wrote:
Hi, On Tue, 2 Oct 2007, Andy Whitcroft wrote:quoted
@@ -137,5 +144,10 @@ int cmd_push(int argc, const char **argv, const char *prefix) if (all && refspec) usage(push_usage); + if (modes_specified > 1) { + error("--all and --mirror are incompatible"); + usage(push_usage); + } +Why not if ((flags & TRANSPORT_PUSH_ALL) && (flags & TRANSPORT_PUSH_MIRROR))? It's more explicit.
Yep, that does seem cleaner.
quoted
@@ -667,6 +673,8 @@ static int git_transport_push(struct transport *transport, int refspec_nr, const argv[argc++] = "--all"; if (flags & TRANSPORT_PUSH_FORCE) argv[argc++] = "--force"; + if (flags & TRANSPORT_PUSH_MIRROR) + argv[argc++] = "--mirror"; if (data->receivepack) { char *rp = xmalloc(strlen(data->receivepack) + 16); sprintf(rp, "--receive-pack=%s", data->receivepack);Shouldn't you then increment the "11" a few lines before that, to ensure enough space for the new argument?
I should have mentioned I'd not even reviewed it as the basic underlying functionality seemed to be broken. I'll look over it if I get a chance to try and debug the underlying failure. -apw