Blame


1 b09c1279 2023-03-28 stsp .\"
2 b09c1279 2023-03-28 stsp .\" Copyright (c) 2023 Stefan Sperling
3 b09c1279 2023-03-28 stsp .\"
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.
7 b09c1279 2023-03-28 stsp .\"
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.
15 b09c1279 2023-03-28 stsp .\"
16 b09c1279 2023-03-28 stsp .Dd $Mdocdate$
17 b09c1279 2023-03-28 stsp .Dt GITWRAPPER 1
18 b09c1279 2023-03-28 stsp .Os
19 b09c1279 2023-03-28 stsp .Sh NAME
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
29 b09c1279 2023-03-28 stsp and
30 b09c1279 2023-03-28 stsp .Xr git-receive-pack 1
31 b09c1279 2023-03-28 stsp which are part of the
32 b09c1279 2023-03-28 stsp .Xr git 1
33 b09c1279 2023-03-28 stsp suite.
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
36 b09c1279 2023-03-28 stsp .Xr git 1
37 b09c1279 2023-03-28 stsp compiled in.
38 b09c1279 2023-03-28 stsp .Pp
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 .
43 b09c1279 2023-03-28 stsp .Pp
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
48 b09c1279 2023-03-28 stsp and
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.
51 b09c1279 2023-03-28 stsp .Pp
52 b09c1279 2023-03-28 stsp Although having drop-in replacements for
53 b09c1279 2023-03-28 stsp .Xr git-upload-pack 1
54 b09c1279 2023-03-28 stsp and
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
58 afc4e030 2023-03-28 op .Pa /usr .
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
61 afc4e030 2023-03-28 op .Pa /usr .
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
65 afc4e030 2023-03-28 op .Pa /usr
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
68 afc4e030 2023-03-28 op .Pa /usr .
69 b09c1279 2023-03-28 stsp .Pp
70 b09c1279 2023-03-28 stsp The
71 b09c1279 2023-03-28 stsp .Nm
72 b09c1279 2023-03-28 stsp program is designed to replace
73 b09c1279 2023-03-28 stsp .Xr git-upload-pack 1
74 b09c1279 2023-03-28 stsp and
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
77 b09c1279 2023-03-28 stsp placed in
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
87 b09c1279 2023-03-28 stsp and
88 d7d615b6 2023-04-20 stsp .Xr git-receive-pack 1
89 d7d615b6 2023-04-20 stsp as found in Git's
90 d7d615b6 2023-04-20 stsp .Pa libexec
91 d7d615b6 2023-04-20 stsp directory, which is
92 d7d615b6 2023-04-20 stsp .Pa /usr/local/libexec/git/
93 d7d615b6 2023-04-20 stsp by default on
94 d7d615b6 2023-04-20 stsp .Ox .
95 afc4e030 2023-03-28 op .Sh ENVIRONMENT
96 afc4e030 2023-03-28 op .Bl -tag -width GOTD_CONF_PATH
97 afc4e030 2023-03-28 op .It Ev GOTD_CONF_PATH
98 afc4e030 2023-03-28 op Set the path to the configuration file for
99 afc4e030 2023-03-28 op .Xr gotd 8 .
100 afc4e030 2023-03-28 op If not specified, the default path
101 afc4e030 2023-03-28 op .Pa /etc/gotd.conf
102 afc4e030 2023-03-28 op will be used.
103 afc4e030 2023-03-28 op .El
104 b09c1279 2023-03-28 stsp .Sh FILES
105 b09c1279 2023-03-28 stsp Configuration for
106 b09c1279 2023-03-28 stsp .Xr gotd 8
107 b09c1279 2023-03-28 stsp is kept in
108 afc4e030 2023-03-28 op .Pa /etc/gotd.conf .
109 b09c1279 2023-03-28 stsp .Pp
110 b09c1279 2023-03-28 stsp .Pa git-upload-pack
111 b09c1279 2023-03-28 stsp and
112 b09c1279 2023-03-28 stsp .Pa git-receive-pack
113 b09c1279 2023-03-28 stsp are typically set up as a symlink to
114 b09c1279 2023-03-28 stsp .Nm
115 b09c1279 2023-03-28 stsp which is not usually invoked on its own.
116 b09c1279 2023-03-28 stsp .Sh SEE ALSO
117 b09c1279 2023-03-28 stsp .Xr got 1 ,
118 b09c1279 2023-03-28 stsp .Xr gotd.conf 5 ,
119 b09c1279 2023-03-28 stsp .Xr gotd 8 ,
120 b09c1279 2023-03-28 stsp .Xr mailwrapper 8
121 b09c1279 2023-03-28 stsp .Sh AUTHORS
122 b09c1279 2023-03-28 stsp .An Stefan Sperling Aq Mt stsp@openbsd.org
123 b09c1279 2023-03-28 stsp .Sh BUGS
124 afc4e030 2023-03-28 op The entire reason this program exists is a crock.
125 afc4e030 2023-03-28 op Instead, a command for invoking a Git server should be standardized or
126 afc4e030 2023-03-28 op the Git protocol should be changed to make the path to the program
127 afc4e030 2023-03-28 op discoverable by Git clients.