-
Notifications
You must be signed in to change notification settings - Fork 187
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
Unable to clone error object not found #369
Comments
A workaround is to use |
This is an upstream bug introduced in go-git v5.4 go-git/go-git#323 |
I hate working with go-git so much lol.. |
Could you try go-git/go-git#326 to prove that fixes this for you? |
@zeripath even with that PR, Flux is still broken, all push actions result in Flux users, please switch to |
OK I've proposed reverting go-git/go-git#303 in go-git/go-git#329. I'm genuinely sorry about this - I had hoped that the testcases covered it as it was difficult to even begin to imagine writing a test case that covers this. My suspicion is that the problem is due to other reads of the packfile causing the the reader to seek away from where it was expecting to be. It would require using ReadAt(...)s instead of Read(...) throughout the code or at least shimming the Read(...) with a thing that wrapped the ReadAt(...) with an offset. So any testcase would have to be a lot more complex - much more like the problems you're seeing. Now why did I write this PR? The reasoning I wrote the initial PR is that without this - (and libgit2 suffers this problem too) - large objects are read completely into memory. So if you have a 100MB object and want to read it - well that whole object is ending up in memory. More concerningly though, the most easy to use go-git Storage interface will cause this read to happen when you stat the object which means that even if you try to avoid loading these objects you still end up doing so. Clearly this PR was wrong though and will require a lot more work to fix it so I think reversion is the correct step. |
This was the precise reason we were (initially) very happy to see the changes land, as we have seen this too. If you end up submitting a revised version of the PR, please notify us somewhere for testing, as we have now evidence that we are a great guinea pigs :-) Lastly, things like this happen, do not worry about it too much 🌻 |
go-git/go-git#329 is now merged |
After upgrading from v0.12.2 to v0.13.1 I'm getting the below error:
Here's my
GitRepository
:Editing the source-controller deployment back to v0.12.2 and it works again.
The text was updated successfully, but these errors were encountered: