Bug Report: "git submodule deinit" fails right after a clone

4 messages, 2 authors, 2016-10-05 · open the first message on its own page

Bug Report: "git submodule deinit" fails right after a clone

From: Thomas Bétous <hidden>
Date: 2016-08-30 11:46:02

Hello,

I found a curious bug in git version 2.9.0.windows.1 (run on Windows 7
via git bash).

If I clone a repository containing submodules and run a "git submodule
deinit" on any of the submodules of this repository without executing
another git command, this command fails.

For instance:

(let's say the repo MyProject contains 2 submodules: Submodule1 and Submodule2)

$ git clone ssh://****/MyProject
[ ... "git clone" output ... ]
$ cd MyProject
$ git submodule deinit Submodule1
fatal: Please stage your changes to .gitmodules or stash them to proceed
Submodule work tree 'Submodule1' contains local modifications; use
'-f' to discard them
$ git submodule deinit Submodule2
fatal: Please stage your changes to .gitmodules or stash them to proceed
Submodule work tree 'Submodule2' contains local modifications; use
'-f' to discard them

First the error message is strange.
Then what is even stranger is that the error disappears if a "git
status" is run before the submodule deinit...


$ git clone ssh://****/MyProject
[ ... "git clone" output ... ]
$ cd MyProject
$ git submodule deinit Submodule1
fatal: Please stage your changes to .gitmodules or stash them to proceed
Submodule work tree 'Submodule1' contains local modifications; use
'-f' to discard them
$ git status
[ ... "git status" output ...]
$ git submodule deinit Submodule1
Cleared directory 'Submodule1'

I have been able to reproduce this error at least 10 times and with
different repositories so I do not think it comes from the state of my
repositories.
Moreover, the use of "--recursive" argument to the "git clone" command
did not change anything.

Are you able to reproduce this problem?

Thank you in advance.

Best regards,

Thomas

Re: Bug Report: "git submodule deinit" fails right after a clone

From: Heiko Voigt <hidden>
Date: 2016-09-14 20:29:16

On Tue, Aug 30, 2016 at 01:45:56PM +0200, Thomas Bétous wrote:
Are you able to reproduce this problem?
No. I just did a clone and an immediate deinit afterwards and no error.
Maybe you can provide a script to reproduce? Which System was this on?

Cheers Heiko

Re: Bug Report: "git submodule deinit" fails right after a clone

From: Thomas Bétous <hidden>
Date: 2016-10-04 15:46:53

Thank you for your answer and sorry for the delay (I was on vacation...).

I am using git 2.9.0.windows.1 (run on Windows 7 via git bash).

I tested it on this repo:
https://github.com/githubtraining/example-dependency.git
The same problem occurs.
Here a small script to reproduce the error on my PC:
#!/bin/bash
git clone https://github.com/githubtraining/example-dependency.git
cd example-dependency
git submodule deinit js

It ends with this error:
fatal: Please stage your changes to .gitmodules or stash them to proceed
Submodule work tree 'js' contains local modifications; use '-f' to discard them

Is the script working on your PC?

Thank you in advance.

Thomas

On Wed, Sep 14, 2016 at 10:29 PM, Heiko Voigt [off-list ref] wrote:
On Tue, Aug 30, 2016 at 01:45:56PM +0200, Thomas Bétous wrote:
quoted
Are you able to reproduce this problem?
No. I just did a clone and an immediate deinit afterwards and no error.
Maybe you can provide a script to reproduce? Which System was this on?

Cheers Heiko

Re: Bug Report: "git submodule deinit" fails right after a clone

From: Heiko Voigt <hidden>
Date: 2016-10-05 13:37:35

Hi,

please do not top-post the conversation will otherwise get hard to
follow. Thank you.

On Tue, Oct 04, 2016 at 05:46:45PM +0200, Thomas Bétous wrote:
Thank you for your answer and sorry for the delay (I was on vacation...).

I am using git 2.9.0.windows.1 (run on Windows 7 via git bash).
My initial reaction is that this might be a problem with line endings. Did you
check whether you get any diff when you do a 'git diff' after the clone?

Maybe the variable 'core.autocrlf' is set to 'input' ? Have a look at 'git help
config'
I tested it on this repo:
https://github.com/githubtraining/example-dependency.git
The same problem occurs.
Here a small script to reproduce the error on my PC:
#!/bin/bash
git clone https://github.com/githubtraining/example-dependency.git
cd example-dependency
git submodule deinit js

It ends with this error:
fatal: Please stage your changes to .gitmodules or stash them to proceed
Submodule work tree 'js' contains local modifications; use '-f' to discard them
Here I get

$ git submodule deinit js
Cleared directory 'js'

So all seems fine.
Is the script working on your PC?
Yes. I am on Mac OS X though.

Cheers Heiko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help