On Fri, Aug 30, 2013 at 2:11 AM, Johannes Sixt <j.sixt@xxxxxxxxxxxxx> wrote: > Am 8/30/2013 7:00, schrieb Felipe Contreras: >> So that it's possible to remove certain refs from the list without >> removing the objects that are referenced by other refs. >> >> For example this repository: >> >> * 374e8dd (crap) crap >> * 4cbbf7b (test) two >> * d025ae0 (HEAD, master) one >> >> When using '--branches --except crap': >> >> * 4cbbf7b (test) two >> * d025ae0 (HEAD, master) one >> >> But when using '--branches --not crap' nothing will come out. > > I like the idea to be able to exclude refs from listings. My use-case is > the following: > > To unclutter 'git branch' output, I rename work-in-progress branches to > begin with "wip/", ready-to-merge branches do not carry this prefix. To > inspect unmerged work of the latter kind of branches I would like to > type... what? > > gitk --branches --except --branches=wip --not master > gitk --branches --not master --except --branches=wip > > Would one of these work with your current patch? The first one should work, but mostly by accident. A proper fix is not far though: diff --git a/revision.c b/revision.c index 25564c1..1380cd1 100644 --- a/revision.c +++ b/revision.c @@ -1983,9 +1983,9 @@ static int handle_revision_pseudo_opt(const char *submodule, } else if (!strcmp(arg, "--reflog")) { handle_reflog(revs, *flags); } else if (!strcmp(arg, "--not")) { - *flags ^= UNINTERESTING | BOTTOM; + *flags = UNINTERESTING | BOTTOM; } else if (!strcmp(arg, "--except")) { - *flags ^= SKIP; + *flags = SKIP; } else if (!strcmp(arg, "--no-walk")) { revs->no_walk = REVISION_WALK_NO_WALK_SORTED; } else if (!prefixcmp(arg, "--no-walk=")) { Then both should work. -- Felipe Contreras -- 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