summaryrefslogtreecommitdiff
path: root/checkout.go
AgeCommit message (Collapse)Author
2021-09-05The big Callback type adjustment of 2020lhchavez
This change makes all callbacks that can fail return an `error`. This makes things a lot more idiomatic.
2020-12-10More callback refactoring (#713)lhchavez
This change: * Gets rid of the `.toC()` functions for Options objects, since they were redundant with the `populateXxxOptions()`. * Adds support for `errorTarget` to the `RemoteOptions`, since they are used in the same stack for some functions (like `Fetch()`). Now for those cases, the error returned by the callback will be preserved as-is.
2020-12-05Refactor all callbacks (#700)lhchavez
This change is a preparation for another change that makes all callback types return a Go error instead of an error code / an integer. That is going to make make things a lot more idiomatic. The reason this change is split is threefold: a) This change is mostly mechanical and should contain no semantic changes. b) This change is backwards-compatible (in the Go API compatibility sense of the word), and thus can be backported to all other releases. c) It makes the other change a bit smaller and more focused on just one thing. Concretely, this change makes all callbacks populate a Go error when they fail. If the callback is invoked from the same stack as the function to which it was passed (e.g. for `Tree.Walk`), it will preserve the error object directly into a struct that also holds the callback function. Otherwise if the callback is pased to one func and will be invoked when run from another one (e.g. for `Repository.InitRebase`), the error string is saved into the libgit2 thread-local storage and then re-created as a `GitError`.
2020-12-05Mark some symbols to be deprecated #minor (#698)lhchavez
This change introduces the file deprecated.go, which contains any constants, functions, and types that are slated to be deprecated in the next major release. These symbols are deprecated because they refer to old spellings in pre-1.0 libgit2. This also makes the build be done with the `-DDEPRECATE_HARD` flag to avoid regressions. This, together with [gorelease](https://godoc.org/golang.org/x/exp/cmd/gorelease)[1] should make releases safer going forward. 1: More information about how that works at https://go.googlesource.com/exp/+/refs/heads/master/apidiff/README.md
2020-10-22refactor: Use undeprecated options init (#656)Suhaib Mujahid
This PR move form linking against the deprecated `init_options` functions to the renamed `options_init` functions. For more context see libgit2/libgit2@0b5ba0d744e69da5dc8c08d167c83dd87ed83af2 and libgit2/libgit2@c6184f0c4b209e462bf3f42ab20df2d13d8ee918.
2018-12-17Fix typo in constant nameWill Medlar
2017-07-08First round of mass keep-alive additionsCarlos Martín Nieto
2016-08-28Removed Useless Argument CheckMirko Nosenzo
2016-06-25Checkout Payload Pointer FixMirko Nosenzo
- Tracking pointer once - Tracking pointer and not struct
2016-05-29Checkout Callbacks Payload Check in Callback FunctionsMirko Nosenzo
Checking payloads in callback functions
2016-05-29Checkout Callbacks Payload CheckMirko Nosenzo
Checking payloads before using them
2016-05-29Checkout CallbacksMirko Nosenzo
- Added CheckoutNotifyType mapping git_checkout_notify_t - Added CheckoutOpts.NotifyFlags of type CheckoutNotifyType - Added CheckoutNotifyCallback mapping git_checkout_notify_cb - Added CheckoutProgressCallback mapping git_checkout_progress_cb
2015-09-18Expose baseline field in CheckoutOptionsJose Alvarez
2015-07-10Bring back CheckoutForceCarlos Martín Nieto
This was mistakenly deleted when the SafeCreate was replaced with RecreateMissing.
2015-06-08Merge remote-tracking branch 'origin/master' into nextCarlos Martín Nieto
2015-04-03Merge pull request #180 from arcamael/masterCarlos Martín Nieto
Add possibiliy of checkout on specific path
2015-03-15Add possibiliy of checkout on specific pathGeoffrey Ragot
2015-03-15Update to libgit2 d675982a153Carlos Martín Nieto
There's been some changes to the checkout strategy, especially the SAFE_CREATE mode, which is now the RECREATE_MISSING flag, though that shouldn't be necessary to use in the general case. The largest changes come from the removal of the signture from ref-modifying functions/methods and the removal of the reflog string in all but those directly related to moving references.
2015-03-04CherrypickMark Probst
2015-03-04Fix typos in constantsMark Probst
2015-01-29Add TargetDirectory field to Checkout options.joseferminj
TargetDirectory field indicates a alternative checkout path to workdir.
2014-10-28Make the constants have typesCarlos Martín Nieto
While Go will assign the correct type to a const block when it auto-creates the values, assigning makes the const be typeless and will only gain it in each particular use. Make each constant in the blocks have an assigned type.
2014-08-28embrace static typesCMGS
2014-08-27enhance checkout, add CheckoutTree methodCMGS
2014-05-03checkout: init_opts -> init_optionsCarlos Martín Nieto
2014-03-26update to new merge APIJesse Ezell
2014-03-11CheckoutIndex: allow for index to be nilCarlos Martín Nieto
Allow for the index to be nil and pass that to the library to use the repository's index.
2014-03-11Move checkout functions options more in line with the libraryCarlos Martín Nieto
Afjust Checkout -> CheckoutHead and pass nil if the options structure is nil so as not to overide the library's decisions.
2014-03-11Remove custom checkout opts init functionCarlos Martín Nieto
2014-03-11Adjust to checkout_opts -> checkout_optionsCarlos Martín Nieto
2014-02-26Added git error code to the error object.Jesper Hansen
2013-12-18Lock the OS thread when acessing errorsCarlos Martín Nieto
The library stores error information in thread-local storage, which means we need to make sure that the Go runtime doesn't switch OS threads between the time we call a function and th time we attempt to retrieve the error information.
2013-11-14Don't repeat the pkg-config lineCarlos Martín Nieto
This is only needed once per package. Having it on every file makes the build system ask about it n times, which is silly.
2013-09-12Camel-case constantsCarlos Martín Nieto
Make the names look more like what you'd expect from Go.
2013-03-19Implement rudimentary checkout operationsAxel Wagner