CheckoutIndex: allow for index to be nil

Allow for the index to be nil and pass that to the library to use the
repository's index.
This commit is contained in:
Carlos Martín Nieto 2014-03-11 03:30:56 +01:00
parent b09c6d8bbe
commit 263884a908
1 changed files with 8 additions and 2 deletions

View File

@ -74,15 +74,21 @@ func (v *Repository) CheckoutHead(opts *CheckoutOpts) error {
}
// Updates files in the working tree to match the content of the given
// index. opts may be nil.
// index. If index is nil, the repository's index will be used. opts
// may be nil.
func (v *Repository) CheckoutIndex(index *Index, opts *CheckoutOpts) error {
var copts C.git_checkout_options
ptr := populateCheckoutOpts(&copts, opts)
var iptr *C.git_index = nil
if index != nil {
iptr = index.ptr
}
runtime.LockOSThread()
defer runtime.UnlockOSThread()
ret := C.git_checkout_index(v.ptr, index.ptr, ptr)
ret := C.git_checkout_index(v.ptr, iptr, ptr)
if ret < 0 {
return MakeGitError(ret)
}