diff options
author | Kirill Smelkov <kirr@mns.spb.ru> | 2014-03-27 18:24:38 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-03-27 11:49:35 -0700 |
commit | 52894e70951518e44c064cef2561aed38202fd36 (patch) | |
tree | 1f1198bd7bd987565ea3bc7caf12ca7e0f943119 /t/t2008-checkout-subdir.sh | |
parent | tree-diff: diff_tree() should now be static (diff) | |
download | tgif-52894e70951518e44c064cef2561aed38202fd36.tar.xz |
tree-diff: rework diff_tree interface to be sha1 based
In the next commit this will allow to reduce intermediate calls, when
recursing into subtrees - at that stage we know only subtree sha1, and
it is natural for tree walker to start from that phase. For now we do
diff_tree
show_path
diff_tree_sha1
diff_tree
...
and the change will allow to reduce it to
diff_tree
show_path
diff_tree
Also, it will allow to omit allocating strbuf for each subtree, and just
reuse the common strbuf via playing with its len.
The above-mentioned improvements go in the next 2 patches.
The downside is that try_to_follow_renames(), if active, we cause
re-reading of 2 initial trees, which was negligible based on my timings,
and which is outweighed cogently by the upsides.
NOTE To keep with the current interface and semantics, I needed to
rename the function from diff_tree() to diff_tree_sha1(). As
diff_tree_sha1() was already used, and the function we are talking here
is its more low-level helper, let's use convention for prefixing
such helpers with "ll_". So the final renaming is
diff_tree() -> ll_diff_tree_sha1()
Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t2008-checkout-subdir.sh')
0 files changed, 0 insertions, 0 deletions