|| ||Paul Mackerras <email@example.com>|
|| ||New git commit tool|
|| ||Mon, 4 Sep 2006 21:52:35 +1000|
I have been working on a tool for creating commits, and I think it is
now far enough along to be useful. I added it to the 'new' branch of
my gitk.git repository (git://git.kernel.org/pub/scm/gitk/gitk.git) or
you can fetch it from http://ozlabs.org/~paulus/gitool.
The way it works is that one "checks in" a set of changes, types a
message into the lower pane, then clicks the "Commit" button to create
the commit. When the commit has been created, the tool exits.
The changes that have been checked in are recorded in the index.
Gitool can also undo checkins, restoring the index state for a file to
the original state (i.e. the state in the current HEAD commit).
At the top, gitool displays two lists of filenames, with an icon
beside each name. The left-hand list shows modified files (whether
checked in or not), and the right-hand list shows new files (those
just added, and untracked files). Clicking on the icon changes the
state of a file, alternating between not-checked-in and checked-in.
Clicking on the filename displays something useful; for a modified
file, it shows the changes made; for a new or untracked file, it shows
the contents of the file.
Files can also be partly checked in, for example, if changes were made
and checked in, and then further changes were made. Clicking on such
a file will show a 3-way diff (HEAD vs. checked-in state vs. working
file), provided Junio applies my patch to diff-lib.c. :)
Gitool doesn't handle merge commits yet, but that is something I want
to implement soon, hopefully with the ability to resolve merge
conflicts in the tool. There are quite a few other features I want to
implement as well (key bindings, font size selection, persistent
Comments and suggestions are welcome. Patches are even more
VGER BF report: U 0.977306