← Back to team overview

dulwich-users team mailing list archive

[PATCH v2 00/24]

 

Rebased on current master, with diff.py -> diff_tree.py.


f0bd700 Add tree-diffing functionality in a 'diff_tree' module.
36565f5 diff_tree: Prune identical subtrees during tree_changes.
720cec8 Use diff_tree.tree_changes for BaseObjectStore.tree_changes.
5abe02b Use diff_tree.walk_trees for BaseObjectStore.iter_tree_contents.
af32ad1 diff_tree: Add function to count blocks in an object.
197726b diff_tree: Add a function to compute blob similarity score.
551e103 diff_tree: Add TreeEntry.add() and delete() factory functions.
4cf3e8a test_diff_tree: Extract a base TestCase class.
c5f175c test_diff_tree: Simplify commit_tree helper method.
7f5e30a diff_tree: Add key for sorting TreeChanges.
c99a889 diff_tree: RenameDetector with exact rename detection.
0877d14 test_diff_tree: Allow passing SHAs to commit_tree.
3ad27c4 diff_tree: Simple content-based rename detection.
859e7ba diff_tree: Add optional max_files limit for content rename detection.
6267d6b diff_tree: Factor out _is_tree function for TreeEntry objects.
818d4c5 diff_tree: C implementation of _is_tree.
c0b63b4 diff_tree: C implementation of _merge_entries.
c72a2de diff_tree: Consider dissimilar modifies to be delete/add pairs.
4006afc diff_tree: Optimize _count_blocks inner loop.
9f4b005 diff_tree: Use hashcodes as block keys instead of strings.
cbcac20 tests/utils: Add builder functions to make C extension tests.
e9780af Use ext_functest_builder for existing extension tests.
4cada22 diff_tree: C implementation of count_blocks.
7066f4d diff_tree: Add find_copies_harder to consider unmodified files.

 dulwich/_diff_tree.c               |  445 ++++++++++++++++++++++++
 dulwich/diff_tree.py               |  493 ++++++++++++++++++++++++++
 dulwich/misc.py                    |   41 +++
 dulwich/object_store.py            |   72 +---
 dulwich/tests/test_diff_tree.py    |  670 ++++++++++++++++++++++++++++++++++++
 dulwich/tests/test_object_store.py |   34 ++-
 dulwich/tests/test_objects.py      |   35 +--
 dulwich/tests/test_patch.py        |   14 +-
 dulwich/tests/utils.py             |   42 +++
 setup.py                           |    2 +
 10 files changed, 1755 insertions(+), 93 deletions(-)




Follow ups