Merge branch 'jc/traverse-commit-list'

* jc/traverse-commit-list:
  revision.c: update show_object_with_name() without using malloc()
  revision.c: add show_object_with_name() helper function
  rev-list: fix finish_object() call
This commit is contained in:
Junio C Hamano
2011-10-05 12:36:19 -07:00
4 changed files with 46 additions and 29 deletions

View File

@ -86,20 +86,7 @@ static void show_commit(struct commit *commit, void *data)
static void show_object(struct object *obj, const struct name_path *path, const char *component)
{
/* An object with name "foo\n0000000..." can be used to
* confuse downstream git-pack-objects very badly.
*/
const char *name = path_name(path, component);
const char *ep = strchr(name, '\n');
if (ep) {
fprintf(pack_pipe, "%s %.*s\n", sha1_to_hex(obj->sha1),
(int) (ep - name),
name);
}
else
fprintf(pack_pipe, "%s %s\n",
sha1_to_hex(obj->sha1), name);
free((char *)name);
show_object_with_name(pack_pipe, obj, path, component);
}
static void show_edge(struct commit *commit)