Skip to content

Commit

Permalink
Merge 'sideband-bug' into HEAD
Browse files Browse the repository at this point in the history
This works around the push-over-git-protocol issues pointed out in
msysgit#101.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  • Loading branch information
dscho committed Sep 19, 2017
2 parents e0f355a + fbf5404 commit 6424ae5
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
6 changes: 6 additions & 0 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3384,3 +3384,9 @@ web.browser::
Specify a web browser that may be used by some commands.
Currently only linkgit:git-instaweb[1] and linkgit:git-help[1]
may use it.

sendpack.sideband::
Allows to disable the side-band-64k capability for send-pack even
when it is advertised by the server. Makes it possible to work
around a limitation in the git for windows implementation together
with the dump git protocol. Defaults to true.
14 changes: 13 additions & 1 deletion send-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@ int option_parse_push_signed(const struct option *opt,
die("bad %s argument: %s", opt->long_name, arg);
}

static int config_use_sideband = 1;

static int send_pack_config(const char *var, const char *value, void *unused)
{
if (!strcmp("sendpack.sideband", var))
config_use_sideband = git_config_bool(var, value);

return 0;
}

static void feed_object(const unsigned char *sha1, FILE *fh, int negative)
{
if (negative && !has_sha1_file(sha1))
Expand Down Expand Up @@ -399,14 +409,16 @@ int send_pack(struct send_pack_args *args,
struct async demux;
const char *push_cert_nonce = NULL;

git_config(send_pack_config, NULL);

/* Does the other end support the reporting? */
if (server_supports("report-status"))
status_report = 1;
if (server_supports("delete-refs"))
allow_deleting_refs = 1;
if (server_supports("ofs-delta"))
args->use_ofs_delta = 1;
if (server_supports("side-band-64k"))
if (config_use_sideband && server_supports("side-band-64k"))
use_sideband = 1;
if (server_supports("quiet"))
quiet_supported = 1;
Expand Down

0 comments on commit 6424ae5

Please sign in to comment.