diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-09-18 16:52:32 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-09-19 11:07:21 -0700 |
commit | be042aff24c8a17565934874f5d2eebd77ab2562 (patch) | |
tree | c761ec5103a29119bd8d1ffded03c89d3d67e397 /bundle.c | |
parent | ec014eac0e9e6f30cbbca616090fa2ecf74797e7 (diff) | |
download | git-be042aff24c8a17565934874f5d2eebd77ab2562.tar.gz |
Teach progress eye-candy to fetch_refs_from_bundle()
With the usual "git" transport, a large-ish transfer with "git fetch" and
"git pull" give progress eye-candy to avoid boring users. However, not
when they are reading from a bundle. I.e.
$ git pull ../git-bundle.bndl master
This teaches bundle.c:unbundle() to give "-v" option to index-pack and
tell it to give progress bar when transport decides it is necessary.
The operation in the other direction, "git bundle create", could also
learn to honor --quiet but that is a separate issue.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'bundle.c')
-rw-r--r-- | bundle.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -380,12 +380,15 @@ int create_bundle(struct bundle_header *header, const char *path, return 0; } -int unbundle(struct bundle_header *header, int bundle_fd) +int unbundle(struct bundle_header *header, int bundle_fd, int flags) { const char *argv_index_pack[] = {"index-pack", - "--fix-thin", "--stdin", NULL}; + "--fix-thin", "--stdin", NULL, NULL}; struct child_process ip; + if (flags & BUNDLE_VERBOSE) + argv_index_pack[3] = "-v"; + if (verify_bundle(header, 0)) return -1; memset(&ip, 0, sizeof(ip)); |