aboutsummaryrefslogtreecommitdiffstats
path: root/utils/merkletrie/index
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2021-12-10 06:49:09 +0100
committerGitHub <noreply@github.com>2021-12-10 06:49:09 +0100
commit39f97ab86a776dd8acd58a79a660d0cfdb7068c0 (patch)
tree119b9f5b10f2fd1053c430e1891b0e33d927615b /utils/merkletrie/index
parentc71074e855b42c817c6ecb6cba7e6b62eafc08d3 (diff)
parentf92011d95f98f5deea4959c7d432704a4300d3a8 (diff)
downloadgo-git-39f97ab86a776dd8acd58a79a660d0cfdb7068c0.tar.gz
Merge pull request #410 from john-cai/jc-sparse
Worktree: Checkout, simplified sparse checkout
Diffstat (limited to 'utils/merkletrie/index')
-rw-r--r--utils/merkletrie/index/node.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/merkletrie/index/node.go b/utils/merkletrie/index/node.go
index d05b0c6..c1809f7 100644
--- a/utils/merkletrie/index/node.go
+++ b/utils/merkletrie/index/node.go
@@ -19,6 +19,7 @@ type node struct {
entry *index.Entry
children []noder.Noder
isDir bool
+ skip bool
}
// NewRootNode returns the root node of a computed tree from a index.Index,
@@ -39,7 +40,7 @@ func NewRootNode(idx *index.Index) noder.Noder {
continue
}
- n := &node{path: fullpath}
+ n := &node{path: fullpath, skip: e.SkipWorktree}
if fullpath == e.Name {
n.entry = e
} else {
@@ -58,6 +59,10 @@ func (n *node) String() string {
return n.path
}
+func (n *node) Skip() bool {
+ return n.skip
+}
+
// Hash the hash of a filesystem is a 24-byte slice, is the result of
// concatenating the computed plumbing.Hash of the file as a Blob and its
// plumbing.FileMode; that way the difftree algorithm will detect changes in the