Merge branch 'ab/ref-filter-no-contains'
"git tag/branch/for-each-ref" family of commands long allowed to filter the refs by "--contains X" (show only the refs that are descendants of X), "--merged X" (show only the refs that are ancestors of X), "--no-merged X" (show only the refs that are not ancestors of X). One curious omission, "--no-contains X" (show only the refs that are not descendants of X) has been added to them. * ab/ref-filter-no-contains: tag: add tests for --with and --without ref-filter: reflow recently changed branch/tag/for-each-ref docs ref-filter: add --no-contains option to tag/branch/for-each-ref tag: change --point-at to default to HEAD tag: implicitly supply --list given another list-like option tag: change misleading --list <pattern> documentation parse-options: add OPT_NONEG to the "contains" option tag: add more incompatibles mode tests for-each-ref: partly change <object> to <commit> in help tag tests: fix a typo in a test description tag: remove a TODO item from the test suite ref-filter: add test for --contains on a non-commit ref-filter: make combining --merged & --no-merged an error tag doc: reword --[no-]merged to talk about commits, not tips tag doc: split up the --[no-]merged documentation tag doc: move the description of --[no-]merged earlier
This commit is contained in:
@ -562,7 +562,9 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
|
||||
OPT_SET_INT('r', "remotes", &filter.kind, N_("act on remote-tracking branches"),
|
||||
FILTER_REFS_REMOTES),
|
||||
OPT_CONTAINS(&filter.with_commit, N_("print only branches that contain the commit")),
|
||||
OPT_NO_CONTAINS(&filter.no_commit, N_("print only branches that don't contain the commit")),
|
||||
OPT_WITH(&filter.with_commit, N_("print only branches that contain the commit")),
|
||||
OPT_WITHOUT(&filter.no_commit, N_("print only branches that don't contain the commit")),
|
||||
OPT__ABBREV(&filter.abbrev),
|
||||
|
||||
OPT_GROUP(N_("Specific git-branch actions:")),
|
||||
@ -618,7 +620,8 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
|
||||
if (!delete && !rename && !edit_description && !new_upstream && !unset_upstream && argc == 0)
|
||||
list = 1;
|
||||
|
||||
if (filter.with_commit || filter.merge != REF_FILTER_MERGED_NONE || filter.points_at.nr)
|
||||
if (filter.with_commit || filter.merge != REF_FILTER_MERGED_NONE || filter.points_at.nr ||
|
||||
filter.no_commit)
|
||||
list = 1;
|
||||
|
||||
if (!!delete + !!rename + !!new_upstream +
|
||||
|
||||
Reference in New Issue
Block a user