diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2020-05-04 09:42:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-04 09:42:02 +0200 |
commit | 79798d4a85b9389b28ef26b70944157d16fc205a (patch) | |
tree | 848a70f42abc28f125109d9ec3412993810e7b5a /plumbing/object/rename.go | |
parent | 8543c83ab70a33834b90df74fef7f398791fb4ae (diff) | |
parent | 8cdf70ac123b26d2234014bce344332f9b0787b3 (diff) | |
download | go-git-79798d4a85b9389b28ef26b70944157d16fc205a.tar.gz |
Merge pull request #54 from go-git/fix/rename-exact-gaps
plumbing: exact renames detection could leave gaps in the changes
Diffstat (limited to 'plumbing/object/rename.go')
-rw-r--r-- | plumbing/object/rename.go | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/plumbing/object/rename.go b/plumbing/object/rename.go index 9ce41b3..b0c62b2 100644 --- a/plumbing/object/rename.go +++ b/plumbing/object/rename.go @@ -177,14 +177,14 @@ func (d *renameDetector) detectExactRenames() { } for _, c := range added { - if _, ok := usedAdds[c]; !ok { + if _, ok := usedAdds[c]; !ok && c != nil { addedLeft = append(addedLeft, c) } } var newDeletes = make([]*Change, 0, len(deleted)-len(usedDeletes)) for _, c := range deleted { - if _, ok := usedDeletes[c]; !ok { + if _, ok := usedDeletes[c]; !ok && c != nil { newDeletes = append(newDeletes, c) } } @@ -197,11 +197,7 @@ func (d *renameDetector) detectExactRenames() { d.added = addedLeft d.deleted = nil for _, dels := range deletes { - for _, del := range dels { - if del != nil { - d.deleted = append(d.deleted, del) - } - } + d.deleted = append(d.deleted, dels...) } } @@ -713,7 +709,7 @@ func (i *similarityIndex) common(dst *similarityIndex) uint64 { } func (i *similarityIndex) add(key int, cnt uint64) error { - key = int(uint32(key)*0x9e370001 >> 1) + key = int(uint32(key) * 0x9e370001 >> 1) j := i.slot(key) for { |