Re: Bug Report: "git submodule deinit" fails right after a clone
Hello, Sorry again for the mailing list... On Thu, Oct 6, 2016 at 11:20 AM, Heiko Voigt wrote: > So I guess the same applies to 'git status'? No, it is the strange thing. As told in my very first message here what happens after git diff and git status: $ git clone https://github.com/githubtraining/example-dependency.git Cloning into 'example-dependency'... remote: Counting objects: 35, done. remote: Total 35 (delta 0), reused 0 (delta 0), pack-reused 35 Unpacking objects: 100% (35/35), done. Checking connectivity... done. $ cd example-dependency $ git submodule deinit js fatal: Please stage your changes to .gitmodules or stash them to proceed Submodule work tree 'js' contains local modifications; use '-f' to discard them $ git diff [no output] $ git submodule deinit js fatal: Please stage your changes to .gitmodules or stash them to proceed Submodule work tree 'js' contains local modifications; use '-f' to discard them $ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean $ git submodule deinit js Cleared directory 'js' So as you can see, the 'git status' makes the problem magically disappear. Thomas
Re: Bug Report: "git submodule deinit" fails right after a clone
Hi, please also keep the mailinglist in the CC so everyone can read this. On Thu, Oct 06, 2016 at 09:11:05AM +0200, Thomas Bétous wrote: > On Wed, Oct 5, 2016 at 3:36 PM, Heiko Voigt wrote: > > > > > 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' > > > When I do a 'git diff' right after the clone, nothing appears. > Moreover my global setting for core.autocrlf is true. (This was configured > on purpose as I work on Windows whereas the repositories are hosted on an > UNIX server.) So I guess the same applies to 'git status'? > Nevertheless when I change core.autocrlf to 'input', the error disappears > and I got the expected behavior for git submodule deinit... > So I guess it is just a configuration problem but I do not understand why > core.autocrlf should be set to 'input' to remove this error. Do you have > any idea? This is indeed strange. That's why I asked whether 'git diff' shows anything. I was suspecting that the .gitmodules is somehow checked out in UNIX format. And the fact that setting core.autocrlf to 'input' seems to fix it supports that. I currently do not have access to a windows machine as the moment to test this. Copying the windows mailing list maybe someone over there can reproduce and help with the issue[1]. Cheers Heiko [1] http://public-inbox.org/git/%3ccapoqyv+xsrlk7y1hjyhzfy8ofkxvrwpczbdqhdgrhthqdzy...@mail.gmail.com%3E/
Re: Bug Report: "git submodule deinit" fails right after a clone
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
Re: Bug Report: "git submodule deinit" fails right after a clone
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 wrote: > 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
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
Bug Report: "git submodule deinit" fails right after a clone
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