Re: [PATCH] git-push: plumb in --mirror mode
- From
Andy Whitcroft <apw@shadowen.org>
- Date
- Oct 2, 2007, 14:21 UTC
- Message-ID
- <20071002142115.GC14110@shadowen.org>
- In-Reply-To
- <Pine.LNX.4.64.0710021347530.28395@racer.site>
On Tue, Oct 02, 2007 at 01:50:28PM +0100, Johannes Schindelin wrote:
Show 19 quoted lines
> Hi,
>
> On Tue, 2 Oct 2007, Andy Whitcroft wrote:
>
> > @@ -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.
Show 12 quoted lines
> > @@ -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