From: Chase Brammer Date: Tue, 12 Oct 2010 20:37:50 GMT Subject: Re: Push not writing to standard error Message-ID: In-Reply-To: <20101012193830.GB8620@sigill.intra.peff.net> Wow, I am amazed at how quick you churned that out. I haven't participated in the git patch and release cycle, so forgive my ignorance. Do you think that this will be released in the next release (1.7.3.2) ? If so, any expectations on release date? Chase On Tue, Oct 12, 2010 at 1:38 PM, Jeff King wrote: > > On Tue, Oct 12, 2010 at 03:32:04PM -0400, Jeff King wrote: > > > It looks like transport_set_verbosity gets called correctly, and then > > sets the "progress" flag for the transport. But for the push side, I > > don't see any transports actually looking at that flag. I think there > > needs to be code in git_transport_push to handle the progress flag, and > > it just isn't there. > > Here's a quick 5-minute patch. It works on my test case: > >  rm -rf parent child >  git init parent && >  git clone parent child && >  cd child && >  echo content >file && git add file && git commit -m one && >  git push --progress origin master:foo >foo.out 2>&1 && >  cat foo.out > > but I didn't even run the test suite. Maybe somebody more clueful in the > area can pick it up? > > diff --git a/builtin/send-pack.c b/builtin/send-pack.c > index 481602d..efd9be6 100644 > --- a/builtin/send-pack.c > +++ b/builtin/send-pack.c > @@ -48,6 +48,7 @@ static int pack_objects(int fd, struct ref *refs, struct extra_have_objects *ext >                NULL, >                NULL, >                NULL, > +               NULL, >        }; >        struct child_process po; >        int i; > @@ -59,6 +60,8 @@ static int pack_objects(int fd, struct ref *refs, struct extra_have_objects *ext >                argv[i++] = "--delta-base-offset"; >        if (args->quiet) >                argv[i++] = "-q"; > +       if (args->progress) > +               argv[i++] = "--progress"; >        memset(&po, 0, sizeof(po)); >        po.argv = argv; >        po.in = -1; > diff --git a/send-pack.h b/send-pack.h > index 60b4ba6..fcf4707 100644 > --- a/send-pack.h > +++ b/send-pack.h > @@ -4,6 +4,7 @@ >  struct send_pack_args { >        unsigned verbose:1, >                quiet:1, > +               progress:1, >                porcelain:1, >                send_mirror:1, >                force_update:1, > diff --git a/transport.c b/transport.c > index 4dba6f8..0078660 100644 > --- a/transport.c > +++ b/transport.c > @@ -789,6 +789,7 @@ static int git_transport_push(struct transport *transport, struct ref *remote_re >        args.use_thin_pack = data->options.thin; >        args.verbose = (transport->verbose > 0); >        args.quiet = (transport->verbose < 0); > +       args.progress = transport->progress; >        args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN); >        args.porcelain = !!(flags & TRANSPORT_PUSH_PORCELAIN); >