Hi, On Fri, 30 Nov 2007, Jeff King wrote: > Support builtin aliases > > Builtin aliases are "default" alias values that can be > overridden by user-configured aliases. > > For example, the first such alias is "view", an alias for > gitk. A user with no further configuration can run > "git view" to use gitk. However, they can also set the > config option "alias.view" to "!tig" to run tig. > --- > git.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/git.c b/git.c > index f220284..95296aa 100644 > --- a/git.c > +++ b/git.c > @@ -151,6 +151,13 @@ static int split_cmdline(char *cmdline, const char ***argv) > return count; > } > > +static char *builtin_alias(const char *cmd) > +{ > + if (!strcmp(cmd, "view")) > + return xstrdup("!gitk"); > + return NULL; > +} > + > static int handle_alias(int *argcp, const char ***argv) > { > int nongit = 0, envchanged = 0, ret = 0, saved_errno = errno; > @@ -162,6 +169,8 @@ static int handle_alias(int *argcp, const char ***argv) > > alias_command = (*argv)[0]; > git_config(git_alias_config); > + if (!alias_string) > + alias_string = builtin_alias(alias_command); > if (alias_string) { > if (alias_string[0] == '!') { > if (*argcp > 1) { Didn't you mean to put this _before_ the git_config() call? As you wrote it, the "soft" alias overrides the user-specified one. Ciao, Dscho - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html