The subject line needs to be updated.
On Sat, Sep 21, 2013 at 02:20:21PM -0500, Felipe Contreras wrote:
> For now simply add a few common aliases.
>
> co = checkout
> ci = commit
> rb = rebase
> st = status
>
> Signed-off-by: Felipe Contreras <[email protected]>
> ---
[...]
> diff --git a/alias.c b/alias.c
> index eb9f08b..d6bad69 100644
> --- a/alias.c
> +++ b/alias.c
> @@ -14,11 +14,28 @@ static int alias_lookup_cb(const char *k, const char *v,
> void *cb)
> return 0;
> }
>
> +static struct {
> + const char *key;
> + const char *val;
> +} default_aliases[] = {
> + { "co", "checkout" },
> + { "ci", "checkout" },
> + { "rb", "rebase" },
> + { "st", "status" },
> +};
> +
> char *alias_lookup(const char *alias)
> {
> + int i;
> alias_key = alias;
> alias_val = NULL;
> git_config(alias_lookup_cb, NULL);
> + if (alias_val)
> + return alias_val;
> + for (i = 0; i < ARRAY_SIZE(default_aliases); i++) {
> + if (!strcmp(alias, default_aliases[i].key))
> + return xstrdup(default_aliases[i].val);
> + }
> return alias_val;
> }
Aliases implemented this way don't work the same way as "normal"
aliases do:
$ # which aliases do I have?
$ ./bin-wrappers/git config --get-regexp "alias\..*"
$ # no aliases at all
$ # does completion work?
$ ./bin-wrappers/git co ma<TAB>
mailmap.c mailmap.h mailmap.o match-trees.c match-trees.o
$ # no refs completion
$ # let's see a real alias
$ git config alias.co checkout
$ ./bin-wrappers/git config --get-regexp "alias\..*"
alias.co checkout
$ ./bin-wrappers/git co ma<TAB>
maint master
$ # as expected
Best,
Gábor
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html