title: GIT Utilities
linktitle: git-utils
-parent: TOP
+parent: Home
ctime: 2009-12-10
-Repositories: [git-utils](TBD).
+Repositories: [git-utils](/gitweb/?p=git-utils.git;a=summary).
# GIT
# Utilities
-Over time, TMI is starting to collect a number of small utilities for git.
-These are available from our [git-utils](TBD) repository. Each utility has
-a man page describing its operation, so we'll only highlight the basics here.
+TMI is starting to collect a number of small utilities for git. Each utility
+has a man page describing its operation. A few notables:
-* git-empty-branch. Create an empty branch in a local git repository.
+* `git-diffall`. Provides a facility for file-aware visual diff using an
+ external diff tool such as kdiff3, meld, or a similar tool.
-* git-local. Store local branches temporarily in a shared git repository,
- probably hosted on a server used by the local development team. git-local
- offers upload, download, remove and list operations.
+* `git-empty-branch`. Create an empty branch in a local git repository.
-* git-publish-branch. A shell version of a ruby script created by William
+* `git-local`. Store local branches in a shared git repository under a private
+ namespace. Upload, download, remove and list operations are provided. We
+ use this tool to backup up local commits not yet suitable for pushing into a
+ local shared branch.
+
+* `git-overview`. A simple script that scans a directory tree for git repos,
+ showing the overall state of each.
+
+* `git-publish-branch`. A shell version of the ruby script created by William
Morgan. See his [git utilities page](http://git-wt-commit.rubyforge.org).
- This has been a locally popular utility, and we did not want to see ruby
- effectively become yet another pre-requisite for git.
+ We did not want to have to install ruby just for this one little utility.
+
+* `git-push-public`. Used by TMI to replicate changes made to open source
+ projects hosted on TMI private servers to the TMI public server.
+
+* `server-gc`. A tool to run git-gc on each bare git repository found within a
+ given filesystem directory tree. Newest versions of git generally make this
+ utility redundant.
+
+* `update-mirror`. Used by TMI to update a local git mirror of an upstream git
+ or svn repository. Derived from the clone.sh script found at
+ [girocco](http://repo.or.cz/w/girocco.git).
+
+# Installation
+
+These scripts are not packaged in the [[aptrepo]]. To install the utilities,
+copy the scripts to `/usr/local/bin` and ensure they have execute permission.
+Then copy the `*.1` files, which are the man pages, to `/usr/local/man/man1`.