Search code examples
gitmacosubuntuvirtualbox

git status does not work properly with Virtualbox Shared Folders


Details

  • Host Machine: macOS Sierra
  • Guest Machine: Ubuntu 64bits 16.04 LTS
  • Virtualbox: 5.1.14

On the host the repository is only local for now. Initialized and have several [local] commits without a single push to remote.

Symptoms

On my host machine I have parent folder with a Git repository on it. I have shared parent folder with the guest machine, after login on the VM the folder is in /media/sf_parent.

In a terminal I do cd /media/sf_parent at the moment the content seems to be properly shared. But when I change to the repo folder I tried to do a git status and the output is as everything single file in the repository is tracked but modified.

The strange part is that the git log delivers the last commit I have made on host. I tried to visually compare both "versions" of the repository folder with ls and they the same value for "update date" and "file size" but have different values for "owner", "group" and "permissions".


What could be the problem?

Maybe Virtualbox somehow does not support this?

Might be the conflict on filesystem level with "owner" and "permissions"?


Solution

  • With the help of git config I was able to resolve this problem as I suspected and @g19fanatic suggested this problem seems to be related with "user permissions".

    After reading a lot of the properties on the page I tested this two:

    git config core.filemode false
    git config core.ignorecase false
    

    PS: Their are both true as default.

    Restarted the VM and it worked, now working tree is synced between host and guest.