Removing support for git+git@ VCS requirement scheme
See original GitHub issueWhat’s the problem this feature will solve?
In addition to VCS requirements which have the form of a proper URL, pip also partially supports a git specific scheme of the form git+git@example.com:user/repo.git. As currently documented, this scheme is supported for editable installs only.
Supporting this scheme has a number of drawbacks:
- This creates confusion when people try to use it without the --editable option (#2994, #6293).
- This also creates bugs, such as when adding the commit to the requirement, pip freeze generates requirements that pip cannot process (#2038).
- This specific format is not a proper URL, making such requirement impossible to translate to PEP 440 direct URL references.
- it would seem that support for this format is rather accidental in the pip code base (https://github.com/pypa/pip/issues/2038#issuecomment-570065043, also illustrated by the fact that
link.is_vcs
returnsFalse
for such pseudo-URLs), and properly supporting it everywhere would be very complex.
This scheme is easily replaced by URLs such as
- git+https://git@example.com/…
- git+ssh://git@example.com/…
- git+git://git@example.com/… (insecure)
Describe the solution you’d like
Deprecate support for this format during one year, then remove it (#7543).
Alternative solutions
- fix issues as they are discovered (e.g. support this format for non-editable uses, make pip freeze transform the reference to a supported format)
- do nothing, document the exceptions
Issue Analytics
- State:
- Created 4 years ago
- Reactions:8
- Comments:17 (11 by maintainers)
Top Results From Across the Web
4.1 Git on the Server - The Protocols
First, you choose which protocols you want your server to support. ... them from changing or removing internal Git files and corrupting the...
Read more >Requirements management - GitLab Docs
With requirements, you can set criteria to check your products against. They can be based on users, stakeholders, system, software, or anything else...
Read more >Git | TeamCity Cloud - JetBrains
Specify here when the git clean command is to run on the agent, and which files are to be removed. If a build...
Read more >VCS Connections - Workspaces - Terraform Cloud
Refer to Connecting VCS Providers for a list of supported VCS providers and ... For example, when you move a VCS server or...
Read more >Git vs SVN: What Is The Difference? - Perforce Software
The biggest difference between Git vs Subversion (SVN) is that Git ... push the commit to the central repo, and then delete the...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Eh, I gave up on Windows compatibility a long time ago 😃
Never mind, I found a workaround using the environment variable support in
requirements.txt
: