remote-fd/ext: finishing touches after code review
When compiling with pthread support, transport-helper.c needs to include necessary header files. Also fix a few error messages in remote-ext and remote-fd programs, and a potential buffer underrun in remote-fd. In the documentation, clarify how %G and %V are used; the old description looked as if they take repository/vhost parameters, which was wrong. Also fix AsciiDoc markup for the page title of remote-fd/remote-ext manpages, and tweak the way how section headers are shown. Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7f3ecebfcd
commit
7851b1e60f
@ -39,20 +39,20 @@ The following sequences have a special meaning:
|
|||||||
git-upload-pack, or git-upload-archive) of the service
|
git-upload-pack, or git-upload-archive) of the service
|
||||||
git wants to invoke.
|
git wants to invoke.
|
||||||
|
|
||||||
'%G<repository>' (as argument)::
|
'%G' (must be first characters in argument)::
|
||||||
This argument will not be passed to 'program'. Instead, it
|
This argument will not be passed to 'program'. Instead, it
|
||||||
will cause helper to start by sending git:// service request to
|
will cause helper to start by sending git:// service request to
|
||||||
remote side with service field set to approiate value and
|
remote side with service field set to approiate value and
|
||||||
repository field set to <repository>. Default is not to send
|
repository field set to rest of the argument. Default is not to send
|
||||||
such request.
|
such request.
|
||||||
+
|
+
|
||||||
This is useful if remote side is git:// server accessed over
|
This is useful if remote side is git:// server accessed over
|
||||||
some tunnel.
|
some tunnel.
|
||||||
|
|
||||||
'%V<host>' (as argument)::
|
'%V' (must be first characters in argument)::
|
||||||
This argument will not be passed to 'program'. Instead it sets
|
This argument will not be passed to 'program'. Instead it sets
|
||||||
the vhost field in git:// service request. Default is not to
|
the vhost field in git:// service request (to rest of the argument).
|
||||||
send vhost in such request (if sent).
|
Default is not to send vhost in such request (if sent).
|
||||||
|
|
||||||
ENVIRONMENT VARIABLES:
|
ENVIRONMENT VARIABLES:
|
||||||
----------------------
|
----------------------
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
git-remote-fd(1)
|
git-remote-fd(1)
|
||||||
=================
|
================
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
@ -28,13 +28,13 @@ It is assumed that any handshaking procedures have already been completed
|
|||||||
information to user in the URL in case that URL is displayed in some
|
information to user in the URL in case that URL is displayed in some
|
||||||
context.
|
context.
|
||||||
|
|
||||||
ENVIRONMENT VARIABLES:
|
ENVIRONMENT VARIABLES
|
||||||
----------------------
|
---------------------
|
||||||
GIT_TRANSLOOP_DEBUG::
|
GIT_TRANSLOOP_DEBUG::
|
||||||
If set, prints debugging information about various reads/writes.
|
If set, prints debugging information about various reads/writes.
|
||||||
|
|
||||||
EXAMPLES:
|
EXAMPLES
|
||||||
---------
|
--------
|
||||||
git fetch fd::17 master::
|
git fetch fd::17 master::
|
||||||
Fetch master, using file descriptor #17 to communicate with
|
Fetch master, using file descriptor #17 to communicate with
|
||||||
git-upload-pack.
|
git-upload-pack.
|
||||||
|
@ -142,7 +142,7 @@ static const char **parse_argv(const char *arg, const char *service)
|
|||||||
for (i = 0; i < arguments; i++)
|
for (i = 0; i < arguments; i++)
|
||||||
ret[i] = temparray[i];
|
ret[i] = temparray[i];
|
||||||
ret[arguments] = NULL;
|
ret[arguments] = NULL;
|
||||||
return (const char **)ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void send_git_request(int stdin_fd, const char *serv, const char *repo,
|
static void send_git_request(int stdin_fd, const char *serv, const char *repo,
|
||||||
@ -239,10 +239,8 @@ static int command_loop(const char *child)
|
|||||||
|
|
||||||
int cmd_remote_ext(int argc, const char **argv, const char *prefix)
|
int cmd_remote_ext(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
if (argc < 3) {
|
if (argc != 3)
|
||||||
fprintf(stderr, "Error: URL missing");
|
die("Expected two arguments");
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return command_loop(argv[2]);
|
return command_loop(argv[2]);
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ static void command_loop(int input_fd, int output_fd)
|
|||||||
}
|
}
|
||||||
/* Strip end of line characters. */
|
/* Strip end of line characters. */
|
||||||
i = strlen(buffer);
|
i = strlen(buffer);
|
||||||
while (isspace(buffer[i - 1]))
|
while (i > 0 && isspace(buffer[i - 1]))
|
||||||
buffer[--i] = 0;
|
buffer[--i] = 0;
|
||||||
|
|
||||||
if (!strcmp(buffer, "capabilities")) {
|
if (!strcmp(buffer, "capabilities")) {
|
||||||
@ -56,8 +56,8 @@ int cmd_remote_fd(int argc, const char **argv, const char *prefix)
|
|||||||
int output_fd = -1;
|
int output_fd = -1;
|
||||||
char *end;
|
char *end;
|
||||||
|
|
||||||
if (argc < 3)
|
if (argc != 3)
|
||||||
die("URL missing");
|
die("Expected two arguments");
|
||||||
|
|
||||||
input_fd = (int)strtoul(argv[2], &end, 10);
|
input_fd = (int)strtoul(argv[2], &end, 10);
|
||||||
|
|
||||||
|
@ -9,6 +9,11 @@
|
|||||||
#include "remote.h"
|
#include "remote.h"
|
||||||
#include "string-list.h"
|
#include "string-list.h"
|
||||||
|
|
||||||
|
#ifndef NO_PTHREADS
|
||||||
|
#include <pthread.h>
|
||||||
|
#include "thread-utils.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
static int debug;
|
static int debug;
|
||||||
|
|
||||||
struct helper_data
|
struct helper_data
|
||||||
|
Loading…
x
Reference in New Issue
Block a user