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)

Reply via email to