Skip to content

Git+SSH dependencies have subtle (yet critical) differences from git clone #2124

Closed
@grahamc

Description

@grahamc

Reproduction steps:

  1. Have a git repository which is private, and is a pip package.
  2. Have a deploy key which can read the repository.
  3. Confirm you can run git clone git@github.com:account/private-pip-package.git
  4. Google around and discover that the instructions to use a git repo as a pip dependency boil down to very nearly "prefixing the repo with git+ssh:// and suffix it with #egg=private-pip-package."
  5. End up with a pip dependency of git+ssh://git@github.com:account/private-pip-package.git#egg=private-pip
  6. Try installing the package, but get a fatal: Could not read from remote repository. instead.
  7. Run the gamut of tests (ssh git@github.com works, but ssh ssh://git@github.com fails ...)
  8. Realize (after much hair-pulling) that instead of git+ssh://git@github.com:account/private-pip-package.git#egg=private-pip it should be git+ssh://git@github.com/account/private-pip-package.git#egg=private-pip (if you didn't catch that, its github.com/account instead of github.com:account)

I would propose that a simple note in the failure message, or checking on input, or what have you, about the : vs. / would be quite helpful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: vcspip's interaction with version control systems like git, svn and bzrtype: enhancementImprovements to functionality

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions