From dd973b99ad050eae73c3cc3deac162e797c6f530 Mon Sep 17 00:00:00 2001 From: Melvin Date: Thu, 25 Oct 2018 15:13:32 -0700 Subject: [PATCH] Add index.Clear() to clear the index object --- index.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/index.go b/index.go index 5106516..dd13460 100644 --- a/index.go +++ b/index.go @@ -145,6 +145,20 @@ func (v *Index) Path() string { return ret } +// Clear clears the index object in memory; changes must be explicitly +// written to disk for them to take effect persistently +func (v *Index) Clear() error { + runtime.LockOSThread() + defer runtime.UnlockOSThread() + + err := C.git_index_clear(v.ptr) + runtime.KeepAlive(v) + if err < 0 { + return MakeGitError(err) + } + return nil +} + // Add adds or replaces the given entry to the index, making a copy of // the data func (v *Index) Add(entry *IndexEntry) error {