Commit Graph

21 Commits

Author SHA1 Message Date
lhchavez 7bff4ca7ad
Uprev libgit to v1.3.1 (#911)
🔒 This is a security release to provide compatibility with git's
changes to address [CVE
2022-24765](https://github.blog/2022-04-12-git-security-vulnerability-announced/).

libgit2 (and by extension git2go) are not directly affected by this
vulnerability, because libgit2 does not directly invoke any executable.
But we are providing these changes as a security release for any users
that use libgit2 for repository discovery and then also use git on that
repository. In this release, we will now validate that the user opening
the repository is the same user that owns the on-disk repository. This
is to match git's behavior.

In addition, we are providing several correctness fixes where invalid
input can lead to a crash. These may prevent possible denial of service
attacks. At this time there are not known exploits to these issues.
2022-04-14 07:09:59 -07:00
Kirill 5e35338d58
Generate stringer files automatically (#841)
Added `stringer` annotations to `git.go` for `ErrorClass` and
`ErrorCode`. Added `generate` rule for `Makefile` to generate
string representations for these types (first building cgo files
in `_obj` dir to get C constants). Finally, updated `ci` actions
workflow to check that generated files are up to date.

Fixes: #543
2021-11-08 06:38:55 -08:00
lhchavez 6eae74c128
libgit2 v1.3.0 #major (#840)
This commit introduces libgit2 v1.3.0 to git2go, which brings a large
number of [bugfixes and
features](https://github.com/libgit2/libgit2/releases/tag/v1.3.0).

This also marks the start of the v33 release.
2021-10-14 04:42:42 -07:00
lhchavez 018647fd48 libgit2 v1.2.0 #major
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-05 18:52:01 -07:00
lhchavez 549706bb57
Declare forward-compatibility with libgit2 v1.2.0 #minor (#800)
We can't yet ship a fully libgit2 v1.2.0-compatible library due to a
missing public symbol, but we can allow the v1.1.0-era codebase to link
against libgit2 v1.2.0 in the meantime.
2021-09-04 20:07:24 -07:00
lhchavez be5a99a807
Rename the default branch to `main` (#786)
We've renamed the default branch from `master` to `main`, so we need to
change a bunch of references to that.
2021-09-04 13:33:34 -07:00
lhchavez df7084d36a
Remove the legacy builders (#776)
These builds are no longer working because some of the dependencies now
require newer versions of Go. Seems like the ecosystem has moved to Go
1.11+, so we are now forced to follow suit.
2021-09-03 06:28:00 -07:00
lhchavez abf02bc7d7
Add `NewCredentialSSHKeyFromSigner` (#706)
This change adds `NewCredentialSSHKeyFromSigner`, which allows idiomatic
use of SSH keys from Go. This also lets us spin off an SSH server in the
tests.
2020-12-06 11:55:04 -08:00
lhchavez 54afccfa0f
Build improvements (#707)
This change makes the test be verbose and use parallelization if
possible (when using gmake to build).
2020-12-06 06:13:38 -08:00
nmeum 1fabe95fb7
Relax libgit2 minor version check (#696)
The major version must still be an exact match since libgit2 uses
semantic versioning and changes to the major number indicate backwards
incompatible changes to the API.

Fixes: #695
2020-11-28 11:10:34 -08:00
lhchavez 77460dd7f0
Use the correct branch name for backporting into v1.0 (#674)
This change uses the correct branch name (`release-1.0`) to backport
changes into the v1.0 branch.
2020-11-02 19:15:32 -08:00
Suhaib Mujahid ad3ec3664d
Create v31 to support libgit2 v1.1.x (#668)
The libgit2 `v1.1.0` is released two weeks ago. This PR allows `git2go` to link against the new version.
2020-10-26 18:09:26 -07:00
lhchavez f83530b18d
CI refresh (#666)
This change:

* Makes the Travis tests only run tip, since the rest of the Go versions are better served by GitHub Actions.
* Use Go 1.15 in the CI. This has been released for a while.
2020-10-23 05:47:14 -07:00
michael boulton 7d4453198b
Add support for creating signed commits and signing commits during a rebase (#626) 2020-08-18 09:25:31 -07:00
lhchavez 2ac9f4e69b
Add two more GitHub Actions workflows (#633)
This change adds:

* `tag.yml`: Creates a new tag every time the master or a release branch
  is pushed.
* `backport.yml`: Creates a cherry-pick in older release branches to
  keep them up to date with little cost.
2020-08-16 07:27:17 -07:00
lhchavez 5314951759
Refresh the GitHub Actions CI (#632)
This change:

* Builds the library with Go 1.14, too.
* Builds the non-legacy tests with Ubuntu Focal (20.04).
* Adds testing for system-wide libraries, both static and dynamic
  versions.
* Fixes a typo in the README.
2020-08-15 17:19:53 -07:00
lhchavez 9eaf4fed5f
Update the `README.md` to clarify some aspects of static libgit2 (#620)
This change improves the documentation surrounding libgit2 static builds
and modules.

Fixes: #618
2020-06-20 16:24:46 -07:00
lhchavez 26edffd5f5 Update CI configuration
This change:

* Updates the GitHub actions so that they run different commands for the
  dynamic and static flavors of libgit2.
* Updates the .travis.yml file so that it does roughly the same as the
  GitHub actions.
* Adds the release-* branches to the CI configurations.
2020-02-22 18:21:38 -08:00
lhchavez b201c503ab
Update .github/workflows/ci.yml 2020-02-12 17:07:17 -08:00
Carlos Martín Nieto a5b3de11ae submodule 2019-08-15 09:42:58 +02:00
Carlos Martín Nieto 26c983c3a2
Setup CI via Actions 2019-08-15 09:38:02 +02:00