cget
cget copied to clipboard
Support for other version control systems.
Hi,
I like the syntactic sugar you have for packages from github. Would you accept a PR for something similar for bitbucket and gitlab? Maybe something like...
-
cget install jgm/cmark --github
which would be the same ascget install jgm/cmark
-
cget install jgm/cmark --bitbucket
-
cget install jgm/cmark --gitlab
Let me know and I can take a peek at it.
I am thinking something like doing:
-
cget install gh/jgm/cmark
for github -
cget install bb/jgm/cmark
for bitbucket -
cget install gl/jgm/cmark
for gitlab
This actually downloads the source tarballs, and doesn't actually use the version control directly. All these services above provide such tarball downloads, so its just a matter of mapping to that url, which happens here. It could be easily extended to support such formats.
@pfultz2,
Ok great! I like your syntax better. What are your thoughts on switching to a uri? For example,
cget install gh?user=jgm&repo=cmark
or
cget install bb?user=jgm&repo=cmark&tag=1.0.0
or
cget install www.foo.com?user=jgm&repo=cmark&branch=bar
it's a bit more verbose, but potentially more general.
Also, do you want to keep,
cget install jgm/cmark
defaulted to github? Otherwise it's a breaking change.
Thanks!
What are your thoughts on switching to a uri?
I think it will make it harder to have recipes override it. Also, the logic for checking if a dependency is installed would be more complicated as well.
Also, do you want to keep, cget install jgm/cmark defaulted to github?
Yes I do. Maybe in the future there could be a configuration to change the default. I also wonder if the names should drop the gh/
, bb/
, or gl/
in general. So then it would work like this:
cget install gl/owner/repo
cget list
owner/repo
That is the name of the package would drop the prefix. I am not sure, as maybe there could be conflicts(but could be resolved by using an alias).