Skip to content

Commit 4201472

Browse files
committed
Merge branch 'jk/maint-upload-pack-shallow' into maint-1.7.4
* jk/maint-upload-pack-shallow: upload-pack: start pack-objects before async rev-list
2 parents 4fec830 + b961219 commit 4201472

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

upload-pack.c

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -156,15 +156,8 @@ static void create_pack_file(void)
156156
const char *argv[10];
157157
int arg = 0;
158158

159-
if (shallow_nr) {
160-
memset(&rev_list, 0, sizeof(rev_list));
161-
rev_list.proc = do_rev_list;
162-
rev_list.out = -1;
163-
if (start_async(&rev_list))
164-
die("git upload-pack: unable to fork git-rev-list");
165-
argv[arg++] = "pack-objects";
166-
} else {
167-
argv[arg++] = "pack-objects";
159+
argv[arg++] = "pack-objects";
160+
if (!shallow_nr) {
168161
argv[arg++] = "--revs";
169162
if (create_full_pack)
170163
argv[arg++] = "--all";
@@ -182,7 +175,7 @@ static void create_pack_file(void)
182175
argv[arg++] = NULL;
183176

184177
memset(&pack_objects, 0, sizeof(pack_objects));
185-
pack_objects.in = shallow_nr ? rev_list.out : -1;
178+
pack_objects.in = -1;
186179
pack_objects.out = -1;
187180
pack_objects.err = -1;
188181
pack_objects.git_cmd = 1;
@@ -191,8 +184,14 @@ static void create_pack_file(void)
191184
if (start_command(&pack_objects))
192185
die("git upload-pack: unable to fork git-pack-objects");
193186

194-
/* pass on revisions we (don't) want */
195-
if (!shallow_nr) {
187+
if (shallow_nr) {
188+
memset(&rev_list, 0, sizeof(rev_list));
189+
rev_list.proc = do_rev_list;
190+
rev_list.out = pack_objects.in;
191+
if (start_async(&rev_list))
192+
die("git upload-pack: unable to fork git-rev-list");
193+
}
194+
else {
196195
FILE *pipe_fd = xfdopen(pack_objects.in, "w");
197196
if (!create_full_pack) {
198197
int i;

0 commit comments

Comments
 (0)