
Gitbox 1.0 released: a version control app for Mac - oleganza
http://gitboxapp.com
======
danieldk
No Github integration, and does not seem to provide much over GitX. At the
very least, GitX does have an inline diff viewer when you browse revisions. In
Gitbox you have to click a modified file, and then it will launch FileMerge.
Too uncomfortable.

~~~
iipalindromeii
Which fork of GitX would you recommend?

Maintaining a tool like this is basically unpleasant. You either need to be
maintaining it for internal customers in a large company, or you need to sell
it as a product - in other words, it's one of those products you really want
to get paid for.

Maybe having a paid project will help keep this app actively developed.

~~~
sant0sk1
Brotherbard's fork has a bunch of additional features and I've found it to be
pretty stable. I use it daily and highly recommend it.

<https://github.com/brotherbard/gitx>

~~~
dfnord
Another good tool that works on all platforms is smartgit:
<http://www.syntevo.com/smartgit/index.html>

~~~
macmac
It is subject to a German license agreement...

~~~
jschuur
And the specific problem there is?

------
nestlequ1k
I've been trying hard to use GitBox for the last 2 month (beta version), but
the lack of a quick view for commits makes me always revert back to GitX.

With GitX, I can easily cycle through all the files and see a quick summary of
what was changed. With GitBox, I have to double click on _every single_ file
to get the diff. Either that, or just blind commit files. Not good options.

GitBox has the best push/pull functionality of any git client so far. But its
crappy commit panel is really holds it back.

~~~
oleganza
All points a valid and will be addressed in the upcoming versions.

~~~
nestlequ1k
Awesome. Thanks!

------
JonnieCache
Obviously the command line version is going to suit most people here better.
That is completely missing the point.

This will be perfect for those of us who work in teams with less technical
people who still need r/w access to repositories. This will save us from
training the designer and manager types in our organisations to use the
command line tools, and as such will pay for itself.

~~~
AllTom
Developers, too. Until you study and play with git for a long time,
local/remote branches and pushing/pulling are hard to understand and very hard
visualize. With Gitbox it's like reading your e-mail. I promote it at work as
"the git client with five buttons" because that simplicity is worth a lot.

------
frou_dh
Well, everyone's talking about alternatives, but kudos for putting your own
touch on the concept and launching your app. I'm going to try it.

------
veidr
This is great. I hate maintaining a fork of gitx myself, and actually gitx is
markedly inferior to a high-quality commercial Mac application. There just
haven't been any of those for git yet.

For Subversion, there are Versions and Cornerstone, which are really much more
pleasant to use, but nowadays of course most of projects are using git. So I
am stoked to see a promising developer take this on. I'm sure he will make a
run at adding missing stuff like optional inline diff viewing and whatnot.

------
joao
There seems to be also another git client coming out this month:
<http://www.git-tower.com/> — Git Tower

The UI seems a little bit more confusing, not something simple. I still use
GitX.

~~~
Rygu
I'm using the Git Tower beta and I have to say, it works like a charm. It does
everything that GitX does, but provides a better UI for everything.

The only thing I miss from GitX is the ability to discard changes per changed
line/block. In Tower, it is possible to stage per changed block though.

[edit] One thing that I forgot to mention is that the developers are very
active and responsive, even though it's a closed source project. I made a few
suggestions and got replies for each of them within a week. (Compared to
Gitbox, Git Tower is built by a whole team of devs.)

------
SandB0x
The tagline seems quite negative:

"Linus made Git for himself. Gitbox brings Git to everyone."

Without Linus' free creation this app wouldn't exist at all.

~~~
oleganza
It's not negative at all. It is a credit to Linus as a creator. Linus made a
great tool and the command line UI is enough for him. Gitbox just makes his
creation accessible to others and everybody wins.

~~~
Hoff
Please don't get defensive. Accept the feedback. Move on.

And yes, whether it was intended or not, that statement can be inferred as a
negative.

------
itsnotvalid
Command line version suits me well. If I need xcode integration, I can use
xcode 4 preview, which has merging tools and code comparison boiled in.

By the way the site talks about a discount until Dec 1, I guess I'd skip that
discount no matter what, as others mentioned a tool called Git Tower which
seems to have a pleaser UI.

Some sites also suggested another open sourced Git UI called Gity
<http://gngrwzrd.com/> other than GitX which to me is just another blend of
git-gui. In the OSS part Gitnub (<https://github.com/Caged/gitnub>) is a UI
for Github and Git in general, but this one is not pure Cocoa (requires
RubyCocoa.

------
stevefink
It's a good effort - although I agree with a lot of the folks commenting here,
I cannot recommend this to anyone without Git experience over GitX. The good
news is, there is plenty of room for an intuitive GUI based Git app,
particularly with GitHub integration. It's frustrating working with non-
developer types who need access to static assets that need to be versioned. I
need to get them an SVN equivalent such as Cornerstone or Versions. Teaching
them the command line and Git is an all too time consuming process and I have
no choice but to ensure they know at least the basics on smaller projects
where non-developers are tightly coupled with things like HTML/images, etc.

------
dabeeeenster
65 MB? For a git browser? Really?

~~~
oleganza
First, it is not a browser. You actually do commits, merges and manipulate
branches.

The size is that big because Gitbox is bundled with official Git binaries so
you don't have to install anything else. I will see how to bring the size down
in the next versions. Anyway, this fact does not affect the performance and
does not eat much memory.

~~~
pornel
git-osx-installer package takes 4.3MB, but your git.bundle takes 150MB.

The problem is that the bundle contains exactly same binary 104 times (git,
git-add, git-apply, etc. are identical files, 1.3MB each). These should be
symlinks.

It might be ZIP's fault (doesn't support symlinks AFAIK). I distribute my apps
as tar.bz2, and nobody complained yet.

~~~
dchest
ZIP on OS X supports symlinks.

~~~
oleganza
I couldn't get it store hardlinks properly (using ditto). Do you know how to
fix that?

~~~
oleganza
corprew: the situation with hardlinks and the app size will improve over time.
I just had a lot of more important things to do.

(sorry, cannot reply to you directly: no reply link)

------
js4all
Git comes with a GUI tool. Run gitk to see commits, comments, history and
diffs. I use it a lot and never needed another GUI tool.

Anyway, great to see a new tool for devs who need more GUI support.

~~~
masklinn
> Git comes with a GUI tool. Run gitk

You're not an OSX user are you?

~~~
frou_dh
As in OS X users are less tolerant of badly designed GUIs?

~~~
masklinn
That might be a factor, but no, mainly as in "tk interfaces look and behave
dreadfully on OSX, as do pretty much all X applications but even more so, when
they accept to work at all".

* Even from on a hot start, gitk takes almost 5s between invocation and startup (on a 2.4GHz MBP) where GitX takes roughly 2s on a cold start (cold-start gitk takes on the order of 10s).

* X applications don't behave in OSX: Divvy's resizing doesn't work, shortcuts don't work well, the menus are all broken (and the "OSX Menu" is that of the X11 application rather than the application's own), etc…

* X applications look horrible, even if you discount the clusterfuck that their interface might be, they redraw poorly and slowly, the areas "bounce" and the transitions tend to not "look right", and the whole widget set looks terribly out of place.

Compare: Gitk <http://imgur.com/9mtGu.png>, GitX <http://imgur.com/xS2DI.png>
gitk looks like I'm back in 1993.

~~~
frou_dh
Ah yes, I keep saying "GUI" when I suppose I actually mean "look & feel".

------
idan
While it's nice to see native Git apps taking off like this, I don't think
this app is mature enough for daily use yet. Having to leave the app for a
diff is too much of an interruption.

I like that the author is paying attention to little details, and I'm sure
he'll improve the app over time, but right now I'm not seeing $40 worth of
value over GitX.

------
flipgimble
Can anyone compare this to SourceTree? <http://www.sourcetreeapp.com/>

which appears to support git and mercurial as a native MacOSX app and only 8MB
download. Both appear to be too early of a release for me to shell out $40
for.

~~~
oleganza
Thanks for sharing the link. I have commented earlier on SmartGit, the same
ideas apply to SourceTree as well.

PS. The size is almost a non-issue since it does not affect performance and
you don't download the app every day. Anyway, the size will go down in the
next updates.

------
makeramen
holy crap. this might actually get me to finally make the jump from hg to git.

------
timc3
Sorry, but that just looks confusing. Easy to stick with the shell tools.

------
bobx11
i recently downloaded a big pile of them... gitx (the development build) is by
far the most feature rich one that I tried

------
jomama
Great job. Simplifying git into an intuitive and usable UI is really
challenging, and I think you're on the right track.

The toolbar is great. It's very clear what's going on, what branch you're on,
where you're going to push to, and how to push to another branch. Collapsing
branch checkout into the local branch popup menu works really well.

Collapsing history and local changes into one list kicks ass; probably my
favorite feature/design decision. Fetching ahead of time and showing new
commits to be merged, along with highlighting new commits to be pushed, is
probably the best thing I've seen done in a version control client.

I'm not a fan of checkboxes for staging. I was bummed when Xcode 4 went this
route with their new git integration. But I like that select files -> commit
does exactly what you expect, staging selected files automatically. Cmd-return
to commit is great.

Here's some constructive feedback on a few details:

\- It's unclear how to add a repository. File -> Open works, but this
interaction feels broken because it's not a document-based app. It's a one-
window collection based app with a source list. So the copy should read File
-> Add Repository. But this should also be accessible in the UI. I dig the
simplicity of the UI, and that there's no bottom bar chrome (which is
challenging to achieve), but in this case there really should be a [+] button
for adding repositories. I can understand the choice to not go that route, but
it's a standard UI convention for source list based apps, so users expect it
and are confused what to do without it.

\- A source list should never resize with the window. The source list should
stay fixed while the content view resizes with the window. And in the case of
an NSSplitView with three panes, one should probably resize while the others
stay fixed; this isn't as much of a rule, but it feels better in the UI. I
would resize the middle view (which is usually standard), because it's most
likely that the user wants to read more of the commit messages, apposed to the
changed file list. This behavior is pretty standard, and definitely expected
with the source list, but you don't get it for free from Cocoa. You have to
resize the views manually with an NSSplitViewDelegate method. I noticed a few
apps hit the market recently that missed this UI detail, presumably because
it's not clear how to do this. Here's a simple example for a two pane,
source/content split view. <http://pastie.org/1346451>

\- The changed file list is a pixel south when you're viewing local changes to
commit. With AppKit controls like tables, outlines, split views, etc., you
sometimes have to push them a pixel into their container views, because they
draw their own borders and when you have one inside the other, you can end up
with multiple pixel borders. Or it's just off.

\- Keyboard support is supper important with this kind of app. This is more a
feature request, but I expected the left and right arrow keys to navigate me
from repository to history list to changed file list and back. This
interaction would speed up workflow tremendously.

\- There's no reason for the source list to be collapsible, especially because
it zeros out the source selection and kills the content view, but the content
of the changed file list persists. This feels broken. There are some
NSOutlineViewDelegate methods to tweak this and get it to show up as a section
header, iTunes style.

\- Prefixing the repo name with the parent directory is an interesting design
decision. To me it feels a little broken because the repos are reordered in a
non-alphabetic way, respecting their parent folders instead of the repo's
folder name. It works well when it's /company/project, but feels busted when
it's /some-folder/project. If they're not listed alphabetic to the repository
folder, they should probably be user reorder-able.

\- The icon is under-polished, but I like the composition and style.

\- The diff is the deal-breaker. If this app had a built-in diff, I would say
it's one of the best version control clients I've seen, even at it's early
stage and under polish, because the simplified interaction is really good. Add
an inline diff as soon as possible.

I'm working with a team on a git client as well, and we've spent a
considerable amount of time iterating interaction ideas, trying to find
simplified was to expose the power and flexibility of git, and in places have
come up with similar solutions. Honestly, it's hard. So mad props for making a
three button git app. It's really impressive. Keep at it.

And don't listen to nay-sayers. Feedback is great, but all we can do is look
for the useful parts of it, and not get pulled down by the rest. I've spent a
fair amount of time looking into the potential user base of git clients, and
it's a really wide spectrum. Hardcore cli advocates are sub-set.

~~~
oleganza
Thanks again for the feedback. First week after the 1.0 release I was busy
working on improvements and have addressed many of issues you describe.

1\. In 1.1 File->Open menu is renamed to Open Repository. Add button will
appear in a totally redesigned window layout in the next releases.

2\. Source list resizing is fixed in 1.1

3\. I have removed the standard headers from the changes list which fixes the
problem. This view will be greatly improved later, though.

4\. Yes, keyboard navigation is crucial. Now you can navigate between all the
panes with arrow keys. Plus, jumping through the list of repos or commits is
optimized.

5\. Source list collapsing will be addressed later. 1.1 fixed the issue with
persisted changes list when no repo is selected.

6\. Repo organization will improve in one of the nearest releases.

------
fuxx0r
so, iam on ppc, will you provide 10.5 in the future?

~~~
oleganza
Unfortunately, no. Gitbox is designed on top of GCD and blocks which are
available in 10.6 (which is Intel-only). The tradeoff is worth it: with GCD I
was able to implement sophisticated control flow cleaner and faster, and fix a
lot of bugs.

~~~
fuxx0r
i see =/ well, ppc is drifting slowly out. but iam looking forward to buy a
intel mac in the future, hopefully your application is still maintained =)

