SYNOPSIS
--------
-'git-push' [--all] [--tags] [--exec=<git-receive-pack>] [--repo=all] [-f | --force] [-v] [<repository> <refspec>...]
+'git-push' [--all] [--tags] [--receive-pack=<git-receive-pack>] [--repo=all] [-f | --force] [-v] [<repository> <refspec>...]
DESCRIPTION
-----------
addition to refspecs explicitly listed on the command
line.
-\--exec::
+\--receive-pack=<git-receive-pack>::
Path to the 'git-receive-pack' program on the remote
end. Sometimes useful when pushing to a remote
repository over ssh, and you do not have the program in
a directory on the default $PATH.
+\--exec=<git-receive-pack>::
+ Same as \--receive-pack=<git-receive-pack>.
+
-f, \--force::
Usually, the command refuses to update a remote ref that is
not a descendant of the local ref used to overwrite it.
SYNOPSIS
--------
-'git-send-pack' [--all] [--force] [--exec=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]
+'git-send-pack' [--all] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]
DESCRIPTION
-----------
OPTIONS
-------
-\--exec=<git-receive-pack>::
+\--receive-pack=<git-receive-pack>::
Path to the 'git-receive-pack' program on the remote
end. Sometimes useful when pushing to a remote
repository over ssh, and you do not have the program in
a directory on the default $PATH.
+\--exec=<git-receive-pack>::
+ Same as \--receive-pack=<git-receive-pack>.
+
\--all::
Instead of explicitly specifying which refs to update,
update all refs that locally exist.
#define MAX_URI (16)
-static const char push_usage[] = "git-push [--all] [--tags] [--exec=<git-receive-pack>] [--repo=all] [-f | --force] [-v] [<repository> <refspec>...]";
+static const char push_usage[] = "git-push [--all] [--tags] [--receive-pack=<git-receive-pack>] [--repo=all] [-f | --force] [-v] [<repository> <refspec>...]";
static int all, tags, force, thin = 1, verbose;
-static const char *execute;
+static const char *receivepack;
#define BUF_SIZE (2084)
static char buffer[BUF_SIZE];
add_refspec(xstrdup(value));
else if (config_get_receivepack &&
!strcmp(key + 7 + config_repo_len, ".receivepack")) {
- if (!execute) {
- char *ex = xmalloc(strlen(value) + 8);
- sprintf(ex, "--exec=%s", value);
- execute = ex;
+ if (!receivepack) {
+ char *rp = xmalloc(strlen(value) + 16);
+ sprintf(rp, "--receive-pack=%s", value);
+ receivepack = rp;
} else
error("more than one receivepack given, using the first");
}
config_current_uri = 0;
config_uri = uri;
config_get_refspecs = !(refspec_nr || all || tags);
- config_get_receivepack = (execute == NULL);
+ config_get_receivepack = (receivepack == NULL);
git_config(get_remote_config);
return config_current_uri;
argv[argc++] = "--all";
if (force)
argv[argc++] = "--force";
- if (execute)
- argv[argc++] = execute;
+ if (receivepack)
+ argv[argc++] = receivepack;
common_argc = argc;
for (i = 0; i < n; i++) {
thin = 0;
continue;
}
+ if (!strncmp(arg, "--receive-pack=", 15)) {
+ receivepack = arg;
+ continue;
+ }
if (!strncmp(arg, "--exec=", 7)) {
- execute = arg;
+ receivepack = arg;
continue;
}
usage(push_usage);
#include "exec_cmd.h"
static const char send_pack_usage[] =
-"git-send-pack [--all] [--force] [--exec=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]\n"
+"git-send-pack [--all] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]\n"
" --all and explicit <ref> specification are mutually exclusive.";
-static const char *exec = "git-receive-pack";
+static const char *receivepack = "git-receive-pack";
static int verbose;
static int send_all;
static int force_update;
char *arg = *argv;
if (*arg == '-') {
+ if (!strncmp(arg, "--receive-pack=", 15)) {
+ receivepack = arg + 15;
+ continue;
+ }
if (!strncmp(arg, "--exec=", 7)) {
- exec = arg + 7;
+ receivepack = arg + 7;
continue;
}
if (!strcmp(arg, "--all")) {
usage(send_pack_usage);
verify_remote_names(nr_heads, heads);
- pid = git_connect(fd, dest, exec);
+ pid = git_connect(fd, dest, receivepack);
if (pid < 0)
return 1;
ret = send_pack(fd[0], fd[1], nr_heads, heads);