Blame


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