The Groovy way to use Git.
APACHE-2.0 License
Bot releases are visible (Hide)
Fix for a unintentional breaking change in 3.1.0 for Groovy 2.4 (and Gradle <5) users.
None
None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.10.3, 5.0, 5.3 |
11 | 5.0, 5.3 |
This is a feature release providing a few improvements to grgit.log
, grgit.show
, and grgit.push
.
None
IllegalArgumentException
instead of NPE when log op can't find revstrObjectReader
used during parsing commits (related to #182)None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.10.3, 5.0, 5.3 |
11 | 5.0, 5.3 |
This is a feature release providing a few improvements to grgit.log
, grgit.show
, and grgit.push
.
None
IllegalArgumentException
instead of NPE when log op can't find revstrObjectReader
used during parsing commits (related to #182)None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.10.3, 5.0, 5.3 |
11 | 5.0, 5.3 |
This is a feature release providing a few improvements to grgit.log
, grgit.show
, and grgit.push
.
None
IllegalArgumentException
instead of NPE when log op can't find revstrObjectReader
used during parsing commits (related to #182)None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.10.3, 5.0, 5.3 |
11 | 5.0, 5.3 |
This is a breaking release, supporting JGit 5 and Groovy 2.5.
However, the more significant change is the removal of some previous authentication options. Up until Grgit 3, we leveraged JGit's default JSch support for SSH communication. This is a Java implementation of the SSH protocol. Additionally, the JSch agent proxy library was used to support ssh-agent
and Pageant
. Those features caused numerous headaches with the differences between how the Java implementation and system SSH worked. JSch and JSch agent proxy support is now removed.
All SSH communication will leverage the command referenced by the GIT_SSH
env var or an ssh
or plink
executable on your PATH
.
Review the authentication documentation for details.
org.ajoberstar.grgit:grgit-core:<version>
if you're using as a libraryorg.ajoberstar.grgit:grgit-gradle:<version>
if you're using from Gradle (the plugin ID, org.ajoberstar.grgit
, has not changed)ssh
and plink
commands are now used instead of JSch.grgit.describe()
now supports a tags
option to include un-annotated tags (the default is false
, but true
would match the JGit 4 behavior)OpenOp
now has a credentials
method to be consistent with CloneOp
.None
OpenOp
creds
parameter was deprecated in favor of the new credentials
parameter.Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.10.2, 5.0-rc-2 |
9 | 4.2.1, 4.10.2, 5.0-rc-2 |
10 | 4.2.1, 4.10.2, 5.0-rc-2 |
This is a breaking release, supporting JGit 5 and Groovy 2.5.
However, the more significant change is the removal of some previous authentication options. Up until Grgit 3, we leveraged JGit's default JSch support for SSH communication. This is a Java implementation of the SSH protocol. Additionally, the JSch agent proxy library was used to support ssh-agent
and Pageant
. Those features caused numerous headaches with the differences between how the Java implementation and system SSH worked. JSch and JSch agent proxy support is now removed.
All SSH communication will leverage the command referenced by the GIT_SSH
env var or an ssh
or plink
executable on your PATH
.
Review the authentication documentation for details.
Given this is a major change, please open an issue to provide feedback if you feel this change will not work for your needs. I plan to leave 3.0.0 in a pre-release form for a while.
grgit-gradle
now has an api
dependency on grgit-core
. POM will include this on the compile classpathJGitUtil.resolveTag
no longer fails due to method removed in JGit 5org.ajoberstar.grgit:grgit-core:<version>
if you're using as a libraryorg.ajoberstar.grgit:grgit-gradle:<version>
if you're using from Gradle (the plugin ID, org.ajoberstar.grgit
, has not changed)ssh
and plink
commands are now used instead of JSch.grgit.describe()
now supports a tags
option to include un-annotated tags (the default is false
, but true
would match the JGit 4 behavior)OpenOp
now has a credentials
method to be consistent with CloneOp
.None
OpenOp
creds
parameter was deprecated in favor of the new credentials
parameter.Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.10.2, 5.0-rc-2 |
9 | 4.2.1, 4.10.2, 5.0-rc-2 |
10 | 4.2.1, 4.10.2, 5.0-rc-2 |
This is a breaking release, supporting JGit 5 and Groovy 2.5.
However, the more significant change is the removal of some previous authentication options. Up until Grgit 3, we leveraged JGit's default JSch support for SSH communication. This is a Java implementation of the SSH protocol. Additionally, the JSch agent proxy library was used to support ssh-agent
and Pageant
. Those features caused numerous headaches with the differences between how the Java implementation and system SSH worked. JSch and JSch agent proxy support is now removed.
All SSH communication will leverage the command referenced by the GIT_SSH
env var or an ssh
or plink
executable on your PATH
.
Review the authentication documentation for details.
Given this is a major change, please open an issue to provide feedback if you feel this change will not work for your needs. I plan to leave 3.0.0 in a pre-release form for a while.
org.ajoberstar.grgit:grgit-core:<version>
if you're using as a libraryorg.ajoberstar.grgit:grgit-gradle:<version>
if you're using from Gradle (the plugin ID, org.ajoberstar.grgit
, has not changed)ssh
and plink
commands are now used instead of JSch.grgit.describe()
now supports a tags
option to include un-annotated tags (the default is false
, but true
would match the JGit 4 behavior)OpenOp
now has a credentials
method to be consistent with CloneOp
.None
OpenOp
creds
parameter was deprecated in favor of the new credentials
parameter.Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.10.2 |
9 | 4.2.1, 4.10.2 |
10 | 4.2.1, 4.10.2 |
This is a breaking release, supporting JGit 5 and Groovy 2.5.
However, the more significant change is the removal of some previous authentication options. Up until Grgit 3, we leveraged JGit's default JSch support for SSH communication. This is a Java implementation of the SSH protocol. Additionally, the JSch agent proxy library was used to support ssh-agent
and Pageant
. Those features caused numerous headaches with the differences between how the Java implementation and system SSH worked. JSch and JSch agent proxy support is now removed.
All SSH communication will leverage the command referenced by the GIT_SSH
env var or an ssh
or plink
executable on your PATH
.
Review the authentication documentation for details.
Given this is a major change, please open an issue to provide feedback if you feel this change will not work for your needs. I plan to leave 3.0.0 in a pre-release form for a while.
org.ajoberstar.grgit:grgit-core:<version>
if you're using as a libraryorg.ajoberstar.grgit:grgit-gradle:<version>
if you're using from Gradle (the plugin ID, org.ajoberstar.grgit
, has not changed)ssh
and plink
commands are now used instead of JSch.grgit.describe()
now supports a tags
option to include un-annotated tags (the default is false
, but true
would match the JGit 4 behavior)None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.8.1 |
9 | 4.2.1, 4.8.1 |
10 | 4.2.1, 4.8.1 |
Small feature release to make improvements to existing operations.
None
revert
commands fail and throw an exception (thanks @gavinbunney)abbreviatedId
on Commit
None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.8-rc-3 |
9 | 4.2.1, 4.8-rc-3 |
10 | 4.2.1, 4.8-rc-3 |
Small feature release to make improvements to existing operations.
None
revert
commands fail and throw an exception (thanks @gavinbunney)abbreviatedId
on Commit
None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.8-rc-3 |
9 | 4.2.1, 4.8-rc-3 |
10 | 4.2.1, 4.8-rc-3 |
Fix release to publish static dependencies to the Gradle Plugin Portal. Previously static ones were being published to JCenter, but dynamic to the Portal. This caused a JGit 5 dependency to get pulled in which contains breaking changes.
None
None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.8-rc-3 |
9 | 4.2.1, 4.8-rc-3 |
10 | 4.2.1, 4.8-rc-3 |
Fix release to publish static dependencies to the Gradle Plugin Portal. Previously static ones were being published to JCenter, but dynamic to the Portal. This caused a JGit 5 dependency to get pulled in which contains breaking changes.
None
None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0, 3.5.1, 4.0, 4.8-rc-3 |
9 | 4.2.1, 4.8-rc-3 |
10 | 4.2.1, 4.8-rc-3 |
Fix release to publish static dependencies to the Gradle Plugin Portal. Previously static ones were being published to JCenter, but dynamic to the Portal. This caused a JGit 5 dependency to get pulled in which contains breaking changes.
None
None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0 through 4.7 |
9 | 4.2.1. through 4.7 |
10 | 4.2.1 through 4.7 |
Fix release to publish static dependencies to the Gradle Plugin Portal. Previously static ones were being published to JCenter, but dynamic to the Portal. This caused a JGit 5 dependency to get pulled in which contains breaking changes.
None
None
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0 through 4.7 |
9 | 4.2.1. through 4.7 |
10 | 4.2.1 through 4.7 |
Feature release adding opt-in support of SSH via external ssh
or plink
commands as an alternative to JSch (which has been pretty problematic for people). The grgit-authentication documentation has been updated to show how to use this. However, note that if your remote is on Git 2.14+ you'll likely encounter JGit#529463 causing your program to hang. Hope is that this will be fixed in JGit's next release.
Rejected pushes now throw an exception instead of failing silently.
Additionally, a Consumer
variant was added to all operations to make Java usage of Grgit easier.
grgit.add({ op ->
op.setPatterns(Arrays.asList("."));
});
None
Consumer
as an alternative to Closure
or Map
syntax on all operationsNone
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0 through 4.7 |
9 | 4.2.1. through 4.7 |
10 | 4.2.1 through 4.7 |
Feature release adding opt-in support of SSH via external ssh
or plink
commands as an alternative to JSch (which has been pretty problematic for people). The grgit-authentication documentation has been updated to show how to use this. However, note that if your remote is on Git 2.14+ you'll likely encounter JGit#529463 causing your program to hang. Hope is that this will be fixed in JGit's next release.
Rejected pushes now throw an exception instead of failing silently.
Additionally, a Consumer
variant was added to all operations to make Java usage of Grgit easier.
grgit.add({ op ->
op.setPatterns(Arrays.asList("."));
});
Changes since beta.2 The #216 fix was added.
None
Consumer
as an alternative to Closure
or Map
syntax on all operationsNone
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0 through 4.7 |
9 | 4.2.1. through 4.7 |
10 | 4.2.1 through 4.7 |
Feature release adding opt-in support of SSH via external ssh
or plink
commands as an alternative to JSch (which has been pretty problematic for people). The grgit-authentication documentation has been updated to show how to use this. However, note that if your remote is on Git 2.14+ you'll likely encounter JGit#529463 causing your program to hang. Hope is that this will be fixed in JGit's next release.
Additionally, a Consumer
variant was added to all operations to make Java usage of Grgit easier.
grgit.add({ op ->
op.setPatterns(Arrays.asList("."));
});
Changes since beta.1 The consumer variants were generated with the incorrect generic types making them unusable. This is fixed now.
None
Consumer
as an alternative to Closure
or Map
syntax on all operationsNone
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0 through 4.7-rc-2 |
9 | 4.2.1. through 4.7-rc-2 |
10 | 4.2.1 through 4.7-rc-2 |
Fix release to make lsremote respect any authentication settings you've made.
None
None
lsremote()
fails to use credentials configured on repositoryNone
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0 through 4.7-rc-1 |
9 | 4.2.1. through 4.7-rc-1 |
10 | 4.2.1 through 4.6 |
Feature release adding opt-in support of SSH via external ssh
or plink
commands as an alternative to JSch (which has been pretty problematic for people). The grgit-authentication documentation has been updated to show how to use this. However, note that if your remote is on Git 2.14+ you'll likely encounter JGit#470555 causing your program to hang. Hope is that this will be fixed in JGit's next release.
Additionally, a Consumer
variant was added to all operations to make Java usage of Grgit easier.
grgit.add({ op ->
op.setPatterns(Arrays.asList("."));
});
None
Consumer
as an alternative to Closure
or Map
syntax on all operationsNone
None
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0 through 4.7-rc-2 |
9 | 4.2.1. through 4.7-rc-2 |
10 | 4.2.1 through 4.7-rc-2 |
Fix release to make lsremote respect any authentication settings you've made.
None
None
lsremote()
fails to use credentials configured on repositoryNone
Tested on the following version:
Java Version | Gradle Versions |
---|---|
8 | 3.0 through 4.7-rc-1 |
9 | 4.2.1. through 4.7-rc-1 |
10 | 4.2.1 through 4.6 |