David Thompson <dthomps...@worcester.edu> skribis:

> I'm looking for thoughts about what the CLI should look like for an
> improved 'guix download' that is capable of downloading git repos, svn
> repos, etc. in addition to files over HTTP.

(It handles any scheme supported by ‘url-fetch’, which includes
mirror:// etc.)

> There could be to be additional context-sensitive switches to specify
> details beyond a URL.  For example, git repos need a commit SHA.
>
>     guix download --method=git --commit=74217b9 g...@gitorious.org/foo/foo.git
>
> Or perhaps more flags aren't needed and we can use a specific order of
> arguments:
>
>     guix download --method=git g...@gitorious.org/foo/foo.git 74217b9
>
> Or we could create subcommands for each download method:
>
>     guix download git g...@gitorious.org/foo/foo.git 74217b9

That would be useful.  Option #3 is too verbose IMO.  I have a slight
preference for #2.

The question is more whether the implementation could automatically map
command-line arguments to objects (‘git-reference’, ‘svn-reference’,
etc.), or if we’d rather go for something custom.

The former might be nice but might result in a clumsy CLI; the latter is
less elegant but might allow for a nicer CLI.

WDYT?

Ludo’.

Reply via email to