Re: General support for ! in git-config values
- From
Jeff King <peff@peff.net>
- Date
- Feb 1, 2012, 18:40 UTC
- Message-ID
- <20120201184020.GA29374@sigill.intra.peff.net>
- In-Reply-To
- <CACBZZX6U+1Fmdaz2ikbbc6zUyF=pMGQOqUGVOWCkUFBUkovCBw@mail.gmail.com>
On Wed, Feb 01, 2012 at 06:33:47PM +0100, Ævar Arnfjörð Bjarmason wrote:
Show 13 quoted lines
> For a program I'm working on (git-deploy) I'd like to have this as a > general facility, i.e. users can specify either: > > foo.bar = value > > Or: > > foo.bar = !cat /some/path > > I'm wondering why git-config doesn't do this already, if there's no > reason in particular I can just patch it in, either as a new option: > > git config --with-exec --get foo.bar
I'm not clear on what you want --with-exec to do. By default, config values are strings. I would expect the "!" to be a special marker that the caller would recognize in the string, and then act appropriately.
So if I were implementing git aliases in the shell, the code would look like:
v=$(git config alias.$alias)
case "$v" in
"")
die "no such alias: $alias" ;;
"!*)
cmd="${v#!}" ;;
*)
cmd="git $v" ;;
esac
eval "$cmd"I.e., everything pertaining to "!" happens after we get the config string. So what is it that you want "git config --with-exec" to do?
-Peff