[...]
> I made a clone of a git repo inside a virtual machine (virtualbox)
> with Ubuntu Lucid Lynx (10.04).
[...]
> Now when I export that directory with samba and map it as a network
> drive on the Windows host, this is what happens:
>
> T:\repos\moodle>git status
> # On branch master
> # Changes not staged for commit:
> # (use "git add <file>..." to update what will be committed)
> # (use "git checkout -- <file>..." to discard changes in working
> directory)
> #
> # modified: filter/algebra/algebra2tex.pl
> # modified: filter/tex/mimetex.darwin
> # modified: filter/tex/mimetex.freebsd
> # modified: filter/tex/mimetex.linux
> #
> no changes added to commit (use "git add" and/or "git commit -a")
>
> Of course the files have not been changed.
>
> Samba server has no special config settings, quite default, just added
> the repo dir to export.
>
> What might be interesting: the files git identifies as modified are
> mode 755 - algebra2tex.pl beeing a perl script an the others beeing
> binary executables, however I did not find any info in
> http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html that
> these files might appear any different in windows than on the original
> linux filesystem.
What happens if you run `git reset --hard`?
The idea is that the fact of modification is stated using the
information in the index. If it so happens that Ubuntu's Git and your
local msysgit happen to differ in how they manage/interpret the
enitries in the index (for instance, those executable bits), resetting
should "fix" your problem meaning the issue is identified.
On the other hand, this idea of using CIFS shares to store local Git
repos is recurring, and it is so for no apparent reason. This is not
how Git is supposed to be used. Can you explain what's wrong with
using Git the normal way--just clone the repo from the Ubuntu machine
and push local changes there, if needed?
git config core.filemode false
should help. As a consequence, all *new* files will be added with mode
644 in git.
-- Hannes