/git-lfs-java

Java API for git-lfs

Primary LanguageKotlinGNU Lesser General Public License v3.0LGPL-3.0

git-lfs-java

Build Status Maven Central

What is this?

This is Git LFS Java API implementation.

This project contains:

  • gitlfs-common - Common structures for serialization/deserialization Git LFS messages

  • gitlfs-pointer - Git LFS pointer serialization/deserialization

  • gitlfs-client - API for uploading/downloading Git LFS objects from server

  • gitlfs-server - Servlets for creating custom LFS server

How to use?

You can download the latest stable from Maven Central.

Downloading object from Git LFS server

link:gitlfs-client/src/test/kotlin/ru/bozaro/gitlfs/client/Examples.kt[]

Uploading object to Git LFS server

link:gitlfs-client/src/test/kotlin/ru/bozaro/gitlfs/client/Examples.kt[]

Changelog

0.19.0

  • Downgrade SLF4J to 1.7.x

0.18.0

  • Drop Java 8 support

  • Upgrade to Jakarta Servlet 5.0

  • Upgrade to Jetty 11

0.17.0

0.16.0

  • Update dependencies

0.15.2

  • Send error message when lock create fails due to already existing lock

0.15.1

  • Fix compatibility with GitLab LFS locks API

0.15.0

  • Introduce Client.openObject methods

0.14.1

  • Fix object verification to be compatible with git-lfs client

0.14.0

  • Add LFS object verification server code

  • Fix broken handling of already existing LFS object

0.13.3

  • Update dependencies

  • Fix deprecated Jackson API usage

0.13.2

  • Fix ISO 8601 date formatting again

0.13.1

  • LFS locking API fixes

  • Drop dependency on Guava

0.13.0

0.12.1

  • Fix compatibility with Gitea LFS

0.12.0

  • Update dependencies

  • Do not output \r in JSON on Windows

0.11.1

  • Fix ISO 8601 date formatting

0.11.0

  • JFrog Artifactory git-lfs compatibility (see #4)

0.10.0

  • Add request/response content information to RequestException

0.9.0

  • Update all dependencies

0.8.0

  • Replace commons-httpclient:commons-httpclient:3.1 by org.apache.httpcomponents:httpclient:4.1.3

0.7.0

  • Add header modification for replacing Basic authentication by Token

  • Don’t ask password for SSH authentication

  • Add more informative HTTP error message

0.6.0

  • Require JDK 8

  • High level batch API implementation

  • Add steam hash validation on download

0.5.0

  • Server implemetation stabilization

  • Create multitheaded HttpClient by default

  • Fix single object downloading API

0.4.0

  • Initial server implementation

  • Fix url concatenation

  • Fix downloading for not uploaded object (404 error)

  • Fix minor bugs

0.3.0

  • Add authenticator for git-lfs-authenticate command (experimental)

  • Add AuthHelper class for simple AuthProvider creation

  • Fix verify url bug

  • Fix basic authentication

  • Fix already uploaded behaviour

0.2.0

0.1.0