Skip to content
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

Proof of concept for #9603 #9607

Closed
wants to merge 1 commit into from
Closed

Proof of concept for #9603 #9607

wants to merge 1 commit into from

Conversation

kumaraditya303
Copy link

Concept for cloning repo treeless hence saving disk space and bandwidth.
#9603 (comment)

@uranusjr

@sbidoul
Copy link
Member

sbidoul commented Feb 13, 2021

TIL git clone --filter=tree:0. That sounds very interesting.

I tested with a project that uses setuptools-scm and it seems to work fine. @RonnyPfannschmidt you may want to give it a try.

There might be gotchas but this is worth exploring. Thanks @kumaraditya303

@kumaraditya303
Copy link
Author

@pradyunsg you may want to give this PR a try.

@sbidoul sbidoul added the C: vcs pip's interaction with version control systems like git, svn and bzr label Mar 11, 2021
@sbidoul
Copy link
Member

sbidoul commented May 30, 2021

Hi @kumaraditya303,

Are you closing this PR out of lack of patience or frustration, or because you discovered a flaw ?
If it's the former, please be patient, and don't hesitate to call for attention... these things tend to quickly go out of sight.

I personally think this is something worth exploring. I had a look again at this and I found this relatively recent article at github.com which gives food for thought.
This article seems to point to some performance limitations with treeless clones and submodules? Perhaps blobless clones would be good compromise?

Another question I have is about minimum git client and server version. It would be interesting to know the minimum requirements to determine if we need to fallback to the full clone in some circumstances?

Also, if we do this we probably want to do it for non editable requirements first and leave editable requirements doing a full clone, as users who use editable VCS URLs probably want to develop in the local tree.

@kumaraditya303
Copy link
Author

Hi @sbidoul,
I closed it because of lack of interest among the maintainers, I called @pradyunsg if he wanted to give it a try but no reply :/, and the PR is of Feb and it is nearly three months so I closed it. Moreover @uranusjr was to eager to close the issue #9603 (comment) I even replied him to reopen the issue but he reopen didn't to discuss the issue

@kumaraditya303
Copy link
Author

@sbidoul
If the maintainers have any interest in it then you may try the solution in this PR as it is just a single line change, and if they think it is correct then I can reopen PR as I see no flaw in treeless clone

@sbidoul
Copy link
Member

sbidoul commented May 30, 2021

I reopened the issue. You must understand that the pip team is small, and the topics to address numerous, so yeah, patience and occasional gentle nudges, and things move eventually :) I personally tested it and it seems to works, but we must be careful, so if you can help researching the questions I mentioned above that would certainly help!

@kumaraditya303
Copy link
Author

I am open for discussion on issue if you need some info about the change

@pradyunsg
Copy link
Member

pradyunsg commented Jun 11, 2021

@kumaraditya303 thanks for the nudge and sorry for the delay in responding to it here. Could you file a new PR with this change?

Pinging @RonnyPfannschmidt as well, since setuptools-scm is likely the main project that we want to know that this works fine with, and they're the only person I know who works on that. :)


As an aside, what @sbidoul said about lots of things pulling for pip's maintainers' attention is very true! For context, I got around to this from my "unread mentions" search in my GitHub notifications bucket (there's 210 unread notifications total, and many more still-actionable-and-read items). 😅

@dolfinus
Copy link

Actually, didn't get why a new PR is need for just the same change...

@RonnyPfannschmidt
Copy link
Contributor

Treeless works fine for setuptools_scm

Just commits and tags are needed

@kumaraditya303
Copy link
Author

@kumaraditya303 thanks for the nudge and sorry for the delay in responding to it here. Could you file a new PR with this change?

Will create new one !

@kumaraditya303
Copy link
Author

kumaraditya303 commented Jun 11, 2021

Treeless works fine for setuptools_scm

Just commits and tags are needed

Yes treeless clone works perfectly for setuptools-scm as it has the required metadata

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 28, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C: vcs pip's interaction with version control systems like git, svn and bzr
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants