aboutsummaryrefslogtreecommitdiffstats
path: root/worktree_status.go
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2017-05-04 01:48:53 +0200
committerGitHub <noreply@github.com>2017-05-04 01:48:53 +0200
commite727d4d0cf4beff77c44bb143a5edb560c840aab (patch)
treef43a94ef85be1f3a36c5dfb1bb60eb0747c15902 /worktree_status.go
parent727bf94da8e3cebd3ff467d30425b12d671fbca7 (diff)
parent75c5adffb8b1e80665753784129e2f16210514c1 (diff)
downloadgo-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.go25
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
}