Skip to content

Commit

Permalink
teach "git branch" a --quiet option
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Mar 27, 2012
1 parent f9a482e commit d65ddf1
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
5 changes: 5 additions & 0 deletions Documentation/git-branch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,11 @@ OPTIONS
relationship to upstream branch (if any). If given twice, print
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>::
Alter the sha1's minimum display length in the output listing.
The default value is 7 and can be overridden by the `core.abbrev`
Expand Down
16 changes: 10 additions & 6 deletions builtin/branch.c
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,8 @@ static int branch_merged(int kind, const char *name,
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;
unsigned char sha1[20];
Expand Down Expand Up @@ -216,9 +217,10 @@ static int delete_branches(int argc, const char **argv, int force, int kinds)
ret = 1;
} else {
struct strbuf buf = STRBUF_INIT;
printf(_("Deleted %sbranch %s (was %s).\n"), remote,
bname.buf,
find_unique_abbrev(sha1, DEFAULT_ABBREV));
if (!quiet)
printf(_("Deleted %sbranch %s (was %s).\n"),
remote, bname.buf,
find_unique_abbrev(sha1, DEFAULT_ABBREV));
strbuf_addf(&buf, "branch.%s", bname.buf);
if (git_config_rename_section(buf.buf, NULL) < 0)
warning(_("Update of config-file failed"));
Expand Down Expand Up @@ -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 verbose = 0, abbrev = -1, detached = 0;
int reflog = 0, edit_description = 0;
int quiet = 0;
enum branch_track track;
int kinds = REF_LOCAL_BRANCH;
struct commit_list *with_commit = NULL;
Expand All @@ -686,6 +689,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
OPT_GROUP("Generic options"),
OPT__VERBOSE(&verbose,
"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))",
BRANCH_TRACK_EXPLICIT),
OPT_SET_INT( 0, "set-upstream", &track, "change upstream info",
Expand Down Expand Up @@ -766,7 +770,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
abbrev = DEFAULT_ABBREV;

if (delete)
return delete_branches(argc, argv, delete > 1, kinds);
return delete_branches(argc, argv, delete > 1, kinds, quiet);
else if (list)
return print_ref_list(kinds, detached, verbose, abbrev,
with_commit, argv);
Expand Down Expand Up @@ -808,7 +812,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
if (kinds != REF_LOCAL_BRANCH)
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,
force_create, reflog, 0, 0, track);
force_create, reflog, 0, quiet, track);
} else
usage_with_options(builtin_branch_usage, options);

Expand Down

0 comments on commit d65ddf1

Please sign in to comment.