On Monday 11 January 2010, Johannes Schindelin wrote: > Hi, > > On Mon, 11 Jan 2010, Peter Collingbourne wrote: > > Change the unlink_entry function to use rmdir to remove submodule > > directories. > > NAK. We should not even try to _unlink_ submodule subdirectories; it > would be _way_ too easy to lose data that way. Remember, submodules > are a totally different beast from regular files. They can contain > valuable, yet uncommitted data, that is not even meant to be > committed. > > So you say if the submodule directories are empty, it is safe? Not > so. They will never be empty: there is always .git/, and _that_ can > contain valuable information that you do not want to throw away, too. > Think of unpushed branches, for example. That would be _fatal_ if > you rmdir() that for me. > > So please, no, I believe what Peter is referring to is the _empty_ directories (and that includes no .git/) that are placeholders for submodules that are deliberately not cloned/checked out. This lets you do things like: git clone url:to/some/project cd project git checkout some-other-branch-with-different-submodules git submodule update --init Of course, once you clone/checkout a submodule, there will be contents in that directory (including the .git/), and Git should not try to remove it. Have fun! :) ...Johan -- Johan Herland, <johan@xxxxxxxxxxx> www.herland.net -- 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