On Fri, Aug 30, 2013 at 2:11 AM, Johannes Sixt <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html