0release is a program to generate source and binary releases automatically. With minimal configuration, 0release will generate a source tarball release candidate, build it to create a binary archive, upload them to your Web server, check the uploads, and tag the release in GIT and update the version number. It can run unit-tests and custom actions, such as building documentation, etc. For Zero Install users, it can also upload a signed XML metadata file about the release, allowing these users to upgrade automatically. Releases are signed with your GPG key.
Atlassian Stash delivers a central, secure solution for creating and managing distributed Git repositories on your own servers. It has an easy-to-use interface for adding users and groups and creating and managing repositories, and a Project Structure for logically grouping your repositories. Installed on your own network, administrators have full control over how Stash fits into their environment. It supports Atlassian’s plugin framework plus a full, open REST API for customized integrations. Key features include simple administration, easy permissions around Git repositories, LDAP (Active Directory) integration, JIRA issue tracker integration, cloning, and more.
Git Manager is a Web interface for Git. It allows you to manage and create Git repositories, users, and access groups. It is based on Apache authentication mechanisms (HTTP or LDAP) and uses a MySQL database to store repo/user/group relation data. The ViewGit repository viewer is included.
GitFS is a fuse- and git-based remote filesystem with local cache for disconnected operation. It does periodic commits and pushes/pulls to keep a local shadow file system in sync with a remote repository. The filesystem should continue to work when you are disconnected. Merging after disconnected updates from multiple locations is left to git.
CVS, GIT, and Mercurial as well as other well-known version control systems cannot version directories. In other words, you cannot add empty directories. A "workaround" for this issue is to use placeholder files that are placed into empty directories. These placeholder files can then be committed into the repository and will make sure that, upon checkout, the directory tree is entirely reconstructed. The problem with using placeholder files is that you need to create them, and need to delete them if they are not necessary anymore (because sub-directories or real files were added). With big source trees, managing these placeholder files can be cumbersome and error prone. MarkEmptyDirs can manage the creation/deletion of such placeholder files automatically. It creates placeholder files in all empty "leaf" directories. If later on new files or directories are put into such directories, the placeholder files are not necessary anymore, and are removed automatically.