Merge branch 'jl/submodule-rm'
authorJeff King <peff@peff.net>
Mon, 29 Oct 2012 08:12:07 +0000 (04:12 -0400)
committerJeff King <peff@peff.net>
Mon, 29 Oct 2012 08:12:07 +0000 (04:12 -0400)
"git rm submodule" cannot blindly remove a submodule directory as
its working tree may have local changes, and worse yet, it may even
have its repository embedded in it.  Teach it some special cases
where it is safe to remove a submodule, specifically, when there is
no local changes in the submodule working tree, and its repository
is not embedded in its working tree but is elsewhere and uses the
gitfile mechanism to point at it.

* jl/submodule-rm:
  submodule: teach rm to remove submodules unless they contain a git directory

1  2 
builtin/rm.c
submodule.c
submodule.h

diff --cc builtin/rm.c
index b384c4c3cfe973346b5b295416f3883ae2d73c94,4a881ab27fd4efa0bb16955bb2e8944c1461b11c..2aea3b565318e11bdcc63f175631388f4f20ba44
@@@ -9,9 -9,10 +9,10 @@@
  #include "cache-tree.h"
  #include "tree-walk.h"
  #include "parse-options.h"
+ #include "submodule.h"
  
  static const char * const builtin_rm_usage[] = {
 -      "git rm [options] [--] <file>...",
 +      N_("git rm [options] [--] <file>..."),
        NULL
  };
  
diff --cc submodule.c
Simple merge
diff --cc submodule.h
Simple merge