|  | Java Git | 
|  | ======== | 
|  |  | 
|  | An implementation of the Git version control system in pure Java. | 
|  |  | 
|  | This package is licensed under the EDL (Eclipse Distribution | 
|  | License). | 
|  |  | 
|  | - org.eclipse.jgit | 
|  |  | 
|  | A pure Java library capable of being run standalone, with no | 
|  | additional support libraries. It provides classes to read and | 
|  | write a Git repository and operate on a working directory. | 
|  |  | 
|  | All portions of jgit are covered by the EDL. Absolutely no GPL, | 
|  | LGPL or EPL contributions are accepted within this package. | 
|  |  | 
|  | - org.eclipse.jgit.ant | 
|  |  | 
|  | Ant tasks based on JGit. | 
|  |  | 
|  | - org.eclipse.jgit.http.server | 
|  |  | 
|  | Server for the smart and dumb Git HTTP protocol. | 
|  |  | 
|  | - org.eclipse.jgit.pgm | 
|  |  | 
|  | Command-line interface Git commands implemented using JGit | 
|  | ("pgm" stands for program). | 
|  |  | 
|  | - org.eclipse.jgit.test | 
|  |  | 
|  | Unit tests for org.eclipse.jgit and the same licensing rules. | 
|  |  | 
|  |  | 
|  | Warnings/Caveats | 
|  | ---------------- | 
|  |  | 
|  | - Symbolic links are not supported because java does not support it. | 
|  | Such links could be damaged. | 
|  |  | 
|  | - Only the timestamp of the index is used by jgit check if  the index | 
|  | is dirty. | 
|  |  | 
|  | - Don't try the library with a JDK other than 1.6 (Java 6) unless you | 
|  | are prepared to investigate problems yourself. JDK 1.5.0_11 and later | 
|  | Java 5 versions *may* work. Earlier versions do not. JDK 1.4 is *not* | 
|  | supported. Apple's Java 1.5.0_07 is reported to work acceptably. We | 
|  | have no information about other vendors. Please report your findings | 
|  | if you try. | 
|  |  | 
|  | - CRLF conversion is performed depending on the core.autocrlf setting, | 
|  | however Git for Windows by default stores that setting during | 
|  | installation in the "system wide" configuration file. If Git is not | 
|  | installed, use the global or repository configuration for the | 
|  | core.autocrlf setting. | 
|  |  | 
|  | - The system wide configuration file is located relative to where C | 
|  | Git is installed. Make sure Git can be found via the PATH | 
|  | environment variable. When installing Git for Windows check the "Run | 
|  | Git from the Windows Command Prompt" option. There are other options | 
|  | like the jgit.gitprefix system propety or Eclipse settings that can | 
|  | be used for pointing out where C Git is installed. Modifying PATH is | 
|  | the recommended option if C Git is installed. | 
|  |  | 
|  | - We try to use the same notation of $HOME as C Git does. On Windows | 
|  | this is often not same value as the user.home system property. | 
|  |  | 
|  |  | 
|  | Package Features | 
|  | ---------------- | 
|  |  | 
|  | - org.eclipse.jgit/ | 
|  |  | 
|  | * Read loose and packed commits, trees, blobs, including | 
|  | deltafied objects. | 
|  |  | 
|  | * Read objects from shared repositories | 
|  |  | 
|  | * Write loose commits, trees, blobs. | 
|  |  | 
|  | * Write blobs from local files or Java InputStreams. | 
|  |  | 
|  | * Read blobs as Java InputStreams. | 
|  |  | 
|  | * Copy trees to local directory, or local directory to a tree. | 
|  |  | 
|  | * Lazily loads objects as necessary. | 
|  |  | 
|  | * Read and write .git/config files. | 
|  |  | 
|  | * Create a new repository. | 
|  |  | 
|  | * Read and write refs, including walking through symrefs. | 
|  |  | 
|  | * Read, update and write the Git index. | 
|  |  | 
|  | * Checkout in dirty working directory if trivial. | 
|  |  | 
|  | * Walk the history from a given set of commits looking for commits | 
|  | introducing changes in files under a specified path. | 
|  |  | 
|  | * Object transport | 
|  | Fetch via ssh, git, http, Amazon S3 and bundles. | 
|  | Push via ssh, git and Amazon S3. JGit does not yet deltify | 
|  | the pushed packs so they may be a lot larger than C Git packs. | 
|  |  | 
|  | - org.eclipse.jgit.pgm/ | 
|  |  | 
|  | * Assorted set of command line utilities. Mostly for ad-hoc testing of jgit | 
|  | log, glog, fetch etc. | 
|  |  | 
|  |  | 
|  | Missing Features | 
|  | ---------------- | 
|  |  | 
|  | There are some missing features: | 
|  |  | 
|  | - gitattributes support | 
|  |  | 
|  |  | 
|  | Support | 
|  | ------- | 
|  |  | 
|  | Post question, comments or patches to the jgit-dev@eclipse.org mailing list. | 
|  | You need to be subscribed to post, see here: | 
|  |  | 
|  | https://dev.eclipse.org/mailman/listinfo/jgit-dev | 
|  |  | 
|  |  | 
|  | Contributing | 
|  | ------------ | 
|  |  | 
|  | See the EGit Contributor Guide: | 
|  |  | 
|  | http://wiki.eclipse.org/EGit/Contributor_Guide | 
|  |  | 
|  |  | 
|  | About Git | 
|  | --------- | 
|  |  | 
|  | More information about Git, its repository format, and the canonical | 
|  | C based implementation can be obtained from the Git website: | 
|  |  | 
|  | http://git-scm.com/ |