[ANNOUNCE] git-gui 0.8.0 now available
Shawn O. Pearce
spearce at spearce.org
Wed Aug 31 22:00:03 BST 2011
I've finally released git-gui 0.8.0. Junio has already promised
to include this version in git 1.5.3 when it gets released, but
you can also acquire it directly from my repo.or.cz repository:
gitweb: http://repo.or.cz/w/git-gui.git/
fetch: git://repo.or.cz/git-gui.git
http://repo.or.cz/r/git-gui.git
Changes between 0.7.0 and 0.7.5:
Most of these changes have already been seen by a lot of users,
as they have been shipping with the maint releases of git 1.5.2
and the release candidates of 1.5.3.
* Completely rewritten blame viewer
The blame viewer was completely overhauled, with almost none of
the code from pre-0.7.0 surviving the rewrite. The end result
is a viewer that actually offers a fast overview of how code
has moved around, and makes use of tooltips to display detailed
information quickly.
* new: Keybinding of Cmd-P/Ctrl-P for push action
* new: Push action button on left side toolbar
* bugfix: Prefer HEAD's message over MERGE_MSG when amending
* bugfix: Ensure Windows git-gui "icons" always end in .bat
* bugfix: ls-tree buffering error in tree browser
* bugfix: Work around ^{tree} shell error on MSYS
* bugfix: Avoid 'nice.exe' on MSYS
Changes between 0.7.5 and 0.8.0:
Most of these new features haven't been merged into git.git yet,
but will be before 1.5.3 is released.
* Overhauled 'Starting Revision' UI for branch creation
The 'Starting Revision' part of the branch create dialog has
been rebuilt to better handle a large number of local and remote
tracking branches. A glob-style filter can be applied to narrow
the list of choices. Tooltips show the tip revision of each
branch, and also the last time the branch was last updated.
The new UI is much better suited to dealing with 200+ branches.
* Overhauled revision selection UI for checkout
The improved UI used for branch creation is also now used for
checkout, including local branches, remote tracking branches,
tags and arbitrary SHA-1 revision expressions.
* Overhauled revision selection UI for merge
Like checkout, merge uses the improved revision selection UI.
This allows users to merge arbitrary commits and not just
branches or tags. It also avoids problems with long branch
names being clipped and not fully visible.
* Branch reset (aka git-branch -f) support
Local branches can be reset through Branch->Create. This avoids
needing to delete the branch first, thereby saving the associated
reflog history.
* Automatically refetch tracking branches when needed
Before creating a new local branch or checking out a tracking
branch git-gui can first update the local tracking branch by
fetching it from the associated remote repository.
This feature helps users trying to work in a "bound branch"
workflow by making sure that they are always working with the
latest revision.
* Better detached HEAD support
git-gui now always works properly on detached HEAD and can switch
between local branches and detached HEAD. The Branch->Checkout
menu option offers support for switching to a detached HEAD.
HEAD's reflog is now also updated similar to how core Git's
command line tools would update it.
* Browse any branch/revision and not just the current branch
The browser (and thus blame viewer) can now be opened for any
commit, not just the current branch. The commit can be selected
using the improved revision selection UI already discussed above.
* Delete branches from remote repositories
If the remote repository is running git 1.5 or later you can
now delete remote branches through the Push->Delete menu.
* Prune local tracking branches via `git remote prune`
Pruning automatically deletes any tracking branches whose
corresponding remote branch has already been removed from the
remote repository. A configuration option accessible in the
options dialog can enable this feature to run after each fetch.
* Blame/browser now works in bare repositories
The `git gui blame` and `git gui browser` command line
subcommands now work properly in a bare Git repository.
This makes it easier to use git-gui's blame viewer.
* More consistent blame/browser command line interface
Revision and path argument parsing for the blame and browser
subcommands is more consistent with each other and now behave
like the core git-blame argument parsing.
* Progress meter during checkout/reset operations
git-gui now scrapes the output of `git-read-tree -v` during a
branch checkout or reset and shows the progress meter in the
main window's status bar. This lets users know how much work is
(roughly) remaining to complete the operation.
* Tracking branch merges are now formatted as pulls
When merging a tracking branch git-gui now generates the
commit message as though the branch was fetched+merged from the
remote using git-pull. This makes for a cleaner merge commit
message, but does not incur the network IO that would normally
be associated with git-pull.
* Automatic commit message backup
The Edit->Undo action appears to cause Tk to crash on some
platforms. To prevent users from losing the commit message
they were drafting git-gui now backs up the buffer to a file
every 2 seconds, if it has changed since the last backup.
* Removed 'octopus' merge support
It was decided recently on #git that octopus merge support is
not used often, and is probably not something users should be
commonly using. It has been removed from git-gui entirely.
* Language change: "to stage" instead of "to add"
This improvement came from Christian Stimming as part of the
i18n work. Although the command line uses git-add to stage
changes into the index we do tend to refer to this action as
"staging" and not "adding". Christian's changes really clarify
the UI for English users and should help i18n translators to
find better translations in their target language.
* Misc. bug fixes and UI tweaks
A number of other bugs were fixed and some minor UI nits were
corrected. For complete details please review the actual
commit history.
0.8.0 testing history:
Just to give folks a little warm-n-fuzzy feeling about merging
so much new functionality into git 1.5.3 right before release,
I offer up this little tidbit:
I have a local git-gui user's group at my day-job made up of about
20 users, ranging in skill from "novice computer user" to "expert
developer". They have been using version 0.8.0 on Cygwin for their
daily work for quite a while now and are reasonably happy with it.
Of course they also want even more features implemented.
Who doesn't. ;-)
--
Shawn.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the git-announce
mailing list