diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2017-05-04 01:48:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-04 01:48:53 +0200 |
commit | e727d4d0cf4beff77c44bb143a5edb560c840aab (patch) | |
tree | f43a94ef85be1f3a36c5dfb1bb60eb0747c15902 /worktree_status.go | |
parent | 727bf94da8e3cebd3ff467d30425b12d671fbca7 (diff) | |
parent | 75c5adffb8b1e80665753784129e2f16210514c1 (diff) | |
download | go-git-e727d4d0cf4beff77c44bb143a5edb560c840aab.tar.gz |
Merge pull request #364 from mcuadros/index-pointer
plumbing: index, Entries converted in a slice of pointers
Diffstat (limited to 'worktree_status.go')
-rw-r--r-- | worktree_status.go | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/worktree_status.go b/worktree_status.go index 6becada..46922da 100644 --- a/worktree_status.go +++ b/worktree_status.go @@ -234,7 +234,7 @@ func (w *Worktree) addOrUpdateFileToIndex(filename string, h plumbing.Hash) erro } func (w *Worktree) doAddFileToIndex(idx *index.Index, filename string) error { - idx.Entries = append(idx.Entries, index.Entry{ + idx.Entries = append(idx.Entries, &index.Entry{ Name: filename, }) @@ -247,21 +247,18 @@ func (w *Worktree) doUpdateFileToIndex(idx *index.Index, filename string, h plum return err } - for i, e := range idx.Entries { - if e.Name != filename { - continue - } - - e.Hash = h - e.ModifiedAt = info.ModTime() - e.Mode, err = filemode.NewFromOSFileMode(info.Mode()) - if err != nil { - return err - } + e, err := idx.Entry(filename) + if err != nil { + return err + } - fillSystemInfo(&e, info.Sys()) - idx.Entries[i] = e + e.Hash = h + e.ModifiedAt = info.ModTime() + e.Mode, err = filemode.NewFromOSFileMode(info.Mode()) + if err != nil { + return err } + fillSystemInfo(e, info.Sys()) return nil } |