-
-
Couldn't load subscription status.
- Fork 6.2k
Add pure SSH LFS support #31516
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
Add pure SSH LFS support #31516
Conversation
|
@lunny added copyright headers. |
efe3893 to
d506260
Compare
|
Improved error handling. |
|
Accidentally resolved the conversation about DB connections above, but reiterating: Pushes and clones work... but there's sometimes (by which I mean decently reproducible) bug where after transferring and verification and everything... the connection just hangs for almost exactly 120 seconds. After which it just ends gracefully and git proceeds with its push. It's particularly nasty, I have no leads on it yet. The best I can figure out is that it looks like the |
|
Added locking API support. Well at least I figured out what's causing the hang. Setting I think this is feature interacting badly with the SSH server? I traced the traffic, and indeed, something weird is happening on the client side. Git LFS spawns several workers each making its own connection. In a multiplexed connection, only the "first" spawn of the our commands gets a Can you check and see if this is reproducible in your environments? |
|
Yeah, I'm not going crazy. This commit: And this has history, it isn't even the first time lol: |
|
just made: git-lfs/git-lfs#5816 |
5fadb5d to
de9a3cf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As pointed in quite some places already but all should be fixed
|
@lafriks adressed the url joins. |
5a2ca80 to
199325b
Compare
|
It looks like |
I added it under |
OK. It's a legacy problem. So could you add example in |
199325b to
1e8502f
Compare
|
@lunny added it to the example config. |
|
Thanks so much @ConcurrentCrab!!! <3 |
|
I'll sort out Algora stuff right now. Related, if you have other issues you'd like to suggest for bounties, please get in touch with me, as I'm working on a list right now. |
|
Thanks! and I appreciate the tip.
Was this directed at me? If so, I'd be happy to take a shot at more bounties. I quite enjoyed the work part of this. My only sore point here was the turnaround time on this one. I get that y'all have a business to run. One feature PR isn't exactly at the top of the priority list, I wasn't expecting instant replies or anything. But to me it felt like this was basically completely ignored for quite a while, and as a result took far longer than it should have. |
|
-> mind the documentation ... |
Sorry for that i personnally was just waiting for some references in the docs and you would also have got my lgtm |
@6543 does this cover what you mean: https://gitea.com/gitea/docs/pulls/49/files I thought this was linked in reply to you above somewhere, but the discussion might've been collapsed before you saw it. |
* giteaofficial/main: Change the code search to sort results by relevance (go-gitea#32134) [skip ci] Updated translations via Crowdin Add pure SSH LFS support (go-gitea#31516)
|
Could you take a look at " Refactor LFS SSH and internal routers #32473 " ? If I understand correctly, when using LFS SSH transfer, there should be some "PUT" requests, but I can't see them in the test. Could you help to improve the test? Otherwise the feature would be broken some time later when code changes. Thank you. Update: resolved. |
|
@ConcurrentCrab it seems that there are resource leaking: During git clone, gitea fails with accept4: too many open files; retrying in 1s #35649
Do you have some ideas? Thank you. |
|
Update: the bug is clear, the HTTP connection pool is abused. -> Fix missing Close when error occurs and abused connection pool #35658 |
Fixes #17554
/claim #17554
Docs PR https://gitea.com/gitea/docs/pulls/49
To test, run pushes like:
GIT_TRACE=1git push. The trace output should mention "pure SSH connection".