Thread (42 messages) flat view 42 messages, 6 authors, 2018-10-29

Re: [RFC PATCH v2] Allow aliases that include other aliases

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2018-09-06 14:17:37

On Wed, Sep 05 2018, Tim Schumacher wrote:
On 05.09.18 19:34, Jeff King wrote:
quoted
It could also extend to ! aliases if we wanted (i.e., my '!git foo'
example from earlier), but you'd have to carry the counter through the
environment between processes.
That is a question about "shooting oneself in the foot" again,
but I think trying to prevent that would require more changes
than I can make, and it is definitely out-of-scope for this
patch.
I agree it could be done later, but it would be great if you could
follow-up with that. Right now if you do:

    a = !git b
    b = !git a

You end up with a fork bomb, and we don't guard against this, and if you
have mixed execution / internal aliasing, e.g.:

    a = b
    b = c
    c = d
    d = !git a

The loop detection doesn't kick in.

It should be easy to add detection for this on top. See what we do with
git_config_push_parameter() in git.c already, i.e. you'd add some
simliar env variable, set items in the string list delimited by
e.g. whitespace, and then just pre-populate your string list with that
if it's set, and re-set it & carry it forward.

Then any combination of internal aliasing and custom commands will
benefit from loop detection.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help