Looks very nice.
I worry though that we might be mixing metaphors a bit. The bulk of the items in the sidebar mock-up allow you to choose a branch for viewing its history. Commit allows you to commit unstaged changes on the "working" branch you were in when you started GitX (I guess; this has never been clear to me). The difference between the "current viewed branch" and the "branch where commits go" is not at all obvious in GitX at present, and will become much less obvious once the sidebar is there in both views, reminding you of this disparity. Along those lines, I feel the sidebar should be kept exclusively for "sources and targets"; i.e. either sources for history, or targets for committing, but not "Actions". Ideally, you would be able to select a branch either for viewing, or for committing on. Obviously, you can't commit to tags or "All branches" so we'd need some way to discriminate these. One sensible option would be to indicate via another icon, color, or both in the sidebar that a branch has staged/unstaged changes that *can be committed*. Tags and remotes, etc. would obviously never have this indication. Only one branch can have unstaged changes.[1] When such a "commitable" branch is selected, an single toggle icon -- "Commit/View" -- is enabled (disabled for branches without changes). If you are already in commit view, selecting another commitable branch just changes the target for commits (and the staged changes on that branch are updated, etc.). If you have unstaged changes on the current branch, you will be warned that they would be lost, and prompted whether to continue (which would invoke checkout -f).[1] This would make the sidebar meaningful in both views, and go a long way towards limiting confusion regarding which branch is which. Another related and useful metaphor would be to show a notional history element for staged + unstaged changes directly at the top of the history graph (with a special color), allowing you to double click them to switch to commit view. Again, these would only appear on true "commitable" branches. Also, a small one... the "Create branch" could be moved below the sidebar as a small "+", like various other tools. JD [1] This would be a natural place to add a "stash" interface of unstaged changes in the future if there were interest. On Sep 8, 10:38 am, Pieter de Bie <[email protected]> wrote: > And here is a quick snapshot of what the view looks like in the main window: > > http://ss.frim.nl/==BOan13 > > It's a bit unfortunate that the main view continues to below the > status bar ;) I'll have to think of a way to fix that before actually > using this. > > As you can see the sidebar takes quite a bit of space. I'm wondering > if it doesn't use too much horizontal room? > > I've pushed this change to my branch, perhaps others can test it and > see what they think? (Note that the commit button doesn't work yet)
