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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html