Re: Considering teaching plumbing to users harmful

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Daniel Barkalow
Date: Wednesday, July 16, 2008 - 2:53 pm

On Wed, 16 Jul 2008, Avery Pennarun wrote:


You're simply wrong. A ref isn't a name for a commit (the point of having 
a ref is that it doesn't persist in naming the same commit). A commit 
isn't a blob. If you start telling people complicated and wrong things, 
they're surely going to be confused.

Git maintains history as a directed graph, with each commit pointing back 
at its history. Refs are the what holds the newest commits that nothing 
else points back to. If directed graphs aren't in your users' experience, 
you can put it this way: git maintains history like knitting, where each 
new stitch holds on to one or more previous stitches, and refs are the 
knitting needles that hold the ends where you're working (except that 
knitting is a lot wider than software development). gitk --all even 
provides the diagram you want to explain it.

SVN branches are incredible confusing because they fail to distinguish the 
directory structure of the project's source tree from the arrangement of 
available latest versions. And the version numbers for your branch 
increase when changes are made to other branches.


I don't think the plumbing does a particularly good job of elucidating the 
fundamental git internals; the plumbing does single operations on the 
fundamental structures, but that doesn't explain what the fundamental 
structures are, or what they mean, or why you'd do particular things to 
them. In fact, they don't at all show the difference between what's 
expected to change frequently and what's permanent, which will tend to 
give you wrong ideas.

And for understanding the basic objects, "git show" will work better than 
"git cat-file" (there's no fundamental reason that trees are binary data 
and other types aren't, and no particular reason to care about the time 
format in commit headers, etc), and the plumbing programs for creating the 
fundamental objects are an even more uneven and arbitrary presentation.

	-Daniel
*This .sig left intentionally blank*
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 10:21 am)
Re: Considering teaching plumbing to users harmful, Jesper Eskilson, (Wed Jul 16, 10:50 am)
Re: Considering teaching plumbing to users harmful, Avery Pennarun, (Wed Jul 16, 10:53 am)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 11:12 am)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 11:14 am)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Wed Jul 16, 11:18 am)
Re: Considering teaching plumbing to users harmful, Jesper Eskilson, (Wed Jul 16, 11:19 am)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 11:27 am)
Re: Considering teaching plumbing to users harmful, Avery Pennarun, (Wed Jul 16, 11:35 am)
Re: Considering teaching plumbing to users harmful, Avery Pennarun, (Wed Jul 16, 11:51 am)
Re: Considering teaching plumbing to users harmful, Petr Baudis, (Wed Jul 16, 11:59 am)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Wed Jul 16, 12:09 pm)
Re: Considering teaching plumbing to users harmful, Avery Pennarun, (Wed Jul 16, 12:22 pm)
Re: Considering teaching plumbing to users harmful, Avery Pennarun, (Wed Jul 16, 12:29 pm)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Wed Jul 16, 12:34 pm)
Re: Considering teaching plumbing to users harmful, Avery Pennarun, (Wed Jul 16, 12:46 pm)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Wed Jul 16, 1:12 pm)
Re: Considering teaching plumbing to users harmful, Theodore Tso, (Wed Jul 16, 1:13 pm)
Re: Considering teaching plumbing to users harmful, Stephen R. van den Berg, (Wed Jul 16, 1:23 pm)
Re: Considering teaching plumbing to users harmful, Nicolas Pitre, (Wed Jul 16, 1:27 pm)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Wed Jul 16, 1:51 pm)
Re: Considering teaching plumbing to users harmful, Dmitry Potapov, (Wed Jul 16, 2:48 pm)
Re: Considering teaching plumbing to users harmful, Daniel Barkalow, (Wed Jul 16, 2:53 pm)
Re: Considering teaching plumbing to users harmful, Dmitry Potapov, (Wed Jul 16, 2:59 pm)
Re: Considering teaching plumbing to users harmful, Stephan Beyer, (Wed Jul 16, 3:09 pm)
Re: Considering teaching plumbing to users harmful, Dmitry Potapov, (Wed Jul 16, 3:24 pm)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 3:28 pm)
Re: Considering teaching plumbing to users harmful, Theodore Tso, (Wed Jul 16, 3:32 pm)
Re: Considering teaching plumbing to users harmful, Theodore Tso, (Wed Jul 16, 3:49 pm)
Re: Considering teaching plumbing to users harmful, Sean Kelley, (Wed Jul 16, 3:53 pm)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 4:05 pm)
Re: Considering teaching plumbing to users harmful, Nigel Magnay, (Wed Jul 16, 4:17 pm)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 4:19 pm)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 4:22 pm)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Wed Jul 16, 4:40 pm)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 5:02 pm)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Wed Jul 16, 5:25 pm)
Re: Considering teaching plumbing to users harmful, Stephan Beyer, (Wed Jul 16, 6:01 pm)
Re: Considering teaching plumbing to users harmful, Theodore Tso, (Wed Jul 16, 7:47 pm)
Re: Considering teaching plumbing to users harmful, Stephen Sinclair, (Wed Jul 16, 8:21 pm)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Wed Jul 16, 11:53 pm)
Re: Considering teaching plumbing to users harmful, "Peter Valdemar Mørc ..., (Thu Jul 17, 12:30 am)
Re: Considering teaching plumbing to users harmful, Dmitry Potapov, (Thu Jul 17, 5:38 am)
Re: Considering teaching plumbing to users harmful, Theodore Tso, (Thu Jul 17, 5:55 am)
Re: Considering teaching plumbing to users harmful, Peter Valdemar Mørch, (Thu Jul 17, 6:35 am)
RE: Considering teaching plumbing to users harmful, Craig L. Ching, (Thu Jul 17, 7:21 am)
Re: Considering teaching plumbing to users harmful, Theodore Tso, (Thu Jul 17, 7:26 am)
Re: Considering teaching plumbing to users harmful, Petr Baudis, (Thu Jul 17, 7:51 am)
Re: Considering teaching plumbing to users harmful, J. Bruce Fields, (Thu Jul 17, 8:55 am)
Re: Considering teaching plumbing to users harmful, J. Bruce Fields, (Thu Jul 17, 8:57 am)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Thu Jul 17, 9:38 am)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Thu Jul 17, 11:16 am)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Thu Jul 17, 11:29 am)
Re: Considering teaching plumbing to users harmful, Johannes Schindelin, (Thu Jul 17, 11:43 am)
Re: Considering teaching plumbing to users harmful, Junio C Hamano, (Thu Jul 17, 12:10 pm)
Re: Considering teaching plumbing to users harmful, Andreas Ericsson, (Fri Jul 18, 1:19 am)
Re: Considering teaching plumbing to users harmful, J. Bruce Fields, (Fri Jul 18, 7:35 am)
Re: Considering teaching plumbing to users harmful, Ping Yin, (Fri Jul 18, 10:02 am)
Re: Considering teaching plumbing to users harmful, Jeff King, (Fri Jul 18, 11:26 am)
Re: Suggestion: doc restructuring, Junio C Hamano, (Fri Jul 18, 12:50 pm)
Re: Addremove equivalent [was: Re: Considering teaching pl ..., Johannes Schindelin, (Fri Jul 18, 4:03 pm)
Re: Suggestion: doc restructuring [was: Re: Considering te ..., Johannes Schindelin, (Fri Jul 18, 6:19 pm)
Re: Addremove equivalent, Junio C Hamano, (Sat Jul 19, 8:27 pm)
[PATCH 2/2] git-add -a: add all files, Junio C Hamano, (Sat Jul 19, 8:29 pm)
[PATCH 3/2] git-add -a: tests, Junio C Hamano, (Sat Jul 19, 8:32 pm)
Re: [PATCH 2/2] git-add -a: add all files, Tarmigan, (Sat Jul 19, 9:20 pm)
Re: [PATCH 2/2] git-add -a: add all files, Tarmigan, (Sat Jul 19, 9:28 pm)
Re: Suggestion: doc restructuring, Junio C Hamano, (Sun Jul 20, 1:14 am)
Re: [PATCH 2/2] git-add -a: add all files, Johannes Schindelin, (Sun Jul 20, 3:56 am)
Re: Suggestion: doc restructuring, Johannes Schindelin, (Sun Jul 20, 4:02 am)
Re: [PATCH 2/2] git-add -a: add all files, Jay Soffian, (Sun Jul 20, 5:45 am)
Re: [PATCH 2/2] git-add -a: add all files, Sverre Rabbelier, (Sun Jul 20, 1:34 pm)
Re: Suggestion: doc restructuring, Andreas Ericsson, (Sun Jul 20, 11:41 pm)
Re: Suggestion: doc restructuring, Johannes Schindelin, (Mon Jul 21, 3:04 am)
Re: Suggestion: doc restructuring, Junio C Hamano, (Mon Jul 21, 9:22 am)