On Sat, Dec 13, 2008 at 01:12:56AM +0000, David Howells <dhowells@xxxxxxxxxx> 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.) > 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.
Attachment:
pgpr33oCCHmCu.pgp
Description: PGP signature