Re: Bug - Dirty submodule differences between OSX/Ubuntu

2017-07-10 Thread Stefan Beller
On Mon, Jul 10, 2017 at 4:53 PM, brian m. carlson
 wrote:
> 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

2017-07-10 Thread brian m. carlson
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

2017-07-09 Thread Steve Kallestad
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.