From: Theodore Tso <tytso@mit.edu>
To: Avery Pennarun <apenwarr@gmail.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>, git@vger.kernel.org
Subject: Re: Considering teaching plumbing to users harmful
Date: Wed, 16 Jul 2008 16:13:33 -0400 [thread overview]
Message-ID: <20080716201333.GI2167@mit.edu> (raw)
In-Reply-To: <32541b130807161135h64024151xc60e23d222a3a508@mail.gmail.com>
On Wed, Jul 16, 2008 at 02:35:16PM -0400, Avery Pennarun wrote:
> In svn, a branch is a revision-controlled directory. In git, a branch
> is a "ref". What's a ref? Well, it's a name for a commit. What's a
> commit? Well, it's a blob. What's a blob? Err, that's complicated.
> What happens when I delete a branch? Well, it's still in the reflog.
> What's the reflog? Well, it's the local revision history of each
> branch. Local? Why not shared? In svn, the revision history of each
> branch is shared, but in git, you don't need to, because...
>
> Even git branches are surprisingly concept heavy, unless your users
> ask a lot fewer questions than mine. The really critical question is
> why it's so easy to delete a branch in git, and that leads rapidly
> into the commit-tree stuff, which is always a spiral into plumbing as
> you try to explain the tree of commits.
I don't think you need to go into the plumbing to explain the commit
tree. What I normally do is tell people that branches point at
commits, and that commits are identified by commit ID's, which can be
full SHA-1 hashes, or which can be abbreviated for convenience's sake.
It's not strictly necessary to tell them about the commit-tree
plumbing command; just that each commit creates a snapshot, and that
commits can have one or more parents, plus the commit mesage, plus the
snapshot.
I do absolutely agree with Johannes' assertion that you don't have to
explain commit-tree, git-rev-list, and all the rest. The only reason
why users will need to see git-rev-list is because git-log references
it so prominently, and some of the more powerful git-log options are
only documented in git-rev-list.
- Ted
next prev parent reply other threads:[~2008-07-16 20:14 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-16 17:21 Considering teaching plumbing to users harmful Johannes Schindelin
2008-07-16 17:50 ` Jesper Eskilson
2008-07-16 18:14 ` Johannes Schindelin
2008-07-16 18:19 ` Jesper Eskilson
2008-07-16 18:27 ` Johannes Schindelin
2008-07-16 17:53 ` Avery Pennarun
2008-07-16 18:12 ` Johannes Schindelin
2008-07-16 18:35 ` Avery Pennarun
2008-07-16 20:13 ` Theodore Tso [this message]
2008-07-16 21:53 ` Daniel Barkalow
2008-07-17 11:18 ` David Kastrup
2008-07-17 15:52 ` Jakub Narebski
2008-07-17 16:05 ` David Kastrup
2008-07-17 16:18 ` Subversion's do-everything-via-copying paradigm ( was RE: Re: Considering teaching plumbing to users harmful) Craig L. Ching
2008-07-17 21:05 ` David Kastrup
2008-07-17 22:06 ` Craig L. Ching
2008-07-17 22:07 ` Avery Pennarun
2008-07-17 22:11 ` Junio C Hamano
2008-07-17 20:04 ` Considering teaching plumbing to users harmful Jakub Narebski
2008-07-17 20:12 ` Kevin Ballard
2008-07-17 20:26 ` Petr Baudis
2008-07-17 20:40 ` Kevin Ballard
2008-07-17 21:03 ` Jakub Narebski
2008-07-17 21:10 ` Kevin Ballard
2008-07-17 20:34 ` Jakub Narebski
2008-07-17 20:42 ` Kevin Ballard
2008-07-17 20:15 ` Kevin Ballard
2008-07-17 21:02 ` David Kastrup
2008-07-17 22:32 ` Robin Rosenberg
2008-07-18 7:41 ` Dmitry Potapov
2008-07-17 16:11 ` Subversion is actually not so simple (was RE: Considering teaching plumbing to users harmful) Craig L. Ching
2008-07-17 17:37 ` Jakub Narebski
2008-07-17 19:00 ` Considering teaching plumbing to users harmful Daniel Barkalow
2008-07-16 18:18 ` Junio C Hamano
2008-07-16 18:51 ` Avery Pennarun
2008-07-16 18:59 ` Petr Baudis
2008-07-16 19:22 ` Avery Pennarun
2008-07-16 19:09 ` Junio C Hamano
2008-07-16 19:29 ` Avery Pennarun
2008-07-16 19:34 ` Junio C Hamano
2008-07-16 19:46 ` Avery Pennarun
2008-07-16 20:12 ` Junio C Hamano
2008-07-16 22:32 ` Theodore Tso
2008-07-16 22:41 ` Junio C Hamano
2008-07-16 22:53 ` Sean Kelley
2008-07-16 23:17 ` Nigel Magnay
2008-07-17 3:21 ` Stephen Sinclair
2008-07-18 17:02 ` Ping Yin
2008-07-16 22:24 ` Dmitry Potapov
2008-07-16 22:28 ` Johannes Schindelin
2008-07-16 22:49 ` Theodore Tso
2008-07-17 0:25 ` Johannes Schindelin
2008-07-17 2:47 ` Theodore Tso
2008-07-17 14:21 ` Craig L. Ching
2008-07-17 14:51 ` Petr Baudis
2008-07-17 15:57 ` J. Bruce Fields
2008-07-16 21:16 ` david
2008-07-16 21:59 ` Dmitry Potapov
2008-07-16 20:23 ` Stephen R. van den Berg
2008-07-16 20:27 ` Nicolas Pitre
2008-07-16 20:51 ` Junio C Hamano
2008-07-16 23:05 ` Johannes Schindelin
2008-07-16 23:40 ` Junio C Hamano
2008-07-17 0:02 ` Johannes Schindelin
2008-07-17 6:53 ` Junio C Hamano
2008-07-17 15:55 ` J. Bruce Fields
2008-07-17 16:03 ` Karl Hasselström
2008-07-17 18:16 ` Johannes Schindelin
2008-07-17 18:29 ` Junio C Hamano
2008-07-17 18:43 ` Johannes Schindelin
2008-07-17 19:10 ` Junio C Hamano
2008-07-18 14:35 ` J. Bruce Fields
2008-07-18 9:55 ` Addremove equivalent [was: Re: Considering teaching plumbing to users harmful] Michael J Gruber
2008-07-18 20:18 ` Jay Soffian
2008-07-18 23:03 ` Johannes Schindelin
2008-07-20 3:27 ` Addremove equivalent Junio C Hamano
2008-07-20 3:28 ` [PATCH 1/2] builtin-add.c: restructure the code for maintainability Junio C Hamano
2008-07-20 3:29 ` [PATCH 2/2] git-add -a: add all files Junio C Hamano
2008-07-20 3:32 ` [PATCH 3/2] git-add -a: tests Junio C Hamano
2008-07-20 4:20 ` [PATCH 2/2] git-add -a: add all files Tarmigan
2008-07-20 4:28 ` Tarmigan
2008-07-20 10:56 ` Johannes Schindelin
2008-07-20 12:45 ` Jay Soffian
2008-07-20 18:30 ` Junio C Hamano
2008-07-20 20:46 ` Lars Noschinski
2008-07-20 23:59 ` Jeff King
2008-07-21 0:06 ` Junio C Hamano
2008-07-21 0:17 ` Jeff King
2008-07-21 0:22 ` Jeff King
2008-07-21 2:11 ` Jay Soffian
2008-07-20 20:34 ` Sverre Rabbelier
2008-07-16 21:48 ` Considering teaching plumbing to users harmful Dmitry Potapov
2008-07-16 23:19 ` Johannes Schindelin
2008-07-16 22:09 ` Stephan Beyer
2008-07-16 23:22 ` Johannes Schindelin
2008-07-17 1:01 ` Stephan Beyer
2008-07-17 7:30 ` "Peter Valdemar Mørch (Lists)"
2008-07-17 12:38 ` Dmitry Potapov
2008-07-17 12:55 ` Theodore Tso
2008-07-17 13:35 ` Peter Valdemar Mørch
2008-07-17 14:26 ` Theodore Tso
2008-07-17 16:38 ` Junio C Hamano
2008-07-18 8:19 ` Andreas Ericsson
2008-07-18 18:26 ` Jeff King
2008-07-18 10:14 ` Suggestion: doc restructuring [was: Re: Considering teaching plumbing to users harmful] Michael J Gruber
2008-07-18 18:26 ` Jon Loeliger
2008-07-18 18:52 ` Craig L. Ching
2008-07-18 19:50 ` Suggestion: doc restructuring Junio C Hamano
2008-07-19 1:19 ` Suggestion: doc restructuring [was: Re: Considering teaching plumbing to users harmful] Johannes Schindelin
2008-07-20 8:14 ` Suggestion: doc restructuring Junio C Hamano
2008-07-20 11:02 ` Johannes Schindelin
2008-07-21 6:41 ` Andreas Ericsson
2008-07-21 10:04 ` Johannes Schindelin
2008-07-21 16:22 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080716201333.GI2167@mit.edu \
--to=tytso@mit.edu \
--cc=Johannes.Schindelin@gmx.de \
--cc=apenwarr@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.