diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2017-07-19 01:26:16 +0200 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2017-07-19 01:26:16 +0200 |
commit | 8210c82bcd6ff7f7c66b8f5fc1be00307fe59c42 (patch) | |
tree | 8b6fbb9401c43133dfac280eb36ea49df6d26e10 /utils/merkletrie/index | |
parent | acb1a5f7a47e4759bbe1592a0a58571bda6289e7 (diff) | |
download | go-git-8210c82bcd6ff7f7c66b8f5fc1be00307fe59c42.tar.gz |
utils: merkletrie filesystem based on path, and not in filepath
Diffstat (limited to 'utils/merkletrie/index')
-rw-r--r-- | utils/merkletrie/index/node.go | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/utils/merkletrie/index/node.go b/utils/merkletrie/index/node.go index 859c097..9622622 100644 --- a/utils/merkletrie/index/node.go +++ b/utils/merkletrie/index/node.go @@ -1,7 +1,7 @@ package index import ( - "path/filepath" + "path" "strings" "gopkg.in/src-d/go-git.v4/plumbing/format/index" @@ -28,19 +28,19 @@ func NewRootNode(idx *index.Index) noder.Noder { m := map[string]*node{rootNode: {isDir: true}} for _, e := range idx.Entries { - parts := strings.Split(e.Name, string(filepath.Separator)) + parts := strings.Split(e.Name, string("/")) - var path string + var fullpath string for _, part := range parts { - parent := path - path = filepath.Join(path, part) + parent := fullpath + fullpath = path.Join(fullpath, part) - if _, ok := m[path]; ok { + if _, ok := m[fullpath]; ok { continue } - n := &node{path: path} - if path == e.Name { + n := &node{path: fullpath} + if fullpath == e.Name { n.entry = e } else { n.isDir = true @@ -74,7 +74,7 @@ func (n *node) Hash() []byte { } func (n *node) Name() string { - return filepath.Base(n.path) + return path.Base(n.path) } func (n *node) IsDir() bool { |