Re: [PATCH/RFC 2/2] completion: allow use without compiling
From: Stephen Boyd <hidden>
Date: 2016-06-15 22:47:37
Junio C Hamano wrote:
If we are going to do this, wouldn't it make more sense to revert the rename of the script, so that people can keep relying on the name of the script being "git-completion.bash", _but_ make it produce a pre-compiled form to a separate file when invoked in some particular way?
Wouldn't relying on "git-completion.bash" to produce the pre-compiled form cause problems if someone is running the build on a bash-less system? I thought this issue was already raised by Shawn. I guess we could ignore that issue now, and just say that you have to build the pre-compiled form on systems with bash?
Then at the runtime:
(0) If the script notices that it has already learned the command list
it uses it; otherwise,
(1) If the script notices that there is a file that contains the command
list, it sources it; otherwise,
(2) The script lazily builds the command list for its own use.
And at the buildtime, Makefile can run the script in "generation mode",
and install the output to where (1) above expects to see.I assume you're suggesting this to ease the upgrade path for users. It works nicely, we could just install the generated lists in the same path (contrib/completion/) and then users would be free to copy the two files anywhere as long as they're in the same directory. The only downside I see is there's now two files, but that's ok with me.