gnuradio / pybombs

PyBOMBS (Python Build Overlay Managed Bundle System) is the GNU Radio install management system for resolving dependencies and pulling in out-of-tree projects.
https://gnuradio.org
GNU General Public License v3.0
414 stars 189 forks source link

Support for gitlab-style deploy tokens in urls #566

Closed mkacher closed 3 years ago

mkacher commented 4 years ago

Background: gitlab supports the use of Deploy Tokens to access internal or private repos using a specific url format. The parse_git_url function does not correctly parse this format. This merge request would allow pybombs deployments to access private gitlab repos or recipes using deploy tokens.

Several urls that fail to parse correctly: "git://user:token@host.xz/path/to/pybombs.git" "https://user:token@host.xz/path/to/pybombs.git" "ssh://user:token@host.xz/path/to/pybombs.git"

Also noted that some obscure commit-ish formatted urls (without tokens) do not parse: "git+https://user@host.xz/path/to/pybombs.git" "git+ssh://user@host.xz/path/to/pybombs.git"

This merge request modifies the parsing to support gitlab-style deploy tokens in the git url. It also includes a unit test to verify that all the url permutations continue to parse correctly after the mod. Hopefully Martin or someone very familiar with all of the possible use cases can validate that the unit test is comprehensive of all formats that people may be using in deployed systems.

argilo commented 3 years ago

Hi @mkacher, and thanks for your contribution. Sorry for the long delay in getting back to you; PyBOMBS was unmaintained for some time, but I recently offered to help with maintenance to keep the project alive.

This looks like a useful bug fix. There's a merge conflict and a couple things that could use improvement, so I started a branch based on yours: https://github.com/gnuradio/pybombs/compare/master...argilo:tmhk-gitlabTokens

I presume this is your first contribution to GNU Radio; if so you'll need to sign a Contributor License Agreement. You can reach out to bhilburn AT gnuradio DOT org (@bhilburn) to get that process started.

jkbecker commented 3 years ago

This has been included in @argilo's #592. Thanks @mkacher and sorry for the long wait.

mkacher commented 3 years ago

Happy to help! I'm glad you and Clayton are working the project now.

On Tue, Nov 3, 2020 at 10:24 AM Johannes Becker notifications@github.com wrote:

This has been included in @argilo https://github.com/argilo's #592 https://github.com/gnuradio/pybombs/pull/592. Thanks @mkacher https://github.com/mkacher and sorry for the long wait.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gnuradio/pybombs/pull/566#issuecomment-721196145, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5SG2TWPEN4VNZ6SDQY4CTSOAOBNANCNFSM4KBW2T4A .