Browse Source

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>
maint
Ilari Liusvaara 14 years ago committed by Junio C Hamano
parent
commit
7851b1e60f
  1. 10
      Documentation/git-remote-ext.txt
  2. 10
      Documentation/git-remote-fd.txt
  3. 8
      builtin/remote-ext.c
  4. 6
      builtin/remote-fd.c
  5. 5
      transport-helper.c

10
Documentation/git-remote-ext.txt

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

10
Documentation/git-remote-fd.txt

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

8
builtin/remote-ext.c

@ -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]);
} }

6
builtin/remote-fd.c

@ -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);



5
transport-helper.c

@ -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…
Cancel
Save