-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cloning an LFS-enabled repository hangs forever on case-insensitive filesystems in some circumstances #1821
Comments
UPDATE: This problem does not occur if I use |
I agree, and sorry that you're encountering this bug. I'll put this on my list of things to take a look at. I think a good first step would be getting this reproducible in a PR with a failing test, so I'll start there. |
I think I got the same problem now, first I got an problem that we didn't have git-lfs installed on our buildserver (teamcity), installed it into the same folder as git.exe.
When running taskmanager I found that git.exe is run for multiple folders??, so copying git-lfs.exe into .\mingw64\libexec\git-core and .\mingw64\bit helped, but now it hangs forever when downloading the repository, so our buildserver is rendered useless, and we cannot make new clones of our repository.. Is there any workaround for this? |
@neslekkim I'm not sure if your hang is the same underlying issue as this one, but there is a very simple workaround for mine: instead of using |
Where do I put the git_trace=1 ? environmentvariable? |
Yes, using git-lfs clone helped getting the files again, except that the lfs files was not cloned, only files containing stuff like this: trying git-lfs fetch after this, then I get this: |
If I do "git config credential.helper store" then "git pull" so I'm asked for the password again, then "git-lfs fetch" suddenly work.. |
Judging from the conversation, it seems like this is likely related to your credential helper. |
We are having some issues that seem to spawn from a case-sensitive filenames situation. In our repo, I've found several files which were committed recently with a UPPER-CASE extension. The lower-case equivelent is definitely within our When an end-user clones/pulls/checkout... these upper-cased files are expecting LFS pointer files, but fail as they were not tracked correctly when committed/pushed. On Windows 10 (Git Bash and SourceTree)The error when checking out this commit, the issue seems to hang, with no messages printed. On MacOS 10.11.6 (CLI)The errors reported and printed as such, but continue until completion as it should.
I ran a search within the working tree, and ALL 92 files in the with upper-case file extensions had matching pointer error reported.
|
@evitolins Did you manage to find a workaround? Cause upper-case extensions are a real PITA in gamedev scenarios. And some artist tools, like Photoshop have a tendency to make upper-case extensions. |
@dipyalov no, we never did find a solution directly. We've yet to move to LFS 2.0 and maybe it has been resolved. For now, we've been relying on pre-commit hooks to avoid any incidents. If the team decides to open-source it, i'll be sure to share it here. ;) |
@evitolins I've had the same problem in LFS 2.0 |
@dipyalov We'd also considered that, but it felt dirty and was sad to go that route 😭 😆 . With that said, it's probably WAY easier than having to deal with hooks ;). Well done. |
Actually @dipyalov... there WAS a reason we decided NOT just adding tracking for uppercase extensions. Cases like "Png", "PnG", etc... would not be detected. It would definitely be annoying and cumbersome to cover all permutations of the upper/lower case possibilities within the |
I'm having a similar issue and running latest git-lfs - trying Before with
With
It's still downloading so I'll wait but far more responsive and fast. I'll edit this message below when it's done on the results. EDIT
It completed just fine without a hiccup, the work-around works. So glad I found this thread, however this bug is really old, is it difficult to fix? For reference I'm on a Case-Insensitive Mac OSX. I would have chosen a case-sensitive when I last formatted it but then everything else doesn't work, from programming tools like IntelliJ to games - they all get hung up and refuse to work if it's case sensitive but git-lfs apparently doesn't work if it's case-insensitive. I just can't make everyone happy lol. But glad I found this work-around. |
@apetresc I think this may be a different bug. If you are still interested in a fix, can you please open a new issue? Using If you're interested in opening a new issue, please run EDIT: I'm going to close this issue, since there are now a number of potentially unrelated issues all in the same place. In an effort to push the conversation towards a few more well-defined issue, I'm going to close this one for now. |
I have a sample repo that reproduces this bug here, with instructions. Cloning it on Windows or case-insensitive macOS HFS partitions fails.
Detailed steps to reproduce are in the README and commit history, but I'll paste them here:
img/a/1.jpg
andimg/b/1.JPG
.*.jpg filter=lfs diff=lfs merge=lfs -text
to.gitattributes
.followed by a permanent hang that must be ended with
SIGTERM
. However, cloning on a case-sensitive filesystem like Linux will work just fine!Obviously this is a breaking bug that acts as a dealbreaker for using Git LFS if Windows/macOS needs to be supported. I haven't gotten as far as a diagnosis yet, I am hoping someone on the Git LFS team will be able to figure it out on sight without me having to dig into LFS internals :)
The text was updated successfully, but these errors were encountered: