teach "git branch" a --quiet option

There's currently no way to suppress the informational
"deleted branch..." or "set up tracking..." messages.  This
patch provides a "-q" option to do so.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2012-03-26 19:51:06 -04:00 committed by Junio C Hamano
parent f9a482e62b
commit d65ddf1984
2 changed files with 15 additions and 6 deletions

View File

@ -126,6 +126,11 @@ OPTIONS
relationship to upstream branch (if any). If given twice, print relationship to upstream branch (if any). If given twice, print
the name of the upstream branch, as well. the name of the upstream branch, as well.
-q::
--quiet::
Be more quiet when creating or deleting a branch, suppressing
non-error messages.
--abbrev=<length>:: --abbrev=<length>::
Alter the sha1's minimum display length in the output listing. Alter the sha1's minimum display length in the output listing.
The default value is 7 and can be overridden by the `core.abbrev` The default value is 7 and can be overridden by the `core.abbrev`

View File

@ -146,7 +146,8 @@ static int branch_merged(int kind, const char *name,
return merged; return merged;
} }
static int delete_branches(int argc, const char **argv, int force, int kinds) static int delete_branches(int argc, const char **argv, int force, int kinds,
int quiet)
{ {
struct commit *rev, *head_rev = NULL; struct commit *rev, *head_rev = NULL;
unsigned char sha1[20]; unsigned char sha1[20];
@ -216,9 +217,10 @@ static int delete_branches(int argc, const char **argv, int force, int kinds)
ret = 1; ret = 1;
} else { } else {
struct strbuf buf = STRBUF_INIT; struct strbuf buf = STRBUF_INIT;
printf(_("Deleted %sbranch %s (was %s).\n"), remote, if (!quiet)
bname.buf, printf(_("Deleted %sbranch %s (was %s).\n"),
find_unique_abbrev(sha1, DEFAULT_ABBREV)); remote, bname.buf,
find_unique_abbrev(sha1, DEFAULT_ABBREV));
strbuf_addf(&buf, "branch.%s", bname.buf); strbuf_addf(&buf, "branch.%s", bname.buf);
if (git_config_rename_section(buf.buf, NULL) < 0) if (git_config_rename_section(buf.buf, NULL) < 0)
warning(_("Update of config-file failed")); warning(_("Update of config-file failed"));
@ -678,6 +680,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
int delete = 0, rename = 0, force_create = 0, list = 0; int delete = 0, rename = 0, force_create = 0, list = 0;
int verbose = 0, abbrev = -1, detached = 0; int verbose = 0, abbrev = -1, detached = 0;
int reflog = 0, edit_description = 0; int reflog = 0, edit_description = 0;
int quiet = 0;
enum branch_track track; enum branch_track track;
int kinds = REF_LOCAL_BRANCH; int kinds = REF_LOCAL_BRANCH;
struct commit_list *with_commit = NULL; struct commit_list *with_commit = NULL;
@ -686,6 +689,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
OPT_GROUP("Generic options"), OPT_GROUP("Generic options"),
OPT__VERBOSE(&verbose, OPT__VERBOSE(&verbose,
"show hash and subject, give twice for upstream branch"), "show hash and subject, give twice for upstream branch"),
OPT__QUIET(&quiet, "suppress informational messages"),
OPT_SET_INT('t', "track", &track, "set up tracking mode (see git-pull(1))", OPT_SET_INT('t', "track", &track, "set up tracking mode (see git-pull(1))",
BRANCH_TRACK_EXPLICIT), BRANCH_TRACK_EXPLICIT),
OPT_SET_INT( 0, "set-upstream", &track, "change upstream info", OPT_SET_INT( 0, "set-upstream", &track, "change upstream info",
@ -766,7 +770,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
abbrev = DEFAULT_ABBREV; abbrev = DEFAULT_ABBREV;
if (delete) if (delete)
return delete_branches(argc, argv, delete > 1, kinds); return delete_branches(argc, argv, delete > 1, kinds, quiet);
else if (list) else if (list)
return print_ref_list(kinds, detached, verbose, abbrev, return print_ref_list(kinds, detached, verbose, abbrev,
with_commit, argv); with_commit, argv);
@ -808,7 +812,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
if (kinds != REF_LOCAL_BRANCH) if (kinds != REF_LOCAL_BRANCH)
die(_("-a and -r options to 'git branch' do not make sense with a branch name")); die(_("-a and -r options to 'git branch' do not make sense with a branch name"));
create_branch(head, argv[0], (argc == 2) ? argv[1] : head, create_branch(head, argv[0], (argc == 2) ? argv[1] : head,
force_create, reflog, 0, 0, track); force_create, reflog, 0, quiet, track);
} else } else
usage_with_options(builtin_branch_usage, options); usage_with_options(builtin_branch_usage, options);