From: "George Dennie" <gdennie@pospeople.com>
To: <git@vger.kernel.org>
Cc: B.Steinbrink@gmx.de, "'Jason Sewall'" <jasonsewall@gmail.com>,
"'Jakub Narebski'" <jnareb@gmail.com>, "'Jan Krüger'" <jk@jk.gs>,
torvalds@osdl.org
Subject: RE: Hey - A Conceptual Simplication....
Date: Thu, 19 Nov 2009 15:12:35 -0500 [thread overview]
Message-ID: <00d401ca6954$a29fa020$e7dee060$@com> (raw)
In-Reply-To: <20091119074226.GA23304@atjola.homenet>
Thanks Jakub Narebski and Björn Steinbrink...Nice description Björn.
I think an important piece of conceptual information missing from the docs
is a concise list of the conceptual properties defining the context of the
working tree, index, and repository during normal use. This itemization
would go far in explaining the synergies between the various commands.
Functionally, all the commands merely manipulate these properties. If these
properties were summarize in context one would expect that would represent a
very complete functional model of Git. A user could review the description
figure what they wanted to do and then find the command(s) to accomplish it.
Presently this knowledge is accreted over time as oppose to merely being
read and in the space of a few minutes "groked" (of course it could be that
I am particularly limited :).
For example, towards a functional model, is this close? (note: all
properties can be blank/empty)...
REPOSITORIES
Collection of Commits
Collection of Branches
-- collection of commits without children
-- as a result each commits either augments
-- and existing branch or creates a new one
Master Branch
-- typically the publishable development history
INDEX
Collections of Parent/Merge Commits
-- the commit will use all these as its parent
Staged Commit
-- these changes are shown relative to the working tree
Default Branch
-- the history the staged commit is suppose to augment
Collection of Stashes
-- these are not copies of the working tree since they
-- only contain "versioned" files/folders and so is not
-- a backup
WORKING_TREE
Collection of Files and Folders
As far as I can tell, the working tree is not suppose to be stateful, but it
seems the commands treat it as such.
What is interesting is that branches serve to encourage a serialized view of
commits. More than structure, they are like books in a library narrating a
development story. Consequently, and interestingly, they are as much the
purpose of the repository as the commits they organize...which is
interesting.
Again, thanks for your patients.
George.
next prev parent reply other threads:[~2009-11-19 20:12 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-18 12:55 Hey - A Conceptual Simplication George Dennie
2009-11-18 13:18 ` Jonathan del Strother
2009-11-18 13:25 ` Jan Krüger
2009-11-18 18:51 ` George Dennie
2009-11-18 19:40 ` Jakub Narebski
2009-11-18 19:52 ` Jason Sewall
2009-11-19 2:03 ` George Dennie
2009-11-19 7:42 ` Björn Steinbrink
2009-11-19 20:12 ` George Dennie [this message]
2009-11-19 21:27 ` Junio C Hamano
2009-11-20 0:49 ` Jakub Narebski
2009-11-20 6:27 ` Junio C Hamano
2009-11-20 2:31 ` Dmitry Potapov
2009-11-19 10:27 ` Jakub Narebski
2009-11-20 1:48 ` Dmitry Potapov
2009-11-20 1:55 ` david
2009-11-20 2:56 ` Dmitry Potapov
2009-11-20 2:35 ` Björn Steinbrink
2009-11-20 3:08 ` Dmitry Potapov
2009-11-20 1:35 ` Dmitry Potapov
2009-11-20 6:33 ` Junio C Hamano
2009-11-20 15:07 ` Dmitry Potapov
2009-11-18 13:30 ` Thomas Rast
2009-11-18 13:31 ` Jason Sewall
2009-11-18 20:36 ` Linus Torvalds
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='00d401ca6954$a29fa020$e7dee060$@com' \
--to=gdennie@pospeople.com \
--cc=B.Steinbrink@gmx.de \
--cc=git@vger.kernel.org \
--cc=jasonsewall@gmail.com \
--cc=jk@jk.gs \
--cc=jnareb@gmail.com \
--cc=torvalds@osdl.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).