Code

Merge branch 'lt/pack-object-memuse'
authorJunio C Hamano <gitster@pobox.com>
Sat, 18 Apr 2009 21:46:17 +0000 (14:46 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 18 Apr 2009 21:46:17 +0000 (14:46 -0700)
* lt/pack-object-memuse:
  show_object(): push path_name() call further down
  process_{tree,blob}: show objects without buffering

Conflicts:
builtin-pack-objects.c
builtin-rev-list.c
list-objects.c
list-objects.h
upload-pack.c

1  2 
builtin-pack-objects.c
builtin-rev-list.c
list-objects.c
list-objects.h
revision.c
revision.h
upload-pack.c

Simple merge
Simple merge
diff --cc list-objects.c
index 433394a107fe682b6adfcb122ef182321c4f5947,30ded3d4dd9d41432eba317ccc8765746b7d5c95..8953548c07bb36f20798c7ca344d07960c22618c
@@@ -134,18 -134,21 +134,22 @@@ void mark_edges_uninteresting(struct co
        }
  }
  
+ static void add_pending_tree(struct rev_info *revs, struct tree *tree)
+ {
+       add_pending_object(revs, &tree->object, "");
+ }
  void traverse_commit_list(struct rev_info *revs,
                          show_commit_fn show_commit,
 -                        show_object_fn show_object)
 +                        show_object_fn show_object,
 +                        void *data)
  {
        int i;
        struct commit *commit;
-       struct object_array objects = { 0, 0, NULL };
  
        while ((commit = get_revision(revs)) != NULL) {
-               process_tree(revs, commit->tree, &objects, NULL, "");
+               add_pending_tree(revs, commit->tree);
 -              show_commit(commit);
 +              show_commit(commit, data);
        }
        for (i = 0; i < revs->pending.nr; i++) {
                struct object_array_entry *pending = revs->pending.objects + i;
diff --cc list-objects.h
index 47fae2e4683e604b81c530a80494033a2e36ca35,0b2de64301b59b5e27ca738242c92109332f9e07..d65dbf03e657facb29a2846144eda2fa3687bc2f
@@@ -1,11 -1,11 +1,11 @@@
  #ifndef LIST_OBJECTS_H
  #define LIST_OBJECTS_H
  
 -typedef void (*show_commit_fn)(struct commit *);
 +typedef void (*show_commit_fn)(struct commit *, void *);
- typedef void (*show_object_fn)(struct object_array_entry *, void *);
+ typedef void (*show_object_fn)(struct object *, const struct name_path *, const char *);
  typedef void (*show_edge_fn)(struct commit *);
  
 -void traverse_commit_list(struct rev_info *revs, show_commit_fn, show_object_fn);
 +void traverse_commit_list(struct rev_info *, show_commit_fn, show_object_fn, void *);
  
  void mark_edges_uninteresting(struct commit_list *, struct rev_info *, show_edge_fn);
  
diff --cc revision.c
Simple merge
diff --cc revision.h
Simple merge
diff --cc upload-pack.c
Simple merge