diff options
author | Santiago M. Mola <santi@mola.io> | 2016-12-14 23:12:44 +0100 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2016-12-14 23:12:44 +0100 |
commit | 0af572dd21c0aa79d13745b633ee24ba6c4d6cf1 (patch) | |
tree | 49e81e74e82d84fd88b2fc1e4b0dc7c7bfe9c40f /difftree/internal/merkletrie/doc.go | |
parent | df0f38af83f972f026d7e14150f3d37b95f13484 (diff) | |
download | go-git-0af572dd21c0aa79d13745b633ee24ba6c4d6cf1.tar.gz |
move plumbing from top level package to plumbing (#183)
* plumbing: rename Object -> EncodedObject.
* plumbing/storer: rename ObjectStorer -> EncodedObjectStorer.
* move difftree to plumbing/difftree.
* move diff -> utils/diff
* make Object/Tag/Blob/Tree/Commit/File depend on storer.
* Object and its implementations now depend only on
storer.EncodedObjectStorer, not git.Repository.
* Tests are decoupled accordingly.
* move Object/Commit/File/Tag/Tree to plumbing/object.
* move Object/Commit/File/Tag/Tree to plumbing/object.
* move checkClose to utils/ioutil.
* move RevListObjects to plumbing/revlist.Objects.
* move DiffTree to plumbing/difftree package.
* rename files with plural nouns to singular
* plumbing/object: add GetBlob/GetCommit/GetTag/GetTree.
Diffstat (limited to 'difftree/internal/merkletrie/doc.go')
-rw-r--r-- | difftree/internal/merkletrie/doc.go | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/difftree/internal/merkletrie/doc.go b/difftree/internal/merkletrie/doc.go deleted file mode 100644 index f8c3b2f..0000000 --- a/difftree/internal/merkletrie/doc.go +++ /dev/null @@ -1,30 +0,0 @@ -package merkletrie - -/* -Package merkletrie gives support for n-ary trees that are at the same -time Merkle trees and Radix trees, and provides an efficient tree -comparison algorithm for them. - -Git trees are Radix n-ary trees in virtue of the names of their -tree entries. At the same time, git trees are Merkle trees thanks to -their hashes. - -When comparing git trees, the simple approach of alphabetically sorting -their elements and comparing the resulting lists is not enough as it -depends linearly on the number of files in the trees: When a directory -has lots of files but none of them has been modified, this approach is -very expensive. We can do better by prunning whole directories that -have not change, by just by looking at their hashes. This package -provides the tools to do exactly that. - -This package defines Radix-Merkle trees as nodes that should have: -- a hash: the Merkle part of the Radix-Merkle tree -- a key: the Radix part of the Radix-Merkle tree - -The Merkle hash condition is not enforced by this package though. This -means that node hashes doesn't have to take into account the hashes of -their children, which is good for testing purposes. - -Nodes in the Radix-Merkle tree are abstracted by the Noder interface. -The intended use is that git.Tree implements this interface. -*/ |