(callback SubmoduleCallback)
| 135 | } |
| 136 | |
| 137 | func (c *SubmoduleCollection) Foreach(callback SubmoduleCallback) error { |
| 138 | var err error |
| 139 | data := submoduleCallbackData{ |
| 140 | callback: callback, |
| 141 | errorTarget: &err, |
| 142 | } |
| 143 | runtime.LockOSThread() |
| 144 | defer runtime.UnlockOSThread() |
| 145 | |
| 146 | handle := pointerHandles.Track(data) |
| 147 | defer pointerHandles.Untrack(handle) |
| 148 | |
| 149 | ret := C._go_git_visit_submodule(c.repo.ptr, handle) |
| 150 | runtime.KeepAlive(c) |
| 151 | if ret == C.int(ErrorCodeUser) && err != nil { |
| 152 | return err |
| 153 | } |
| 154 | if ret < 0 { |
| 155 | return MakeGitError(ret) |
| 156 | } |
| 157 | |
| 158 | return nil |
| 159 | } |
| 160 | |
| 161 | func (c *SubmoduleCollection) Add(url, path string, use_git_link bool) (*Submodule, error) { |
| 162 | curl := C.CString(url) |
nothing calls this directly
no test coverage detected