diff options
author | Kirill Smelkov <kirr@mns.spb.ru> | 2014-02-24 20:21:37 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-03-04 13:33:47 -0800 |
commit | 7e9003c1497d01f2e75a5f3df7303643fb2432c3 (patch) | |
tree | fde09d5b9bfbeb6f6fc2cee5db1da33d0a3fbc3a /diff-no-index.c | |
parent | e906612121bc9d436a3a64cd03be0537654e800c (diff) | |
download | git-7e9003c1497d01f2e75a5f3df7303643fb2432c3.tar.gz |
tree-diff: show_tree() is not needed
We don't need special code for showing added/removed subtree, because we
can do the same via diff_tree_sha1, just passing NULL for absent tree.
And compared to show_tree(), which was calling show_entry() for every
tree entry, that would lead to the same show_entry() callings:
show_tree(t):
for e in t.entries:
show_entry(e)
diff_tree_sha1(NULL, new): /* the same applies to (old, NULL) */
diff_tree(t1=NULL, t2)
...
if (!t1->size)
show_entry(t2)
...
and possible overhead is negligible, since after the patch, timing for
`git log --raw --no-abbrev --no-renames`
for navy.git and `linux.git v3.10..v3.11` is practically the same.
So let's say goodbye to show_tree() - it removes some code, but also,
and what is important, consolidates more code for showing/recursing into
trees into one place.
Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diff-no-index.c')
0 files changed, 0 insertions, 0 deletions