I’ve released git-wtf version bf06ab7. The highlight of this release is
colorized output. ANSI escape sequences are the future of the web.
Also, the feature / integration branch comparisons is now only displayed when
-r is supplied.
Check out the git-wtf home page
for an example of the fancy colorization, or just download it now.
I’ve released version 58b87fe9 of git-wtf, available here:
http://git-wt-commit.rubyforge.org/git-wtf
This version contains a fairly major change: branches on origin are treated as
equal to local branches, and branches that are remote-only are denoted with {
}. So now there are three possible symbols: ( ) for local-only, { } for
remote-only, and [ ] for branches that appear on both origin and your local
repo.
The motivation was dealing with the fact that Sup has very many feature
branches going at once, but I work on it on several different computers and
typically only have a subset of them checked out. I didn’t want anyone to be
left out….
I also fixed a few minor things like removing the restriction that version
branches be local branches.
I’ve released a version dd706855 of git-wtf, available here:
http://git-wt-commit.rubyforge.org/git-wtf
I’ve tweaked the output format so that branches that don’t exist
on the remote server are displayed with ()‘s and those that do
with []’s, and ~ is the new symbol for a merge that only occurs
on the local side.
I think this produces a better display; lots more information
per line of ourput.
I’ve also added a couple random options which you can discover by
reading the source. :)
The big next step I’d like to take with this thing is to support
multiple remote repos better. Currently it’s kinda specific to your
origin repo.
I’ve released a fairly preliminary version of git-wtf to my collection of Git tools. This is something I’ve been working on recently to help wean myself away from excessive gitk usage. From the description:
If you’re on a feature branch, it tells you which version branches it’s merged into. If you’re on a version branch, it tells you which feature branches are merged in and which aren’t. For every branch, if it’s a tracking branch, it tells you which commits need to be pulled and which need to be pushed.
So basically if you find yourself with a ton of branches (which invariably happens if you use feature branches in Git) or you find that keeping track of branch state is generally hard, and that gitk is confusing as often as it is useful, this is the tool for you.
By default it assumes that any branches named “master”, “next” or “edge” are version branches, and all other branches are feature branches. This is configurable, of course. It also warns, for tracked branches, if both the remote branch and the local branch have new commits, i.e. git pull would create a merge commit and you should rebase instead. If you don’t care about this type of thing, this might be annoying.
The main thing addition I foresee in the near future is a warning if merging in a feature branch into a version branch would collapse two version branches. Something like: when merging a feature branch into a version branch, warn if the feature branch contains commits reachable from any version branch and not reachable from master.