On Wednesday, February 02, 2011 16:33:09 David Aguilar wrote: > I don't like where this is going. Users are not always right. > Touch .gitignore and be done with it. This is a big change with > negligible benefits. I don't understand why this is needed. I am not usually bothered too much that git doesn't story directories, and when I need to do it, I can do the .gitignore trick just like anyone else. However here are a few reasons that I miss this feature sometimes: 1) Why WOULDN'T you want to track empty directories? We track empty files: isn't that just as pointless? What if git couldn't track empty files and automatically removed files when they became empty? Well, I could live with that just as well, with some silly workarounds every once in a while (e.g. echo empty > some_file). 2) One of git's best strengths is that it's so easy to interact with other SCM software, primarily because git's features are a SUPERSET of other SCMs. However, almost every other SCM can track empty directories, except git, which makes it much harder to use as universal tool, where I can trust that everything will round-trip as well as possible. Also, other SCMs don't want ".gitignore" files cluttering their repository any more than we want their SCM tool's random control files in our repositories. 3) Forget for a moment the cuddly git idosynchracies that through use we have come to know and "love". From a design perspective, does putting and tracking, a file called IGNORE in a directory you want to KEEP make sense? It's one thing to use "touch .gitignore" in an empty directory to keep it *as a workaround*, based on implementation details (i.e. any file in the directory will do, but we probably will have a .gitignore anyway eventually, so might as well as use that) but it's a strange *design*. =) 4) On many projects I work on with a huge number of people, the workflow is to create a very, very intricate directory hierarchy skeleton, so that it's clear to everyone where everything goes and how it is organized, even before any work is started. In this case with git, it's annoying to do this because there are worthless .gitignore files cluttering up everything, which makes it harder to find where there are *actual* ignore rules being applied. 5) Git not tracking empty directories and the (perceived?) arrogant reaction from git experts ("no big deal, just touch .gitignore" -- I've said this to people too, since it's the canonical answer, but I always feel a little chagrined after hyping up everything git can do) sometimes is just one more thing that makes git harder to sell to others, especially when they are already in love with Subversion or whatever. Most of all, think of it this way: maybe git doesn't need to track empty directories in order to be awesome, but is there some reason that tracking empty directories would make it less awesome? Anyway, just some thoughts. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html