dvc: init: fails on 2nd run with NTFS on Linux (gitdb lib bug)
DVC Version: 0.35.7
lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial
Steps to reproduce:
git init
dvc init
rm -rf .dvc
dvc init
Adding '.dvc/state' to '.dvc/.gitignore'.
Adding '.dvc/lock' to '.dvc/.gitignore'.
Adding '.dvc/config.local' to '.dvc/.gitignore'.
Adding '.dvc/updater' to '.dvc/.gitignore'.
Adding '.dvc/updater.lock' to '.dvc/.gitignore'.
Adding '.dvc/state-journal' to '.dvc/.gitignore'.
Adding '.dvc/state-wal' to '.dvc/.gitignore'.
Adding '.dvc/cache' to '.dvc/.gitignore'.
ERROR: unexpected error - [Errno 13] Permission denied: '/mnt/c/Users/villasv/Projects/dvc-talk/.git/objects/obj80fx1hnj' -> '/mnt/c/Users/villasv/Projects/dvc-talk/.git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391'
Having any troubles?. Hit us up at https://dvc.org/support, we are always happy to help!
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 3
- Comments: 18 (17 by maintainers)
Commits related to this issue
- loose: only rename if needed Our user was experiencing issue [1] when using a git repository on NTFS mount running on Linux. The current check checks if we are running on Windows, but it should real... — committed to efiop/gitdb by efiop 5 years ago
- loose: rename only if needed Our user was experiencing issue [1] when using a git repository on NTFS mount running on Linux. The current check checks if we are running on Windows, but it should reall... — committed to efiop/gitdb by efiop 5 years ago
- loose: rename only if needed Our user was experiencing issue [1] when using a git repository on NTFS mount running on Linux. The current check checks if we are running on Windows, but it should reall... — committed to efiop/gitdb by efiop 5 years ago
For the record, gitpython-developers/gitdb#52 got merged, now waiting for the new gitdb release, so we could update our requirements.
It seems it works as expected! 🎉
@jorgeorpinel NTFS and yes https://github.com/gitpython-developers/gitdb/pull/52
I dug into
gitdb
and this is the exact point of failure:It seems they’re attempting to handle NTFS, but doing so with an OS check. This fails for me because I have NTFS but under Linux 😕
@villasv what happens if you run
git add .dvc/config
after this exception? Could you also runls -la
for these last two git object (a link and an object):Do they have a regular user/group?
Is it possible that there are some security settings on Linux (this is Linux right) that prevent access to any other process to these files except git itself? What do you think, @efiop ?
I’m using Bash on WSL, so maybe something funny is happening at the filesystem level? I was able to reproduce (by accident) with an old version as well, dvc==0.9.5 I think, so it’s probably something with gitpython.