• Stars
    star
    1,754
  • Rank 26,543 (Top 0.6 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 11 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Provides examples and code snippets for the JGit Java Git implementation

jgit-cookbook

Build Status Gradle Status Tag

Provides examples and code snippets for the JGit Java Git implementation.

The JGit framework is rich and diverse, it has two layers, a low-level api and a higher-level set of porcelain commands. This can be a bit intimidating at first as there are lots of classes, some of which are not relevant for most tasks.

This project tries to provide a collection of ready-to-run snippets which provide a quick start for building functionality using JGit.

Please make sure to take a look at the nicely written introduction and also use the existing JavaDoc and the User Guide as well, as they are well done and provide detailed information and a general overview of JGit respectively.

Note: Please use sites such as http://stackoverflow.com for general questions about JGit usage, not issues in this project. Issues should be used for problems with snippets and suggestions of missing snippets. Snippets from good answers on stackoverflow can then be included here, naturally.

Getting started

Grab it
git clone https://github.com/centic9/jgit-cookbook.git
Build it and create Eclipse project files
When using Maven
mvn dependency:sources eclipse:eclipse package
When using Gradle
./gradlew eclipse check

Run it

Each snippet is a small standalone Java application, so you can simply  
import the project into your favourite IDE and execute the snippets there.

Currently the following snippets are available

General Repository handling
Porcelain commands
Commands working with remote repositories
Low-level API
GitServlet
  • There is a standalone sub-project in directory httpserver which starts up a simple HTTP Git server based on the JGit GitServlet.

Just import the project in your IDE and start up the Main application, see the Comments in the code for more details.

Another simple way to start the sample-server is to run ./gradlew run in the httpserver-directory.

Useful code elsewhere

cf-ops-automation-broker

Missing snippets

Support this project

If you find these snippets useful and would like to support it, you can Sponsor the author

Sources

The following sources were used to build the snippets:

Other applications using JGit

Ruby Build

Contribute

Please note that the list of snippets is not yet complete, probably never will. If you are missing things or have suggestions how to improve or add snippets, please either send pull requests or create issues.

Licensing

Copyright 2013-2023 Dominik Stadler

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

More Repositories

1

poi-on-android

A sample project that shows how Apache POI can be used in an Android application
Java
346
star
2

generate-and-send-ssh-key

Script to automate the setup of ssh-public/private-key authentication to avoid some common pitfalls
Shell
195
star
3

headset-charge-indicator

A simple app-indicator for GNOME desktops to display the battery charge of some wireless headsets which also allows to control some functions like LEDs, sidetone and others.
Python
128
star
4

CommonCrawlDocumentDownload

A small tool which uses the CommonCrawl URL Index to download documents with certain file types or mime-types. This is used for mass-testing of frameworks like Apache POI and Apache Tika
Java
61
star
5

poi-mail-merge

Small application which allows to repeatedely replace markers in a Microsoft Word document with items taken from a CSV/Microsoft Excel file to provide a simple mail-merge functionality
Java
34
star
6

IntelliJ-Action-IDs

Create and publish a list of available ActionIDs for the IntelliJ plugin system by recursively searching through the jar-files and producing HTML via Jekyll
Java
32
star
7

JGitFS

JGitFS provides access to Git branches/tags/commits like they are separate directories via a Linux FUSE userland filesystem
Java
29
star
8

commons-dost

Utilitity library for stuff that I use in multiple projects
Java
4
star
9

actions

Repository of reusable Github workflows
4
star
10

github-version-statistics

Uses the GitHub API to search for usages of a Java library and prepares some statistics about which versions are used how often
Java
4
star
11

commons-audio

A small library of code-pieces that I find useful when developing tools and applications around handling of audio, playing sound, downloading audio from certain websites
Java
4
star
12

poi-fuzz

Use Jazzer to perform fuzzy testing of Apache POI
Java
3
star
13

cli-fuzz

Use Jazzer to perform fuzzy testing of Apache Commons CLI
Java
3
star
14

openambit-ppa

Openambit sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
2
star
15

config

Helper project which stores some config-files that I would like to have on every machine that I work on
Shell
2
star
16

unoconv-ppa

unoconv sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
Python
2
star
17

IntelliJ-Automation-Plugin

Plugin for IntelliJ IDE which provides a REST interface to automatically trigger actions in a running instance of IntelliJ IDE
Java
2
star
18

demo-fuzz

Minimal application for fuzzy-testing of Java code via the Jazzer fuzzer
Shell
2
star
19

commons-test

Utilitity library for testing stuff that I use in multiple projects
Java
2
star
20

antlr-fuzz

Use Jazzer to perform fuzzy testing of antlr v4
Java
2
star
21

file-type-detection

A small tool to use Apache Tika to determine the mime-type of all files in a directory
Java
2
star
22

gwt-gradle-example-issue81

Reproducer for reported issue #81 in the gwt-gradle-plugin
Java
2
star
23

debhelper-ppa

Debhelper sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
Perl
2
star
24

git-ftp-ppa

Git-ftp sources with Debian/Ubuntu packaging for building for PPA
Shell
2
star
25

commons-htmlunit

Common HtmlUnit utility methods that I find useful in various projects
Java
2
star
26

kphotoalbum-ppa

KPhotoAlbum sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C++
1
star
27

codec-fuzz

Use Jazzer to perform fuzzy testing of Apache Commons Codec
Java
1
star
28

gpx2route

Convert GPX files to route files suitable for upload to Suunto Ambit sports watches via Openambit
Java
1
star
29

qrencode-ppa

qrencode sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
Shell
1
star
30

dynahist-fuzz

Use Jazzer to perform fuzzy testing of dynahist
Java
1
star
31

kdesvn-ppa

Kdesvn sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C++
1
star
32

scribus-ppa

Scribus sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C++
1
star
33

tpm2-tss-ppa

tpm2-tss sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
34

ocserv-ppa

ocserv sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
35

onedrive-ppa

Onedrive sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
D
1
star
36

tellico-ppa

Tellico sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C++
1
star
37

bzstats

Query the Apache bugzilla instance for bug-counts and use R to produce an SVG with a chart of how bug-counts evolved
Jupyter Notebook
1
star
38

pacpl-ppa

PACPL sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
Perl
1
star
39

hash4j-fuzz

Use Jazzer to perform fuzzy testing of hash4j
Java
1
star
40

mtools-ppa

Mtools sources with Debian/Ubuntu packaging for building for PPA with support for xz created using git-buildpackage
C
1
star
41

compress-fuzz

Use Jazzer to perform fuzzy testing of Apache Commons Compress
Java
1
star
42

pkg-kde-tools.ppa

pkg-kde-tools sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
1
star
43

konsole-ppa

konsole sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C++
1
star
44

firehol-ppa

firehol sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
Shell
1
star
45

MultiplicativeDigitalRoot

This project plays with the mathematical topics of "Multiplicative digital roots" and "Multiplicative Persistence"
Java
1
star
46

tob-ppa

Tob (tape oriented backup) sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
Shell
1
star
47

jacococoveragecolumn-plugin

Plugin for Jenkins to add a column for coverage results from the JaCoCo plugin
Java
1
star
48

dpkg-ppa

Dpkg sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
49

poi-regression-test

A tool to perform regression testing for Apache POI on a very large corpus of test-files
Java
1
star
50

mp3splt-gtk-ppa

mp3splt-gtk sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
51

.github

Default community health files
1
star
52

ntp-ppa

ntp sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
53

csv-fuzz

Use Jazzer to perform fuzzy testing of Apache Commons CSV
Java
1
star
54

laminar-ppa

Laminar sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C++
1
star
55

openconnect-ppa

openconnect sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
56

imaging-fuzz

Use Jazzer to perform fuzzy testing of Apache Commons Imaging
Java
1
star
57

mp3gain-ppa

mp3gain sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
58

pipewire-ppa

pipewire sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
59

simple-scan-ppa

simple-scan sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
Vala
1
star
60

libmp3splt-ppa

libmp3splt sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
61

subversion-ppa

Subversion sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
62

digikam-ppa

Digikam sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C++
1
star
63

glabels-ppa

Glabels sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
64

mp3splt-ppa

mp3splt sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
65

poi-benchmark

Some automated benchmarks of POI buildsystem and some POI functionality together with results
HTML
1
star
66

subversion-19-ppa

Subversion sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
67

git-ppa

Git sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C
1
star
68

marble-qt4-ppa

Marble sources with Debian/Ubuntu packaging for building for PPA with support for Qt4 instead of Qt5 created using git-buildpackage
C++
1
star
69

file-leak-postprocess

A small tool to post-process output from running an application with file-leak-detector
Java
1
star
70

BenfordsLaw

Sample application showing Benford's Law by looking at file sizes on the local disk
Java
1
star
71

tika-fuzz

Use Jazzer to perform fuzzy testing of Apache Tika
Java
1
star
72

bless-ppa

Bless sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C#
1
star
73

soundkonverter-ppa

Soundkonverter sources with Debian/Ubuntu packaging for PPA created using git-buildpackage
C++
1
star
74

configuration-fuzz

Use Jazzer to perform fuzzy testing of Apache Commons Configuration
Java
1
star
75

cover-the-world

A tool which reads GPX tracks and produces a world-map which displays covered "tiles", i.e. ~1.5km squares
Java
1
star