Live data from Hacker News

The Git Parable (building a Git-like system from the ground up)

tom.preston-werner.com

1–10 of 22 posts

Re: The Git Parable (building a Git-like system from the ground up)

#3

Teaching people more than a few commands would be made a lot easier if there was a proper GUI for git. I find the current GUI to be severely lacking.

Which gui? TortoiseGit looks like it is making progress: http://code.google.com/p/tortoisegit/

The Porcelain command line interface is quite nice itself. Gitk isn't pretty (not Apple-style pretty at least) but perfectly functional for viewing logs.

Re: The Git Parable (building a Git-like system from the ground up)

#4
post #3

Teaching people more than a few commands would be made a lot easier if there was a proper GUI for git. I find the current GUI to be severely lacking.

Which gui? TortoiseGit looks like it is making progress: http://code.google.com/p/tortoisegit/ The Porcelain command line interface is quite nice itself. Gitk isn't pretty (not Apple-style pretty at least) but perfectly functional for viewing logs.

GitX is pretty awesome for Mac. http://gitx.frim.nl/

Re: The Git Parable (building a Git-like system from the ground up)

#6

Teaching people more than a few commands would be made a lot easier if there was a proper GUI for git. I find the current GUI to be severely lacking.

Could you be more specific?

I'm fine with the command-line interface, but for sake of argument, I'm curious what you think the UI should be like.

Re: The Git Parable (building a Git-like system from the ground up)

#7

Teaching people more than a few commands would be made a lot easier if there was a proper GUI for git. I find the current GUI to be severely lacking.

Could you be more specific? I'm fine with the command-line interface, but for sake of argument, I'm curious what you think the UI should be like.

It would be nice if the interface could walk you through those first few steps you need to take when you're getting introduced to a version control system. Some explanation would be nice. A "Pull" function would also be handy, not to mention some graphics to show where you are in the tree.

The biggest thing that would be needed, however, are some better error messages. Yes, "non fast-forward" is true and descriptive, but a little short for beginners. They are left thinking things like "What is a fast-forward? Why isn't it a fast-forward? Can you just make it work?".

I've looked into changing those error messages (and maybe making the system more internationalized) but they are hard-coded in git's source code, and are not easy to track down.

Re: The Git Parable (building a Git-like system from the ground up)

#9

Earlier quoted context omitted.

Could you be more specific? I'm fine with the command-line interface, but for sake of argument, I'm curious what you think the UI should be like.

It would be nice if the interface could walk you through those first few steps you need to take when you're getting introduced to a version control system. Some explanation would be nice. A "Pull" function would also be handy, not to mention some graphics to show where you are in the tree. The biggest thing that would be needed, however, are some better error messages. Yes, "non fast-forward" is true and descriptive,…

You're right. There's remote->fetch, but no pull. Weird.

The interface of git seems to assume that you're familiar with the underlying concepts. The official docs and tutorials are pretty good nowadays, but I can see how the interface itself really doesn't give you many clues. (I was already familiar with hg when I started using git, so I picked it up quite quickly.)

Coming up with a newbie-friendly interface has probably been a much, much lower priority than getting the underlying system working well, which is pretty typical of Unix culture. Writing good GUIs can be quite hard, and moreover, takes a very different skill set than most programming does. (GUIs like this (http://www.ok-cancel.com/comic/4.html) are ... not helpful.)

> The biggest thing that would be needed, however, are some better error messages.

While I emphatically agree with you, in all fairness, everything needs better error messages. (Have you ever used OCaml? Yeesh!)

Re: The Git Parable (building a Git-like system from the ground up)

#10
post #5

This is a wonderful way to teach. Inspired.

I guess. But in this particular case, the early development of git looks almost exactly like what's described. You can go back and read Linus's early descriptions and the traffic in the early days on the mailing list and see the design as it actually unfolded.

Why use a parable when you can use history instead?

Post reply on HN