Skip to content

Commit

Permalink
Merge branch 'jk/maint-upload-pack-shallow' into maint-1.7.4
Browse files Browse the repository at this point in the history
* jk/maint-upload-pack-shallow:
  upload-pack: start pack-objects before async rev-list
  • Loading branch information
Junio C Hamano committed May 26, 2011
2 parents 4fec830 + b961219 commit 4201472
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions upload-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,15 +156,8 @@ static void create_pack_file(void)
const char *argv[10];
int arg = 0;

if (shallow_nr) {
memset(&rev_list, 0, sizeof(rev_list));
rev_list.proc = do_rev_list;
rev_list.out = -1;
if (start_async(&rev_list))
die("git upload-pack: unable to fork git-rev-list");
argv[arg++] = "pack-objects";
} else {
argv[arg++] = "pack-objects";
argv[arg++] = "pack-objects";
if (!shallow_nr) {
argv[arg++] = "--revs";
if (create_full_pack)
argv[arg++] = "--all";
Expand All @@ -182,7 +175,7 @@ static void create_pack_file(void)
argv[arg++] = NULL;

memset(&pack_objects, 0, sizeof(pack_objects));
pack_objects.in = shallow_nr ? rev_list.out : -1;
pack_objects.in = -1;
pack_objects.out = -1;
pack_objects.err = -1;
pack_objects.git_cmd = 1;
Expand All @@ -191,8 +184,14 @@ static void create_pack_file(void)
if (start_command(&pack_objects))
die("git upload-pack: unable to fork git-pack-objects");

/* pass on revisions we (don't) want */
if (!shallow_nr) {
if (shallow_nr) {
memset(&rev_list, 0, sizeof(rev_list));
rev_list.proc = do_rev_list;
rev_list.out = pack_objects.in;
if (start_async(&rev_list))
die("git upload-pack: unable to fork git-rev-list");
}
else {
FILE *pipe_fd = xfdopen(pack_objects.in, "w");
if (!create_full_pack) {
int i;
Expand Down

0 comments on commit 4201472

Please sign in to comment.