git-daemon --base-path
[git.git] / commit.c
index e867b86..e9a29ca 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -352,6 +352,19 @@ struct commit *pop_most_recent_commit(struct commit_list **list,
        return ret;
 }
 
+void clear_commit_marks(struct commit *commit, unsigned int mark)
+{
+       struct commit_list *parents;
+
+       parents = commit->parents;
+       commit->object.flags &= ~mark;
+       while (parents) {
+               if (parents->item && parents->item->object.parsed)
+                       clear_commit_marks(parents->item, mark);
+               parents = parents->next;
+       }
+}
+
 /*
  * Generic support for pretty-printing the header
  */
@@ -560,6 +573,9 @@ void sort_in_topological_order(struct commit_list ** list)
                next = next->next;
                count++;
        }
+       
+       if (!count)
+               return;
        /* allocate an array to help sort the list */
        nodes = xcalloc(count, sizeof(*nodes));
        /* link the list to the array */