2 b09c1279 2023-03-28 stsp .\" Copyright (c) 2023 Stefan Sperling
4 b09c1279 2023-03-28 stsp .\" Permission to use, copy, modify, and distribute this software for any
5 b09c1279 2023-03-28 stsp .\" purpose with or without fee is hereby granted, provided that the above
6 b09c1279 2023-03-28 stsp .\" copyright notice and this permission notice appear in all copies.
8 b09c1279 2023-03-28 stsp .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 b09c1279 2023-03-28 stsp .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 b09c1279 2023-03-28 stsp .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 b09c1279 2023-03-28 stsp .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 b09c1279 2023-03-28 stsp .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 b09c1279 2023-03-28 stsp .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 b09c1279 2023-03-28 stsp .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 b09c1279 2023-03-28 stsp .Dd $Mdocdate$
17 b09c1279 2023-03-28 stsp .Dt GITWRAPPER 1
20 b09c1279 2023-03-28 stsp .Nm gitwrapper
21 b09c1279 2023-03-28 stsp .Nd invoke an appropriate Git repository server
22 b09c1279 2023-03-28 stsp .Sh SYNOPSIS
23 b09c1279 2023-03-28 stsp .Nm Fl c Sq Cm git-receive-pack Ar repository-path
24 b09c1279 2023-03-28 stsp .Nm Fl c Sq Cm git-upload-pack Ar repository-path
25 b09c1279 2023-03-28 stsp .Sh DESCRIPTION
26 b09c1279 2023-03-28 stsp At one time, the only Git repository server software easily available
27 b09c1279 2023-03-28 stsp was built into
28 b09c1279 2023-03-28 stsp .Xr git-upload-pack 1
30 b09c1279 2023-03-28 stsp .Xr git-receive-pack 1
31 b09c1279 2023-03-28 stsp which are part of the
34 b09c1279 2023-03-28 stsp As a result of this, most Git client implementations had the path and
35 b09c1279 2023-03-28 stsp calling conventions expected by
37 b09c1279 2023-03-28 stsp compiled in.
39 afc4e030 2023-03-28 op Times have changed, however.
40 afc4e030 2023-03-28 op On a modern system, the administrator may wish to use one of several
41 afc4e030 2023-03-28 op available Git repository servers, such as
42 b09c1279 2023-03-28 stsp .Xr gotd 8 .
44 b09c1279 2023-03-28 stsp It would be difficult to modify all Git client software typically available
45 b09c1279 2023-03-28 stsp on a system, so most of the authors of alternative Git servers have written
46 b09c1279 2023-03-28 stsp their programs so that they use the same calling conventions as
47 b09c1279 2023-03-28 stsp .Xr git-upload-pack 1
49 b09c1279 2023-03-28 stsp .Xr git-receive-pack 1
50 b09c1279 2023-03-28 stsp and may be put into place in their stead.
52 b09c1279 2023-03-28 stsp Although having drop-in replacements for
53 b09c1279 2023-03-28 stsp .Xr git-upload-pack 1
55 b09c1279 2023-03-28 stsp .Xr git-receive-pack 1
56 b09c1279 2023-03-28 stsp helps in installing alternative Git servers, it essentially makes the
57 afc4e030 2023-03-28 op configuration of the system depend on hard installing new programs in
59 b09c1279 2023-03-28 stsp This leads to configuration problems for many administrators, since they may
60 afc4e030 2023-03-28 op wish to install a new Git server without altering the system provided
62 b09c1279 2023-03-28 stsp (This may be, for example, to avoid having upgrade problems when a new
63 afc4e030 2023-03-28 op version of the system is installed over the old.)
64 afc4e030 2023-03-28 op They may also have a shared
66 afc4e030 2023-03-28 op among several machines, and may wish to avoid placing implicit
67 afc4e030 2023-03-28 op configuration information in a read-only
72 b09c1279 2023-03-28 stsp program is designed to replace
73 b09c1279 2023-03-28 stsp .Xr git-upload-pack 1
75 b09c1279 2023-03-28 stsp .Xr git-receive-pack 1
76 b09c1279 2023-03-28 stsp and to invoke an appropriate Git server based on configuration information
78 b09c1279 2023-03-28 stsp .Xr gotd.conf 5 .
79 b09c1279 2023-03-28 stsp This permits the administrator to configure which Git server is to be
80 b09c1279 2023-03-28 stsp invoked on the system at run-time.
81 b09c1279 2023-03-28 stsp Git repositories which are listed in
82 b09c1279 2023-03-28 stsp .Xr gotd.conf 5
83 b09c1279 2023-03-28 stsp and exist on the filesystem will be served by
84 b09c1279 2023-03-28 stsp .Xr gotsh 1 .
85 b09c1279 2023-03-28 stsp Any other Git repositories will be served by
86 b09c1279 2023-03-28 stsp .Xr git-upload-pack 1
88 b09c1279 2023-03-28 stsp .Xr git-receive-pack 1 .
89 afc4e030 2023-03-28 op .Sh ENVIRONMENT
90 afc4e030 2023-03-28 op .Bl -tag -width GOTD_CONF_PATH
91 afc4e030 2023-03-28 op .It Ev GOTD_CONF_PATH
92 afc4e030 2023-03-28 op Set the path to the configuration file for
94 afc4e030 2023-03-28 op If not specified, the default path
95 afc4e030 2023-03-28 op .Pa /etc/gotd.conf
99 b09c1279 2023-03-28 stsp Configuration for
102 afc4e030 2023-03-28 op .Pa /etc/gotd.conf .
104 b09c1279 2023-03-28 stsp .Pa git-upload-pack
106 b09c1279 2023-03-28 stsp .Pa git-receive-pack
107 b09c1279 2023-03-28 stsp are typically set up as a symlink to
109 b09c1279 2023-03-28 stsp which is not usually invoked on its own.
110 b09c1279 2023-03-28 stsp .Sh SEE ALSO
111 b09c1279 2023-03-28 stsp .Xr got 1 ,
112 b09c1279 2023-03-28 stsp .Xr gotd.conf 5 ,
113 b09c1279 2023-03-28 stsp .Xr gotd 8 ,
114 b09c1279 2023-03-28 stsp .Xr mailwrapper 8
115 b09c1279 2023-03-28 stsp .Sh AUTHORS
116 b09c1279 2023-03-28 stsp .An Stefan Sperling Aq Mt stsp@openbsd.org
118 afc4e030 2023-03-28 op The entire reason this program exists is a crock.
119 afc4e030 2023-03-28 op Instead, a command for invoking a Git server should be standardized or
120 afc4e030 2023-03-28 op the Git protocol should be changed to make the path to the program
121 afc4e030 2023-03-28 op discoverable by Git clients.