Skip to content

Commit

Permalink
line-log: convert to using diff_tree_sha1()
Browse files Browse the repository at this point in the history
Since diff_tree_sha1() can now accept empty trees via NULL sha1, we
could just call it without manually reading trees into tree_desc and
duplicating code.

Cc: Thomas Rast <tr@thomasrast.ch>
Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Kirill Smelkov authored and gitster committed Feb 5, 2014
1 parent 0b707c3 commit 7bc4ec0
Showing 1 changed file with 2 additions and 24 deletions.
26 changes: 2 additions & 24 deletions line-log.c
Expand Up @@ -766,16 +766,6 @@ void line_log_init(struct rev_info *rev, const char *prefix, struct string_list
}
}

static void load_tree_desc(struct tree_desc *desc, void **tree,
const unsigned char *sha1)
{
unsigned long size;
*tree = read_object_with_reference(sha1, tree_type, &size, NULL);
if (!*tree)
die("Unable to read tree (%s)", sha1_to_hex(sha1));
init_tree_desc(desc, *tree, size);
}

static int count_parents(struct commit *commit)
{
struct commit_list *parents = commit->parents;
Expand Down Expand Up @@ -842,30 +832,18 @@ static void queue_diffs(struct line_log_data *range,
struct diff_queue_struct *queue,
struct commit *commit, struct commit *parent)
{
void *tree1 = NULL, *tree2 = NULL;
struct tree_desc desc1, desc2;

assert(commit);
load_tree_desc(&desc2, &tree2, commit->tree->object.sha1);
if (parent)
load_tree_desc(&desc1, &tree1, parent->tree->object.sha1);
else
init_tree_desc(&desc1, "", 0);

DIFF_QUEUE_CLEAR(&diff_queued_diff);
diff_tree(&desc1, &desc2, "", opt);
diff_tree_sha1(parent ? parent->tree->object.sha1 : NULL,
commit->tree->object.sha1, "", opt);
if (opt->detect_rename) {
filter_diffs_for_paths(range, 1);
if (diff_might_be_rename())
diffcore_std(opt);
filter_diffs_for_paths(range, 0);
}
move_diff_queue(queue, &diff_queued_diff);

if (tree1)
free(tree1);
if (tree2)
free(tree2);
}

static char *get_nth_line(long line, unsigned long *ends, void *data)
Expand Down

0 comments on commit 7bc4ec0

Please sign in to comment.