Submitted by marc on Thu, 2012-03-01 22:28
Interface layers
- bup (LGPL) from Avery Pennarun
is an incremental backup tool based on git.
Avery explains the options in his blog.
- EtcKeeper
(GPL) is a collection of tools to let /etc be stored in a git
repository. It hooks into apt to automatically commit changes made
to /etc during package upgrades.
- IsiSetup is an
utility for managing configuration files using git as backend.
- etcgit
from Jörg Sommer is an alternative to etckeeper that records the
original package configuration in one branch and your changes in
another one.
- FlashBake
is a tool which watches files and automatically checks them in to a git repository.
- Gitosis
by Tommi 'Tv' Virtanen is a Python tool to manage git repositories,
provide access to them over SSH, with tight access control and not
needing shell accounts. It is discussed in
Hosting Git repositories, The Easy (and Secure) Way.
Tutorials: Arch Linux: Gitosis,
DreamHost: Gitosis updated],
Pro Git: Gitosis chapter.
- Gitolite (GPL)
by Sitaram Chamarty is an enhancement of Gitosis. It add per-branch permissions.
It is written entirely in perl, and doesn't require root access.
Tutorials:
Pro Git: Gitolite chapter,
Gitolite Tutorial by Sena Wario,
Setup your own git server using gitolite on ubuntu
by Vitali Carbivnicii.
- git-annex by Joey Hess
manage files with git, without checking their contents into git.
- sharebox
is a distributed FUSE filesystem for sharing
files across several machines based on git-annex.
- Quilt
scripts allow to manage a series of patches by keeping track of the
changes each patch makes. It is described in this
Introduction to Quilt by
Andreas Grünbacher. Stacked Git
provides a Quilt-like patch management functionality in the Git
environment.
- vcs is a python library to abstract common vcs operations.
It can be used with Git, Mercurial.
- anyvc vcs is a python abstraction layer over various version control systems;
presently Git and Mercurial, Bazaar, Subversion. It is similar to vcs,
but does not yet work with history and branches.
anyvc repository
- zit is a bash script used to track single
files within a directory like RCS does but using git.
Graphic Interfaces
- gitk and git-gui are Tcl/Tk GUI for git distributed with
git.
- GitWeb distributed with Git,
is a web interface written in Perl.
- GitView is a GTK
repository browser for git written in Python.
- tig is a git repository browser
written using ncurses.
tig user manual
- Agit (GPL) is a 'read-only' android client for git.
It can clone a repository and explore history, presently you cannot commit or push.
Tools
Acting on a group of repositories
- mr from Joey Hess can checkout, update,
or perform other actions on a set of repositories. mr is a Debian Package.
- fgit (Folder Git) by Victor Engmark - is a small shell script
that run a Git command in several repositories.
- metagit
is a tool for defining sets of git (or whatever scm) repositories and perform
actions like clone/pull/push on them.
File systems synchronization
- SparkleShare is a collaboration and sharing tool that uses a git repository backend.
It is written in mono and uses libnotify (with python and dbus services) to monitor files so it has quite heavy dependencies.
Source code, SparkleShare Wiki
- DVCS-Autosync is a lighter alternative to SparkleShare.
It watch files and folders in specified paths and sync them in a git or mercurial repository.
It needs pynotify (python), xmppy and a provided patched JabberBot.
- git-sync by Ian Bicking is a git deployement script.
Misc
- GitStats (GPL) generates statistics for git,
Pepper (GPL)
generates statistics for git, mercurial and Subversion.