]> Pileus Git - ~andy/git/blobdiff - fetch-pack.c
pull: use merge-base --fork-point when appropriate
[~andy/git] / fetch-pack.c
index a0e0350ae6bdf338b3c11c21fc050edb60c88569..5a1200f1a06f0ba3a9366eb9221d982d423d8da0 100644 (file)
@@ -47,9 +47,8 @@ static void rev_list_push(struct commit *commit, int mark)
        if (!(commit->object.flags & mark)) {
                commit->object.flags |= mark;
 
-               if (!(commit->object.parsed))
-                       if (parse_commit(commit))
-                               return;
+               if (parse_commit(commit))
+                       return;
 
                prio_queue_put(&rev_list, commit);
 
@@ -128,8 +127,7 @@ static const unsigned char *get_rev(void)
                        return NULL;
 
                commit = prio_queue_get(&rev_list);
-               if (!commit->object.parsed)
-                       parse_commit(commit);
+               parse_commit(commit);
                parents = commit->parents;
 
                commit->object.flags |= POPPED;
@@ -747,6 +745,10 @@ static int get_pack(struct fetch_pack_args *args,
                close(cmd.out);
        }
 
+       if (!use_sideband)
+               /* Closed by start_command() */
+               xd[0] = -1;
+
        ret = finish_command(&cmd);
        if (!ret || (args->check_self_contained_and_connected && ret == 1))
                args->self_contained_and_connected =