Sverre Rabbelier wrote:

> That's weird, we have this bit:
>
> +             if (elem->whence != REV_CMD_REV && elem->whence != 
> REV_CMD_RIGHT)
> +                     continue;
>
> If I understand correctly that should cause it to only output revs
> (e.g. 'foo1') and the rhs side of a have..want spec.

If I remember right, '^foo1' is (whence == REV_CMD_REV) with (flags ==
UNINTERESTING).  That's why sequencer.c checks for unadorned revs like
this:

        if (opts->revs->cmdline.nr == 1 &&
            opts->revs->cmdline.rev->whence == REV_CMD_REV &&
            opts->revs->no_walk &&
            !opts->revs->cmdline.rev->flags) {

Maybe

        if (elem->flags & UNINTERESTING)
                continue;
        if (elem->whence == REV_CMD_PARENTS_ONLY)       /* foo^@ */
                continue;

would work well here?  That would handle bizarre cases like "--not
next..master" (and ordinary cases like "master...next") better, by
focusing on the semantics instead of syntax.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to