Browse Source

Merge branch 'jk/branch-quiet'

Even with "-q"uiet option, "checkout" used to report setting up tracking.
Also "branch" learns "-q"uiet option to squelch informational message.

By Jeff King
* jk/branch-quiet:
  teach "git branch" a --quiet option
  checkout: suppress tracking message with "-q"
maint
Junio C Hamano 13 years ago
parent
commit
b3ba46945d
  1. 5
      Documentation/git-branch.txt
  2. 9
      branch.c
  3. 2
      branch.h
  4. 16
      builtin/branch.c
  5. 1
      builtin/checkout.c

5
Documentation/git-branch.txt

@ -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`

9
branch.c

@ -101,9 +101,10 @@ void install_branch_config(int flag, const char *local, const char *origin, cons
* config. * config.
*/ */
static int setup_tracking(const char *new_ref, const char *orig_ref, static int setup_tracking(const char *new_ref, const char *orig_ref,
enum branch_track track) enum branch_track track, int quiet)
{ {
struct tracking tracking; struct tracking tracking;
int config_flags = quiet ? 0 : BRANCH_CONFIG_VERBOSE;


if (strlen(new_ref) > 1024 - 7 - 7 - 1) if (strlen(new_ref) > 1024 - 7 - 7 - 1)
return error("Tracking not set up: name too long: %s", return error("Tracking not set up: name too long: %s",
@ -128,7 +129,7 @@ static int setup_tracking(const char *new_ref, const char *orig_ref,
return error("Not tracking: ambiguous information for ref %s", return error("Not tracking: ambiguous information for ref %s",
orig_ref); orig_ref);


install_branch_config(BRANCH_CONFIG_VERBOSE, new_ref, tracking.remote, install_branch_config(config_flags, new_ref, tracking.remote,
tracking.src ? tracking.src : orig_ref); tracking.src ? tracking.src : orig_ref);


free(tracking.src); free(tracking.src);
@ -191,7 +192,7 @@ int validate_new_branchname(const char *name, struct strbuf *ref,
void create_branch(const char *head, void create_branch(const char *head,
const char *name, const char *start_name, const char *name, const char *start_name,
int force, int reflog, int clobber_head, int force, int reflog, int clobber_head,
enum branch_track track) int quiet, enum branch_track track)
{ {
struct ref_lock *lock = NULL; struct ref_lock *lock = NULL;
struct commit *commit; struct commit *commit;
@ -260,7 +261,7 @@ void create_branch(const char *head,
start_name); start_name);


if (real_ref && track) if (real_ref && track)
setup_tracking(ref.buf+11, real_ref, track); setup_tracking(ref.buf+11, real_ref, track, quiet);


if (!dont_change_ref) if (!dont_change_ref)
if (write_ref_sha1(lock, sha1, msg) < 0) if (write_ref_sha1(lock, sha1, msg) < 0)

2
branch.h

@ -14,7 +14,7 @@
*/ */
void create_branch(const char *head, const char *name, const char *start_name, void create_branch(const char *head, const char *name, const char *start_name,
int force, int reflog, int force, int reflog,
int clobber_head, enum branch_track track); int clobber_head, int quiet, enum branch_track track);


/* /*
* Validates that the requested branch may be created, returning the * Validates that the requested branch may be created, returning the

16
builtin/branch.c

@ -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, track); force_create, reflog, 0, quiet, track);
} else } else
usage_with_options(builtin_branch_usage, options); usage_with_options(builtin_branch_usage, options);



1
builtin/checkout.c

@ -543,6 +543,7 @@ static void update_refs_for_switch(struct checkout_opts *opts,
opts->new_branch_force ? 1 : 0, opts->new_branch_force ? 1 : 0,
opts->new_branch_log, opts->new_branch_log,
opts->new_branch_force ? 1 : 0, opts->new_branch_force ? 1 : 0,
opts->quiet,
opts->track); opts->track);
new->name = opts->new_branch; new->name = opts->new_branch;
setup_branch_path(new); setup_branch_path(new);

Loading…
Cancel
Save