summaryrefslogtreecommitdiff
path: root/remote.go
AgeCommit message (Collapse)Author
2024-12-16update to libgit2 version 1.8.4. dump old github and vendor stuffJeff Carr
go install go.wit.com/apps/go-clone@latest go install go.wit.com/apps/go-mod-clean@latest go-clone --recusive go.wit.com/lib/git2go Signed-off-by: Jeff Carr <[email protected]>
2022-10-04libgit2 v1.5.0 #major (#929)Sanskar Jaiswal
Update libgit2 to v1.5.0. Replace `SmartProxyOptions()` with `SmartRemoteConnectOptions()`. Fixes: https://github.com/libgit2/git2go/issues/899 Signed-off-by: Sanskar Jaiswal <[email protected]> Co-authored-by: lhchavez <[email protected]>
2022-01-17Add ProxyOptions for push operations (#872)Aurélien
Analog to #623 but for push operations rather than fetch.
2021-10-23bugfix: HTTPS Clone fails with remote pointer not found using Go transport ↵Yashodhan Ghadge
(#836) (#842) Fixes: #836 Changes: * adding a weak bool param for Remote * create a new remote in the smartTransportCallback incase one is not found
2021-09-05Expose the ssh.PublicKey into the CertificateCheckCallback (#818)lhchavez
This change exposes the raw SSH hostkey and the ssh.PublicKey into the CertificateCheckCallback, so that callers can do better validations.
2021-09-05libgit2 v1.2.0 #majorlhchavez
This commit introduces libgit2 v1.2.0 to git2go, which brings a large number of [bugfixes and features](https://github.com/libgit2/libgit2/releases/tag/v1.2.0). This also marks the start of the v32 release.
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.
2021-09-05Add support for managed SSH transport #minor (#814)lhchavez
This change drops the (hard) dependency on libssh2 and instead uses Go's implementation of SSH when libgit2 is not built with it.
2021-09-05Add support for managed HTTP/S transports (#810)lhchavez
This change uses the newly-exposed Transport interface to use Go's implementation of http.Client instead of httpclient via libgit2.
2021-09-05Add support for custom smart transports (#806)lhchavez
This change adds support for git smart transports. This will be then used to implement http, https, and ssh transports that don't rely on the libgit2 library.
2021-09-05Make all non-user-creatable structures non-comparable (#802)lhchavez
This change makes all non-user-creatable structures non-comparable. This makes it easier to add changes later that don't introduce breaking changes from the go compatibility guarantees perspective. This, of course, implies that this change _is_ a breaking change, but since these structures are not intended to be created by users (or de-referenced), it should be okay.
2021-09-04Prepare for the v1.2.0 release (#796)lhchavez
This change adds a few more deprecation messages just before we remove them.
2021-02-03Support git_remote_create_with_opts (#733)Byoungchan Lee
Closes #645
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-10Ensure that no pointer handles leak during the test (#712)lhchavez
This change makes sure that pointer handles are correctly cleaned up during tests.
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-11-26Expose GIT_CERT_SSH_SHA256 (#690)Hans Duedal
Newer versions of libssh2 use SHA256 fingerprints
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.
2020-07-10FetchOptions: add ability to specify ProxyOptions (#623)Jesse Hathaway
Prior to this change you could not specifiy proxy options on the FetchOptions struct, which made it impossible to specify a proxy for an initial clone. This change adds the ProxyOptions to the FetchOptions struct so you can go through a proxy when cloning.
2020-03-26clear native cred pointer after transfer ownership to libgitVladimir Buzuev
2020-03-26fix SIGSERV on double free for Cred objectVladimir Buzuev
2020-02-23Fix the Cred interfacelhchavez
This change adds Cred.Free() and finalizers to prevent memory leaks. It also makes the interface for Cred more idiomatic and return actual errors intead of ints.
2020-02-13Fix build for go 1.9lhchavez
This change makes the #includes between credentials.go and remote.go consistent to avoid a build error in go 1.9.
2017-07-04remote: add keep-alive and references to the repositoryCarlos Martín Nieto
Especially in 1.8, the garbage collector can decide to finalize an object even as we are in one of its methods. This means it can free a remote while we're in one of its calls, as we're referencing the pointer inside the object, rather than the `Remote` itself.
2017-01-20Merge remote-tracking branch 'origin/next'Carlos Martín Nieto
2016-10-08Remote Rename FixMirko Nosenzo
Problem string array is returned if no error is occurred
2016-07-07Returning Problems on Remote RenameMirko Nosenzo
Problems can be returned as string array on RemoteCollection Rename
2016-05-29Remote RefinementsMirko Nosenzo
- Fixed credentialsCallback return value for missing callback - Added Remote Rename - Added Remote Disconnect
2016-04-23Update to 1dc4491Carlos Martín Nieto
2016-02-15Merge remote-tracking branch 'upstream/master' into nextCarlos Martín Nieto
2015-11-12Fix Fetch/Push memory allocation problemsJose Alvarez
The Fetch/Push operations didn't allocate the git_*_options structure and this causes a memory problem in the libgit2 code. Following the example of Clone operation, the Fetch/Push functions allocates the options structure before calling the C.
2015-10-26Update libgit2 to 821131fCalin Seciu
The API changes are: - `*Remote.Connect` ```go // from: func (o *Remote) Connect(direction ConnectDirection, callbacks *RemoteCallbacks) error // to: func (o *Remote) Connect(direction ConnectDirection, callbacks *RemoteCallbacks, headers []string) error ``` - `*Remote.ConnectFetch` - `headers` was added as above - `*Remote.ConnectPush` - `headers` was added as above
2015-08-31Run go fmtCarlos Martín Nieto
As it seems to be something that many people can't get over, reformat all the files; as we're breaking things, whoever depended on 'next' will have to take many changes into account anyway, so let's include this to reduce the noise of incoming patches.
2015-08-31Add nil check on CredentialsCallback wrapperAaron O'Mullan
2015-08-31Add back support for RemoteCallbacks in Remote.Push()Aaron O'Mullan
2015-07-01Merge remote-tracking branch 'upstream/master' into nextCarlos Martín Nieto
2015-07-01Merge commit 'refs/pull/174/head' of github.com:libgit2/git2goCarlos Martín Nieto
2015-06-28Merge remote-tracking branch 'upstream/master' into nextCarlos Martín Nieto
Conflicts: branch.go
2015-06-28Create a RemoteCollection for managing remotesCarlos Martín Nieto
Instead of making the 'Remote' part of the function calls, create a collection object which serves to namespace the operations for the remotes.
2015-06-28Get rid of Owner() on Remote and SubmdouleCarlos Martín Nieto
These are inherently unsafe. The underlying pointer might get released at any moment.
2015-06-28Update to libgit2 fa39975Carlos Martín Nieto
2015-06-10Make the network code use handlesCarlos Martín Nieto
This wasn't ported together with the rest, but it does exhibit the same issues, so let's port it over now.
2015-06-08Update to libgit2 b6011e29Carlos Martín Nieto
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-04Default signatureMark Probst
2015-02-13use git_signature_freeMatthew Donoughe
2015-01-05Add prune methods to Remote.David Calavera
2015-01-04Update to libgit2 masterCarlos Martín Nieto
This gets rid of the Push object. All network now goes through the Remote object.
2014-12-13Add the new callbacks for Remote.Push()Carlos Martín Nieto
This unifies the types with the Push struct, in preparation for its deletion.