AddFromBuffer adds or replaces an index entry from a buffer in memory
(entry *IndexEntry, buffer []byte)
| 206 | |
| 207 | // AddFromBuffer adds or replaces an index entry from a buffer in memory |
| 208 | func (v *Index) AddFromBuffer(entry *IndexEntry, buffer []byte) error { |
| 209 | var centry C.git_index_entry |
| 210 | |
| 211 | populateCIndexEntry(entry, ¢ry) |
| 212 | defer freeCIndexEntry(¢ry) |
| 213 | |
| 214 | var cbuffer unsafe.Pointer |
| 215 | if len(buffer) > 0 { |
| 216 | cbuffer = unsafe.Pointer(&buffer[0]) |
| 217 | } |
| 218 | |
| 219 | runtime.LockOSThread() |
| 220 | defer runtime.UnlockOSThread() |
| 221 | |
| 222 | if err := C.git_index_add_from_buffer(v.ptr, ¢ry, cbuffer, C.size_t(len(buffer))); err < 0 { |
| 223 | return MakeGitError(err) |
| 224 | } |
| 225 | |
| 226 | return nil |
| 227 | } |
| 228 | |
| 229 | func (v *Index) AddAll(pathspecs []string, flags IndexAddOption, callback IndexMatchedPathCallback) error { |
| 230 | cpathspecs := C.git_strarray{} |