alias: add support for aliases of an alias
authorTim Schumacher <timschumi@gmx.de>
Sun, 16 Sep 2018 07:50:00 +0000 (09:50 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Sep 2018 15:27:52 +0000 (08:27 -0700)
Aliases can only contain non-alias git commands and their arguments,
not other user-defined aliases. Resolving further (nested) aliases
is prevented by breaking the loop after the first alias was
processed. Git then fails with a command-not-found error.

Allow resolving nested aliases by not breaking the loop in
run_argv() after the first alias was processed. Instead, continue
the loop until `handle_alias()` fails, which means that there are no
further aliases that can be processed. Prevent looping aliases by
storing substituted commands in `cmd_list` and checking if a command
has been substituted previously.

While we're at it, fix a styling issue just below the added code.

Signed-off-by: Tim Schumacher <timschumi@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
No differences found