Merge branch 'tc/transport-verbosity'
* tc/transport-verbosity: transport: update flags to be in running order fetch and pull: learn --progress push: learn --progress transport->progress: use flag authoritatively clone: support multiple levels of verbosity push: support multiple levels of verbosity fetch: refactor verbosity option handling into transport.[ch] Documentation/git-push: put --quiet before --verbose Documentation/git-pull: put verbosity options before merge/fetch ones Documentation/git-clone: mention progress in -v Conflicts: transport.h
This commit is contained in:
commit
53997a30f8
@ -78,9 +78,16 @@ ifndef::git-pull[]
|
|||||||
-q::
|
-q::
|
||||||
--quiet::
|
--quiet::
|
||||||
Pass --quiet to git-fetch-pack and silence any other internally
|
Pass --quiet to git-fetch-pack and silence any other internally
|
||||||
used git commands.
|
used git commands. Progress is not reported to the standard error
|
||||||
|
stream.
|
||||||
|
|
||||||
-v::
|
-v::
|
||||||
--verbose::
|
--verbose::
|
||||||
Be verbose.
|
Be verbose.
|
||||||
endif::git-pull[]
|
endif::git-pull[]
|
||||||
|
|
||||||
|
--progress::
|
||||||
|
Progress status is reported on the standard error stream
|
||||||
|
by default when it is attached to a terminal, unless -q
|
||||||
|
is specified. This flag forces progress status even if the
|
||||||
|
standard error stream is not directed to a terminal.
|
||||||
|
@ -102,7 +102,8 @@ objects from the source repository into a pack in the cloned repository.
|
|||||||
|
|
||||||
--verbose::
|
--verbose::
|
||||||
-v::
|
-v::
|
||||||
Run verbosely.
|
Run verbosely. Does not affect the reporting of progress status
|
||||||
|
to the standard error stream.
|
||||||
|
|
||||||
--progress::
|
--progress::
|
||||||
Progress status is reported on the standard error stream
|
Progress status is reported on the standard error stream
|
||||||
|
@ -31,6 +31,16 @@ in a state that is hard to back out of in the case of a conflict.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
-q::
|
||||||
|
--quiet::
|
||||||
|
This is passed to both underlying git-fetch to squelch reporting of
|
||||||
|
during transfer, and underlying git-merge to squelch output during
|
||||||
|
merging.
|
||||||
|
|
||||||
|
-v::
|
||||||
|
--verbose::
|
||||||
|
Pass --verbose to git-fetch and git-merge.
|
||||||
|
|
||||||
Options related to merging
|
Options related to merging
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -146,14 +146,21 @@ useful if you write an alias or script around 'git push'.
|
|||||||
receiver share many of the same objects in common. The default is
|
receiver share many of the same objects in common. The default is
|
||||||
\--thin.
|
\--thin.
|
||||||
|
|
||||||
|
-q::
|
||||||
|
--quiet::
|
||||||
|
Suppress all output, including the listing of updated refs,
|
||||||
|
unless an error occurs. Progress is not reported to the standard
|
||||||
|
error stream.
|
||||||
|
|
||||||
-v::
|
-v::
|
||||||
--verbose::
|
--verbose::
|
||||||
Run verbosely.
|
Run verbosely.
|
||||||
|
|
||||||
-q::
|
--progress::
|
||||||
--quiet::
|
Progress status is reported on the standard error stream
|
||||||
Suppress all output, including the listing of updated refs,
|
by default when it is attached to a terminal, unless -q
|
||||||
unless an error occurs.
|
is specified. This flag forces progress status even if the
|
||||||
|
standard error stream is not directed to a terminal.
|
||||||
|
|
||||||
include::urls-remotes.txt[]
|
include::urls-remotes.txt[]
|
||||||
|
|
||||||
|
@ -67,6 +67,7 @@ option can be used to override --squash.
|
|||||||
Synonyms to --stat and --no-stat; these are deprecated and will be
|
Synonyms to --stat and --no-stat; these are deprecated and will be
|
||||||
removed in the future.
|
removed in the future.
|
||||||
|
|
||||||
|
ifndef::git-pull[]
|
||||||
-q::
|
-q::
|
||||||
--quiet::
|
--quiet::
|
||||||
Operate quietly.
|
Operate quietly.
|
||||||
@ -74,6 +75,7 @@ option can be used to override --squash.
|
|||||||
-v::
|
-v::
|
||||||
--verbose::
|
--verbose::
|
||||||
Be verbose.
|
Be verbose.
|
||||||
|
endif::git-pull[]
|
||||||
|
|
||||||
-X <option>::
|
-X <option>::
|
||||||
--strategy-option=<option>::
|
--strategy-option=<option>::
|
||||||
|
@ -37,18 +37,17 @@ static const char * const builtin_clone_usage[] = {
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static int option_quiet, option_no_checkout, option_bare, option_mirror;
|
static int option_no_checkout, option_bare, option_mirror;
|
||||||
static int option_local, option_no_hardlinks, option_shared, option_recursive;
|
static int option_local, option_no_hardlinks, option_shared, option_recursive;
|
||||||
static char *option_template, *option_reference, *option_depth;
|
static char *option_template, *option_reference, *option_depth;
|
||||||
static char *option_origin = NULL;
|
static char *option_origin = NULL;
|
||||||
static char *option_branch = NULL;
|
static char *option_branch = NULL;
|
||||||
static char *option_upload_pack = "git-upload-pack";
|
static char *option_upload_pack = "git-upload-pack";
|
||||||
static int option_verbose;
|
static int option_verbosity;
|
||||||
static int option_progress;
|
static int option_progress;
|
||||||
|
|
||||||
static struct option builtin_clone_options[] = {
|
static struct option builtin_clone_options[] = {
|
||||||
OPT__QUIET(&option_quiet),
|
OPT__VERBOSITY(&option_verbosity),
|
||||||
OPT__VERBOSE(&option_verbose),
|
|
||||||
OPT_BOOLEAN(0, "progress", &option_progress,
|
OPT_BOOLEAN(0, "progress", &option_progress,
|
||||||
"force progress reporting"),
|
"force progress reporting"),
|
||||||
OPT_BOOLEAN('n', "no-checkout", &option_no_checkout,
|
OPT_BOOLEAN('n', "no-checkout", &option_no_checkout,
|
||||||
@ -462,7 +461,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
|
|||||||
die("could not create leading directories of '%s'", git_dir);
|
die("could not create leading directories of '%s'", git_dir);
|
||||||
set_git_dir(make_absolute_path(git_dir));
|
set_git_dir(make_absolute_path(git_dir));
|
||||||
|
|
||||||
init_db(option_template, option_quiet ? INIT_DB_QUIET : 0);
|
init_db(option_template, (option_verbosity < 0) ? INIT_DB_QUIET : 0);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* At this point, the config exists, so we do not need the
|
* At this point, the config exists, so we do not need the
|
||||||
@ -526,13 +525,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
|
|||||||
transport_set_option(transport, TRANS_OPT_DEPTH,
|
transport_set_option(transport, TRANS_OPT_DEPTH,
|
||||||
option_depth);
|
option_depth);
|
||||||
|
|
||||||
if (option_quiet)
|
transport_set_verbosity(transport, option_verbosity, option_progress);
|
||||||
transport->verbose = -1;
|
|
||||||
else if (option_verbose)
|
|
||||||
transport->verbose = 1;
|
|
||||||
|
|
||||||
if (option_progress)
|
|
||||||
transport->progress = 1;
|
|
||||||
|
|
||||||
if (option_upload_pack)
|
if (option_upload_pack)
|
||||||
transport_set_option(transport, TRANS_OPT_UPLOADPACK,
|
transport_set_option(transport, TRANS_OPT_UPLOADPACK,
|
||||||
@ -641,7 +634,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
|
|||||||
opts.update = 1;
|
opts.update = 1;
|
||||||
opts.merge = 1;
|
opts.merge = 1;
|
||||||
opts.fn = oneway_merge;
|
opts.fn = oneway_merge;
|
||||||
opts.verbose_update = !option_quiet;
|
opts.verbose_update = (option_verbosity > 0);
|
||||||
opts.src_index = &the_index;
|
opts.src_index = &the_index;
|
||||||
opts.dst_index = &the_index;
|
opts.dst_index = &the_index;
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ enum {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static int all, append, dry_run, force, keep, multiple, prune, update_head_ok, verbosity;
|
static int all, append, dry_run, force, keep, multiple, prune, update_head_ok, verbosity;
|
||||||
|
static int progress;
|
||||||
static int tags = TAGS_DEFAULT;
|
static int tags = TAGS_DEFAULT;
|
||||||
static const char *depth;
|
static const char *depth;
|
||||||
static const char *upload_pack;
|
static const char *upload_pack;
|
||||||
@ -57,6 +58,7 @@ static struct option builtin_fetch_options[] = {
|
|||||||
OPT_BOOLEAN('k', "keep", &keep, "keep downloaded pack"),
|
OPT_BOOLEAN('k', "keep", &keep, "keep downloaded pack"),
|
||||||
OPT_BOOLEAN('u', "update-head-ok", &update_head_ok,
|
OPT_BOOLEAN('u', "update-head-ok", &update_head_ok,
|
||||||
"allow updating of HEAD ref"),
|
"allow updating of HEAD ref"),
|
||||||
|
OPT_BOOLEAN(0, "progress", &progress, "force progress reporting"),
|
||||||
OPT_STRING(0, "depth", &depth, "DEPTH",
|
OPT_STRING(0, "depth", &depth, "DEPTH",
|
||||||
"deepen history of shallow clone"),
|
"deepen history of shallow clone"),
|
||||||
OPT_END()
|
OPT_END()
|
||||||
@ -845,10 +847,7 @@ static int fetch_one(struct remote *remote, int argc, const char **argv)
|
|||||||
die("Where do you want to fetch from today?");
|
die("Where do you want to fetch from today?");
|
||||||
|
|
||||||
transport = transport_get(remote, NULL);
|
transport = transport_get(remote, NULL);
|
||||||
if (verbosity >= 2)
|
transport_set_verbosity(transport, verbosity, progress);
|
||||||
transport->verbose = verbosity <= 3 ? verbosity : 3;
|
|
||||||
if (verbosity < 0)
|
|
||||||
transport->verbose = -1;
|
|
||||||
if (upload_pack)
|
if (upload_pack)
|
||||||
set_option(TRANS_OPT_UPLOADPACK, upload_pack);
|
set_option(TRANS_OPT_UPLOADPACK, upload_pack);
|
||||||
if (keep)
|
if (keep)
|
||||||
|
@ -17,6 +17,8 @@ static const char * const push_usage[] = {
|
|||||||
static int thin;
|
static int thin;
|
||||||
static int deleterefs;
|
static int deleterefs;
|
||||||
static const char *receivepack;
|
static const char *receivepack;
|
||||||
|
static int verbosity;
|
||||||
|
static int progress;
|
||||||
|
|
||||||
static const char **refspec;
|
static const char **refspec;
|
||||||
static int refspec_nr;
|
static int refspec_nr;
|
||||||
@ -105,13 +107,16 @@ static int push_with_options(struct transport *transport, int flags)
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
int nonfastforward;
|
int nonfastforward;
|
||||||
|
|
||||||
|
transport_set_verbosity(transport, verbosity, progress);
|
||||||
|
|
||||||
if (receivepack)
|
if (receivepack)
|
||||||
transport_set_option(transport,
|
transport_set_option(transport,
|
||||||
TRANS_OPT_RECEIVEPACK, receivepack);
|
TRANS_OPT_RECEIVEPACK, receivepack);
|
||||||
if (thin)
|
if (thin)
|
||||||
transport_set_option(transport, TRANS_OPT_THIN, "yes");
|
transport_set_option(transport, TRANS_OPT_THIN, "yes");
|
||||||
|
|
||||||
if (flags & TRANSPORT_PUSH_VERBOSE)
|
if (verbosity > 0)
|
||||||
fprintf(stderr, "Pushing to %s\n", transport->url);
|
fprintf(stderr, "Pushing to %s\n", transport->url);
|
||||||
err = transport_push(transport, refspec_nr, refspec, flags,
|
err = transport_push(transport, refspec_nr, refspec, flags,
|
||||||
&nonfastforward);
|
&nonfastforward);
|
||||||
@ -204,8 +209,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
|
|||||||
int rc;
|
int rc;
|
||||||
const char *repo = NULL; /* default repository */
|
const char *repo = NULL; /* default repository */
|
||||||
struct option options[] = {
|
struct option options[] = {
|
||||||
OPT_BIT('q', "quiet", &flags, "be quiet", TRANSPORT_PUSH_QUIET),
|
OPT__VERBOSITY(&verbosity),
|
||||||
OPT_BIT('v', "verbose", &flags, "be verbose", TRANSPORT_PUSH_VERBOSE),
|
|
||||||
OPT_STRING( 0 , "repo", &repo, "repository", "repository"),
|
OPT_STRING( 0 , "repo", &repo, "repository", "repository"),
|
||||||
OPT_BIT( 0 , "all", &flags, "push all refs", TRANSPORT_PUSH_ALL),
|
OPT_BIT( 0 , "all", &flags, "push all refs", TRANSPORT_PUSH_ALL),
|
||||||
OPT_BIT( 0 , "mirror", &flags, "mirror all refs",
|
OPT_BIT( 0 , "mirror", &flags, "mirror all refs",
|
||||||
@ -220,6 +224,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
|
|||||||
OPT_STRING( 0 , "exec", &receivepack, "receive-pack", "receive pack program"),
|
OPT_STRING( 0 , "exec", &receivepack, "receive-pack", "receive pack program"),
|
||||||
OPT_BIT('u', "set-upstream", &flags, "set upstream for git pull/status",
|
OPT_BIT('u', "set-upstream", &flags, "set upstream for git pull/status",
|
||||||
TRANSPORT_PUSH_SET_UPSTREAM),
|
TRANSPORT_PUSH_SET_UPSTREAM),
|
||||||
|
OPT_BOOLEAN(0, "progress", &progress, "force progress reporting"),
|
||||||
OPT_END()
|
OPT_END()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ test -z "$(git ls-files -u)" || die_conflict
|
|||||||
test -f "$GIT_DIR/MERGE_HEAD" && die_merge
|
test -f "$GIT_DIR/MERGE_HEAD" && die_merge
|
||||||
|
|
||||||
strategy_args= diffstat= no_commit= squash= no_ff= ff_only=
|
strategy_args= diffstat= no_commit= squash= no_ff= ff_only=
|
||||||
log_arg= verbosity=
|
log_arg= verbosity= progress=
|
||||||
merge_args=
|
merge_args=
|
||||||
curr_branch=$(git symbolic-ref -q HEAD)
|
curr_branch=$(git symbolic-ref -q HEAD)
|
||||||
curr_branch_short=$(echo "$curr_branch" | sed "s|refs/heads/||")
|
curr_branch_short=$(echo "$curr_branch" | sed "s|refs/heads/||")
|
||||||
@ -50,6 +50,8 @@ do
|
|||||||
verbosity="$verbosity -q" ;;
|
verbosity="$verbosity -q" ;;
|
||||||
-v|--verbose)
|
-v|--verbose)
|
||||||
verbosity="$verbosity -v" ;;
|
verbosity="$verbosity -v" ;;
|
||||||
|
--progress)
|
||||||
|
progress=--progress ;;
|
||||||
-n|--no-stat|--no-summary)
|
-n|--no-stat|--no-summary)
|
||||||
diffstat=--no-stat ;;
|
diffstat=--no-stat ;;
|
||||||
--stat|--summary)
|
--stat|--summary)
|
||||||
@ -214,7 +216,7 @@ test true = "$rebase" && {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
orig_head=$(git rev-parse -q --verify HEAD)
|
orig_head=$(git rev-parse -q --verify HEAD)
|
||||||
git fetch $verbosity --update-head-ok "$@" || exit 1
|
git fetch $verbosity $progress --update-head-ok "$@" || exit 1
|
||||||
|
|
||||||
curr_head=$(git rev-parse -q --verify HEAD)
|
curr_head=$(git rev-parse -q --verify HEAD)
|
||||||
if test -n "$orig_head" && test "$curr_head" != "$orig_head"
|
if test -n "$orig_head" && test "$curr_head" != "$orig_head"
|
||||||
|
@ -279,9 +279,8 @@ static void standard_options(struct transport *t)
|
|||||||
char buf[16];
|
char buf[16];
|
||||||
int n;
|
int n;
|
||||||
int v = t->verbose;
|
int v = t->verbose;
|
||||||
int no_progress = v < 0 || (!t->progress && !isatty(2));
|
|
||||||
|
|
||||||
set_helper_option(t, "progress", !no_progress ? "true" : "false");
|
set_helper_option(t, "progress", t->progress ? "true" : "false");
|
||||||
|
|
||||||
n = snprintf(buf, sizeof(buf), "%d", v + 1);
|
n = snprintf(buf, sizeof(buf), "%d", v + 1);
|
||||||
if (n >= sizeof(buf))
|
if (n >= sizeof(buf))
|
||||||
@ -576,7 +575,6 @@ static int push_refs(struct transport *transport,
|
|||||||
if (buf.len == 0)
|
if (buf.len == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
transport->verbose = flags & TRANSPORT_PUSH_VERBOSE ? 1 : 0;
|
|
||||||
standard_options(transport);
|
standard_options(transport);
|
||||||
|
|
||||||
if (flags & TRANSPORT_PUSH_DRY_RUN) {
|
if (flags & TRANSPORT_PUSH_DRY_RUN) {
|
||||||
|
31
transport.c
31
transport.c
@ -526,7 +526,7 @@ static int fetch_refs_via_pack(struct transport *transport,
|
|||||||
args.include_tag = data->options.followtags;
|
args.include_tag = data->options.followtags;
|
||||||
args.verbose = (transport->verbose > 0);
|
args.verbose = (transport->verbose > 0);
|
||||||
args.quiet = (transport->verbose < 0);
|
args.quiet = (transport->verbose < 0);
|
||||||
args.no_progress = args.quiet || (!transport->progress && !isatty(2));
|
args.no_progress = !transport->progress;
|
||||||
args.depth = data->options.depth;
|
args.depth = data->options.depth;
|
||||||
|
|
||||||
for (i = 0; i < nr_heads; i++)
|
for (i = 0; i < nr_heads; i++)
|
||||||
@ -786,8 +786,8 @@ static int git_transport_push(struct transport *transport, struct ref *remote_re
|
|||||||
args.send_mirror = !!(flags & TRANSPORT_PUSH_MIRROR);
|
args.send_mirror = !!(flags & TRANSPORT_PUSH_MIRROR);
|
||||||
args.force_update = !!(flags & TRANSPORT_PUSH_FORCE);
|
args.force_update = !!(flags & TRANSPORT_PUSH_FORCE);
|
||||||
args.use_thin_pack = data->options.thin;
|
args.use_thin_pack = data->options.thin;
|
||||||
args.verbose = !!(flags & TRANSPORT_PUSH_VERBOSE);
|
args.verbose = (transport->verbose > 0);
|
||||||
args.quiet = !!(flags & TRANSPORT_PUSH_QUIET);
|
args.quiet = (transport->verbose < 0);
|
||||||
args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN);
|
args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN);
|
||||||
args.porcelain = !!(flags & TRANSPORT_PUSH_PORCELAIN);
|
args.porcelain = !!(flags & TRANSPORT_PUSH_PORCELAIN);
|
||||||
|
|
||||||
@ -929,6 +929,8 @@ struct transport *transport_get(struct remote *remote, const char *url)
|
|||||||
const char *helper;
|
const char *helper;
|
||||||
struct transport *ret = xcalloc(1, sizeof(*ret));
|
struct transport *ret = xcalloc(1, sizeof(*ret));
|
||||||
|
|
||||||
|
ret->progress = isatty(2);
|
||||||
|
|
||||||
if (!remote)
|
if (!remote)
|
||||||
die("No remote provided to transport_get()");
|
die("No remote provided to transport_get()");
|
||||||
|
|
||||||
@ -1028,6 +1030,25 @@ int transport_set_option(struct transport *transport,
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void transport_set_verbosity(struct transport *transport, int verbosity,
|
||||||
|
int force_progress)
|
||||||
|
{
|
||||||
|
if (verbosity >= 2)
|
||||||
|
transport->verbose = verbosity <= 3 ? verbosity : 3;
|
||||||
|
if (verbosity < 0)
|
||||||
|
transport->verbose = -1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rules used to determine whether to report progress (processing aborts
|
||||||
|
* when a rule is satisfied):
|
||||||
|
*
|
||||||
|
* 1. Report progress, if force_progress is 1 (ie. --progress).
|
||||||
|
* 2. Don't report progress, if verbosity < 0 (ie. -q/--quiet ).
|
||||||
|
* 3. Report progress if isatty(2) is 1.
|
||||||
|
**/
|
||||||
|
transport->progress = force_progress || (verbosity >= 0 && isatty(2));
|
||||||
|
}
|
||||||
|
|
||||||
int transport_push(struct transport *transport,
|
int transport_push(struct transport *transport,
|
||||||
int refspec_nr, const char **refspec, int flags,
|
int refspec_nr, const char **refspec, int flags,
|
||||||
int *nonfastforward)
|
int *nonfastforward)
|
||||||
@ -1046,8 +1067,8 @@ int transport_push(struct transport *transport,
|
|||||||
transport->get_refs_list(transport, 1);
|
transport->get_refs_list(transport, 1);
|
||||||
struct ref *local_refs = get_local_heads();
|
struct ref *local_refs = get_local_heads();
|
||||||
int match_flags = MATCH_REFS_NONE;
|
int match_flags = MATCH_REFS_NONE;
|
||||||
int verbose = flags & TRANSPORT_PUSH_VERBOSE;
|
int verbose = (transport->verbose > 0);
|
||||||
int quiet = flags & TRANSPORT_PUSH_QUIET;
|
int quiet = (transport->verbose < 0);
|
||||||
int porcelain = flags & TRANSPORT_PUSH_PORCELAIN;
|
int porcelain = flags & TRANSPORT_PUSH_PORCELAIN;
|
||||||
int pretend = flags & TRANSPORT_PUSH_DRY_RUN;
|
int pretend = flags & TRANSPORT_PUSH_DRY_RUN;
|
||||||
int push_ret, ret, err;
|
int push_ret, ret, err;
|
||||||
|
16
transport.h
16
transport.h
@ -80,7 +80,12 @@ struct transport {
|
|||||||
int (*disconnect)(struct transport *connection);
|
int (*disconnect)(struct transport *connection);
|
||||||
char *pack_lockfile;
|
char *pack_lockfile;
|
||||||
signed verbose : 3;
|
signed verbose : 3;
|
||||||
/* Force progress even if stderr is not a tty */
|
/**
|
||||||
|
* Transports should not set this directly, and should use this
|
||||||
|
* value without having to check isatty(2), -q/--quiet
|
||||||
|
* (transport->verbose < 0), etc. - checking has already been done
|
||||||
|
* in transport_set_verbosity().
|
||||||
|
**/
|
||||||
unsigned progress : 1;
|
unsigned progress : 1;
|
||||||
/*
|
/*
|
||||||
* If transport is at least potentially smart, this points to
|
* If transport is at least potentially smart, this points to
|
||||||
@ -94,10 +99,9 @@ struct transport {
|
|||||||
#define TRANSPORT_PUSH_FORCE 2
|
#define TRANSPORT_PUSH_FORCE 2
|
||||||
#define TRANSPORT_PUSH_DRY_RUN 4
|
#define TRANSPORT_PUSH_DRY_RUN 4
|
||||||
#define TRANSPORT_PUSH_MIRROR 8
|
#define TRANSPORT_PUSH_MIRROR 8
|
||||||
#define TRANSPORT_PUSH_VERBOSE 16
|
#define TRANSPORT_PUSH_PORCELAIN 16
|
||||||
#define TRANSPORT_PUSH_PORCELAIN 32
|
#define TRANSPORT_PUSH_SET_UPSTREAM 32
|
||||||
#define TRANSPORT_PUSH_QUIET 64
|
|
||||||
#define TRANSPORT_PUSH_SET_UPSTREAM 128
|
|
||||||
#define TRANSPORT_SUMMARY_WIDTH (2 * DEFAULT_ABBREV + 3)
|
#define TRANSPORT_SUMMARY_WIDTH (2 * DEFAULT_ABBREV + 3)
|
||||||
|
|
||||||
/* Returns a transport suitable for the url */
|
/* Returns a transport suitable for the url */
|
||||||
@ -129,6 +133,8 @@ struct transport *transport_get(struct remote *, const char *);
|
|||||||
**/
|
**/
|
||||||
int transport_set_option(struct transport *transport, const char *name,
|
int transport_set_option(struct transport *transport, const char *name,
|
||||||
const char *value);
|
const char *value);
|
||||||
|
void transport_set_verbosity(struct transport *transport, int verbosity,
|
||||||
|
int force_progress);
|
||||||
|
|
||||||
int transport_push(struct transport *connection,
|
int transport_push(struct transport *connection,
|
||||||
int refspec_nr, const char **refspec, int flags,
|
int refspec_nr, const char **refspec, int flags,
|
||||||
|
Loading…
Reference in New Issue
Block a user