On Tue, Mar 22, 2016 at 2:25 AM, Per Cederqvist <cederp@xxxxxxxxx> wrote: > It used to be possible to run > > git submodule deinit -f . > > to remove any submodules, no matter how many submodules you had. That > is no longer possible in projects that don't have any submodules at > all. The command will fail with: > > error: pathspec '.' did not match any file(s) known to git. > > But if I run "git submodule deinit" (without the ".") git tells me: > > Use '.' if you really want to deinitialize all submodules > > This is a regression introduced in Git 2.7.0 (and v2.7.0-rv0). "git > bisect" points to this commit: > > commit 74703a1e4dfc5affcb8944e78b53f0817b492246 (refs/bisect/bad) > Author: Stefan Beller <sbeller@xxxxxxxxxx> > Date: 2015-09-02 14:42:24 -0700 > > submodule: rewrite `module_list` shell function in C > > One could argue that it makes no sense to run "git submodule deinit -f > ." in a repository with no submodules. I've written a continuous > integration system for a project where some branches have submodules > and other don't, and I found it convenient to don't have to treat > those branches differently. > > The following shellscript demonstrates the issue. It passes on git > version before 2.7.0, and fails on later versions. Thanks for the bug report, I'll fix it. Stefan > > --- cut here --- > #!/bin/sh > # > # This script demonstrates the "git submodule deinit ." bug. > # > > if ! mkdir subdeinit > then > echo 'Covardly refusing to alter the "subdeinit" directory.' >&2 > echo 'Please remove it, or run this script inside an empty directory.' >&2 > exit 1 > fi > > cd subdeinit > mkdir repo > cd repo > git init > echo test > test > git add test > git commit -m"Create an initial commit." > if git submodule deinit -f . > then > echo PASS: git submodule deinit -f . is allowed. > exit 0 > else > echo FAIL: git submodule deinit -f . is not allowed. > exit 1 > fi > --- cut here --- > > Yours, > /ceder > -- > 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 -- 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