docopt / docopts

Shell interpreter for docopt, the command-line interface description language.
Other
504 stars 53 forks source link

get_docopts.sh gets binaries from a fork #37

Closed avaldebe closed 5 years ago

avaldebe commented 5 years ago

Hi,

I recently stated using the python version of docopt and was looking into using it for my bash scripts. When inspecting the download helper I noticed that it retrieves the binaries from a fork, instead of the official repo

https://github.com/docopt/docopts/blob/75c2dfa417c010d2a2510316a4d5cfd9822c3b90/get_docopts.sh#L10-L12

This lines are a holdover from the script introduction on fc7c9bf I do not suspect fowl play, but it looks wrong.

Thanks for the awesome tool. Álvaro.

Sylvain303 commented 5 years ago

hi @avaldebe

Thanks for testing, and your report!

Yes you're right, it's an old script I prototyped long time ago.

Following #32 I now upload binaries to releases I though I finished to fix this script. It seems, I forgot it.

I will fix, the download helper, thanks for reporting it. If you have already fixed it, you can submit a PR.

I use my forked repos for testing. It's also historical, see #5. I will modify the download helper so I can also use an environment variable to override the GIT_USER value.

Regards, Sylvain.

avaldebe commented 5 years ago

It was such a small change that I considered a PR an overkill. If you have not fixed this already, I'll submit a PR wit the following change

-GIT_USER=Sylvain303
+: {GIT_USER:=docopt}
 GIT_PROJECT=docopts
 BASE_URL=https://github.com/$GIT_USER/$GIT_PROJECT/releases/download
Sylvain303 commented 5 years ago

Hi @avaldebe

Thanks for your fix. I'm not friendly with the syntax using bash ':' null operator. And I feel it a bit obfuscated.

So I merged and rewrote with a bash default value syntax. As this script uses bash strict mode we need to ensure that variables are bound to value or it will stop.

So the get_docopts.sh now supports variable overriding, for my own testing mainly. :wink:

GIT_USER=Sylvain303 RELEASE=v0.6.4-alpha1 ./get_docopts.sh

I asked you for a PR because, I wrote this script but can't test most of its part right now, missing architecture and different OS, so you may experiment different behavior.

Could you test this version, please? By cloning or update the master branch.

I introduced a dependency on the file VERSION which hold the last version.

Next, I will skip travis failing test on macOS and add a test for this script too.

Regards, Sylvain.