Re: Bug - Dirty submodule differences between OSX/Ubuntu
On Mon, Jul 10, 2017 at 4:53 PM, brian m. carlsonwrote: > On Sun, Jul 09, 2017 at 01:42:47PM -0700, Steve Kallestad wrote: >> change into the submodule directory and run status >> cd python-mode.el >> git status >> >> On ubuntu: >> On branch master >> Your branch is up-to-date with 'origin/master'. >> nothing to commit, working directory clean >> >> On OSX: >> On branch master >> Your branch is up-to-date with 'origin/master'. >> Changes not staged for commit: >> (use "git add/rm ..." to update what will be committed) >> (use "git checkout -- ..." to discard changes in working directory) >> >> deleted:EXTENSIONS >> >> no changes added to commit (use "git add" and/or "git commit -a") > > This is an artifact of using a case-insensitive file system. There is a > directory called "extensions" and so git has not checked out the file > "EXTENSIONS", as there's already a file system object. It therefore > sees it as deleted, since git tracks only files (and not really > directories, but trees of files). > > This repository is always going to show as modified on a > case-insensitive file system. You can either ask the maintainers to > change it, or reformat your disk with a case-sensitive file system. While this is certainly not the answer Steve hoped for, we should see if there are any implications by the user of submodules, i.e. is this behavior reproducable without submodules? (In case it is not, do we want to have the same checks in place for gitlinks as for directories?)
Re: Bug - Dirty submodule differences between OSX/Ubuntu
On Sun, Jul 09, 2017 at 01:42:47PM -0700, Steve Kallestad wrote: > change into the submodule directory and run status > cd python-mode.el > git status > > On ubuntu: > On branch master > Your branch is up-to-date with 'origin/master'. > nothing to commit, working directory clean > > On OSX: > On branch master > Your branch is up-to-date with 'origin/master'. > Changes not staged for commit: > (use "git add/rm ..." to update what will be committed) > (use "git checkout -- ..." to discard changes in working directory) > > deleted:EXTENSIONS > > no changes added to commit (use "git add" and/or "git commit -a") This is an artifact of using a case-insensitive file system. There is a directory called "extensions" and so git has not checked out the file "EXTENSIONS", as there's already a file system object. It therefore sees it as deleted, since git tracks only files (and not really directories, but trees of files). This repository is always going to show as modified on a case-insensitive file system. You can either ask the maintainers to change it, or reformat your disk with a case-sensitive file system. -- brian m. carlson / brian with sandals: Houston, Texas, US https://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: https://keybase.io/bk2204 signature.asc Description: PGP signature
Bug - Dirty submodule differences between OSX/Ubuntu
Referencing: https://gitlab.com/python-mode-devs/python-mode/issues/36 I reported a bug because when adding the python-mode repo as a submodule in my project, it shows as "dirty". The maintainers of that module reported back that my bug cannot be reproduced. I upgraded my local install to 2.13.2 on OSX El Capitan. I tried to re-create the issue, and did so successfully. I created a docker container using ubuntu:latest as the base, installed git and tried to recreate the issue. git on ubuntu does not show the submodule as dirty. I upgraded ubuntu's git to 2.13.2 and git still does not show the submodule as dirty. Here is how to reproduce this problem: mkdir test cd test git init git submodule add https://gitlab.com/python-mode-devs/python-mode.git python-mode.el git commit -m 'initial commit' git status On ubuntu: On branch master nothing to commit, working tree clean On OSX: On branch master Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) (commit or discard the untracked or modified content in submodules) modified: python-mode.el (modified content) no changes added to commit (use "git add" and/or "git commit -a") --- change into the submodule directory and run status cd python-mode.el git status On ubuntu: On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean On OSX: On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add/rm ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) deleted:EXTENSIONS no changes added to commit (use "git add" and/or "git commit -a") --- This is a bug because the upstream repo maintainers cannot fix the problem if they cannot see it. dirty/clean reporting should be the consistent across all operating systems.