On Fri, Nov 17, 2006 at 10:32:46AM -0500, Theodore Tso wrote:
Yeah, the really difficult problem here is figuring out how to organize
the documentation. There are a few needs:
1. Quick-start/task-based documentation
- We want to "sell" git to the beginning user by getting
them up and running as quickly as possible.
- We need to help people with some limited needs--
testers who just need to download the latest linux git
tree, or bisect, or whatever.
- It's also a fun way to demonstrate the richness of
some git features (e.g. history explanation).
2. Conceptual background
- People need to understand the commit graph, branches,
merging, the index file (gack), pack files, etc.--some of
that can be put off a little while, some of it can't.
3. Reference documentation
The man pages do most of #3, but maybe they could be better organized--I
think people aren't finding stuff there that they should be.
Numbers 1 and 2 are scattered around git(7), the two-part tutorial, the
git-core tutorial, etc.
I agree. Unfortunately, people who need to use git but aren't
study-the-manual-first types *are* going to just dive in whether we want
them to or not, so we have to make it easy for them to pick up what they
need as they go.
How about this as a strawman "git user's manual" outline:
I. Quick-start: drawn from the tutorial part I and everyday.txt?
II. Basic git concepts, drawn from "discussion" in git(7) (the
README), tutorial part II, this branching-and-merging tutorial, etc.:
1. The commit graph and the object database
2. References
3. Fetching and pulling, remotes
4. The index file
III. Using git:
1. History exploration
2. merge resolution
3. pack files, fsck, repository maintenance
4. pushing, setting up a public repo
IV. Advanced examples: drawn from the howto directories,
cvs-migration.txt,...
1. More complicated commandline magic, scripting
(history exploration with git-rev-list, etc.)
2. History re-writing: cherry-picking, rebasing,...
3. Setting up a shared public repo?
4. Migration to/from other SCM's.
IV. Technical details: core-tutorial.txt, plumbing, code tours, etc.
Chapter II is the prerequisite for everything else, so a lot of thought
has to be given to treating exactly what's necessary there and no more.
Maybe more of it could be mixed into chapter I.
It has to be readable in order by the 10% of people who actually like to
read manuals, and easy to pick up in the middle for the 90% who will
just dive into the section they were told they need to read to
understand some particular problem.
In particular, ideally only I and II would really be sequential, and
the rest would be readable in any order.
--b.
-
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