On Thu, 1 Sep 2011 17:22:18 +0100 Adam Prescott <a...@aprescott.com> wrote:
> > I think you're concentrating too much on that "source code" idea. > > > > If we instead look at these two things: a) Unix has special files > > (such as devices, named pipes etc), b) Git tracks hierarchies of > > files, then one can think of using Git as something like a > > "versioned tar". > > It is often repeated that Git does not track files, it tracks content. I honestly do not want to appear as wishing to be smarter than those smart guys who wrote Git, but I'm yet to see a developer around me who really thinks of Git (or any other [D]VCS for that matter) in terms of tracking content. We shove files to our VCSes, we `git add` or `git rm` them, and after we cloned, we see a filesystem tree populated with files. So while it may be 150% correct to have this "content-based" mental picture in mind, it's equally hard to deny that popular VCSes, Git included, do track files assembled in hierarchies. The real problem (with the origin of this discussion) is that Unix special files only superficially look like files. Distinct kinds of those files require their own special syscalls to create and delete files of those kinds. Also their properties are not that uniform--consider major/minor numbers of device files for instance. So one problem would be to store records for these files in tree objects and much bigger problem would be to properly create/delete them when requested. -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To post to this group, send email to git-users@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.