<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jcarr/git2go/clone.go, branch v0.0.35</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://cgit.wit.com/jcarr/git2go/atom?h=v0.0.35</id>
<link rel='self' href='http://cgit.wit.com/jcarr/git2go/atom?h=v0.0.35'/>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/'/>
<updated>2021-09-06T01:52:01Z</updated>
<entry>
<title>Make all Options objects consistent</title>
<updated>2021-09-06T01:52:01Z</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2020-12-05T03:54:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=b78bde3d74b1617d5b635723552aaec0583eb054'/>
<id>urn:sha1:b78bde3d74b1617d5b635723552aaec0583eb054</id>
<content type='text'>
This change makes all Options objects have child Option fields as values
(instead of pointers) to mirror the libgit2 interface. It also names
them Options instead of Opts to match the current libgit2 nomenclature
and removes the Version fields.
</content>
</entry>
<entry>
<title>The big Callback type adjustment of 2020</title>
<updated>2021-09-06T01:52:01Z</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2020-12-02T03:11:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=5def02a589a2c1653f4bb515fdec290361a222be'/>
<id>urn:sha1:5def02a589a2c1653f4bb515fdec290361a222be</id>
<content type='text'>
This change makes all callbacks that can fail return an `error`. This
makes things a lot more idiomatic.
</content>
</entry>
<entry>
<title>Add support for custom smart transports (#806)</title>
<updated>2021-09-05T22:44:18Z</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2021-09-05T22:44:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=f1fa96c7b7f548389c7560d3a1a0bce83be56c9f'/>
<id>urn:sha1:f1fa96c7b7f548389c7560d3a1a0bce83be56c9f</id>
<content type='text'>
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.</content>
</entry>
<entry>
<title>More callback refactoring (#713)</title>
<updated>2020-12-10T15:19:41Z</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2020-12-10T15:19:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=10c67474a89c298172a6703b91980ea37c60d5e5'/>
<id>urn:sha1:10c67474a89c298172a6703b91980ea37c60d5e5</id>
<content type='text'>
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.</content>
</entry>
<entry>
<title>Ensure that no pointer handles leak during the test (#712)</title>
<updated>2020-12-10T13:35:40Z</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2020-12-10T13:35:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=e28cce87c7551bffa1f4602ff492348f9a8cba60'/>
<id>urn:sha1:e28cce87c7551bffa1f4602ff492348f9a8cba60</id>
<content type='text'>
This change makes sure that pointer handles are correctly cleaned up
during tests.</content>
</entry>
<entry>
<title>Refactor all callbacks (#700)</title>
<updated>2020-12-05T21:13:59Z</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2020-12-05T21:13:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=5d8eaf7e65c404a0d10d3705697dd99369630dda'/>
<id>urn:sha1:5d8eaf7e65c404a0d10d3705697dd99369630dda</id>
<content type='text'>
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`.</content>
</entry>
<entry>
<title>Mark some symbols to be deprecated #minor (#698)</title>
<updated>2020-12-05T15:23:44Z</updated>
<author>
<name>lhchavez</name>
<email>lhchavez@lhchavez.com</email>
</author>
<published>2020-12-05T15:23:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=137c05e802d5e11a5ab54809bc8be8f61ccece21'/>
<id>urn:sha1:137c05e802d5e11a5ab54809bc8be8f61ccece21</id>
<content type='text'>
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</content>
</entry>
<entry>
<title>refactor: Use undeprecated options init (#656)</title>
<updated>2020-10-22T13:18:11Z</updated>
<author>
<name>Suhaib Mujahid</name>
<email>suhaibmujahid@gmail.com</email>
</author>
<published>2020-10-22T13:18:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=5b6ce70b8997254ce48f8c24ba4198080e646fdd'/>
<id>urn:sha1:5b6ce70b8997254ce48f8c24ba4198080e646fdd</id>
<content type='text'>
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.</content>
</entry>
<entry>
<title>Clone Fix</title>
<updated>2016-07-24T12:20:12Z</updated>
<author>
<name>Mirko Nosenzo</name>
<email>netnose@gmail.com</email>
</author>
<published>2016-07-24T12:20:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=aa7dfab1cf7534f7a3b99c2688c874b0af09d9f4'/>
<id>urn:sha1:aa7dfab1cf7534f7a3b99c2688c874b0af09d9f4</id>
<content type='text'>
freeCheckoutOpts called twice
</content>
</entry>
<entry>
<title>Don't call the finalizer on a borrowed repository</title>
<updated>2015-08-31T14:07:37Z</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@dwim.me</email>
</author>
<published>2015-08-31T14:05:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wit.com/jcarr/git2go/commit/?id=4090c401c8bf3f062e898f75bde01e2ef27b3911'/>
<id>urn:sha1:4090c401c8bf3f062e898f75bde01e2ef27b3911</id>
<content type='text'>
When libgit2 gives us the repository for us to create the remote in, we
do not own it, so we must make sure we don't try to free it.
</content>
</entry>
</feed>
