Re: [PATCH] Simplified GIT usage guide
- From
Miklos Vajna <vmiklos@frugalware.org>
- Date
- Dec 13, 2008, 03:34 UTC
- Message-ID
- <20081213033443.GP5691@genesis.frugalware.org>
- In-Reply-To
- <32096.1229130776@redhat.com>
On Sat, Dec 13, 2008 at 01:12:56AM +0000, David Howells <dhowells@redhat.com> wrote:
> Okay. I do mention tags. How they're stored in the database is irrelevant. > As far as most users need be concerned, a tag is a symbolic representation of > a particular commit in the tree; a particular state of the source tree.
Actually I think it matters, that's why a 'tag' differs to a 'tag object'. Also, a tag can point to any other object, not just to a commit. (Though usually it does.)
Show 6 quoted lines
> Think of symbolic links as an analogy. Most users just need to know that a > symlink represents the location of another part of the VFS tree; actually most > users will just think of them as a pointer to the name of a file, if even that > much. The fact that, say, ReiserFS tail packs them because they tend to be > small, or that AFS symlinks have weird properties that encode mountpoints is > irrelevant to most users. You don't need to know that to use them.
Won't it be confusing that a symlink can be stored as a blob, tags are refs, but refs are not blobs?
> Yes, GIT's database has blob objects, tree objects, commit objects and tag > objects; but as far as the normal user is concerned, it stores files, lists of > files (directories or, more probably, folders), commits and tags. The > physical low-level stuff is completely irrelevant.
Agreed, the object database is not interesting for a beginner.