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 5dcb3a43 2023-04-01 thomas Times have changed, however. On a modern system, the administrator may
40 5dcb3a43 2023-04-01 thomas wish to use one of several available Git repository servers, such as
41 5dcb3a43 2023-04-01 thomas .Xr gotd 8 .
42 5dcb3a43 2023-04-01 thomas .Pp
43 5dcb3a43 2023-04-01 thomas It would be difficult to modify all Git client software typically available
44 5dcb3a43 2023-04-01 thomas on a system, so most of the authors of alternative Git servers have written
45 5dcb3a43 2023-04-01 thomas their programs so that they use the same calling conventions as
46 5dcb3a43 2023-04-01 thomas .Xr git-upload-pack 1
47 5dcb3a43 2023-04-01 thomas and
48 5dcb3a43 2023-04-01 thomas .Xr git-receive-pack 1
49 5dcb3a43 2023-04-01 thomas and may be put into place in their stead.
50 5dcb3a43 2023-04-01 thomas .Pp
51 5dcb3a43 2023-04-01 thomas Although having drop-in replacements for
52 5dcb3a43 2023-04-01 thomas .Xr git-upload-pack 1
53 5dcb3a43 2023-04-01 thomas and
54 5dcb3a43 2023-04-01 thomas .Xr git-receive-pack 1
55 5dcb3a43 2023-04-01 thomas helps in installing alternative Git servers, it essentially makes the
56 5dcb3a43 2023-04-01 thomas configuration of the system depend on hard installing new programs in /usr.
57 5dcb3a43 2023-04-01 thomas This leads to configuration problems for many administrators, since they may
58 5dcb3a43 2023-04-01 thomas wish to install a new Git server without altering the system provided /usr.
59 5dcb3a43 2023-04-01 thomas (This may be, for example, to avoid having upgrade problems when a new
60 5dcb3a43 2023-04-01 thomas version of the system is installed over the old.) They may also have a
61 5dcb3a43 2023-04-01 thomas shared /usr among several machines, and may wish to avoid placing implicit
62 5dcb3a43 2023-04-01 thomas configuration information in a read-only /usr.
63 5dcb3a43 2023-04-01 thomas .Pp
64 5dcb3a43 2023-04-01 thomas The
65 5dcb3a43 2023-04-01 thomas .Nm
66 5dcb3a43 2023-04-01 thomas program is designed to replace
67 5dcb3a43 2023-04-01 thomas .Xr git-upload-pack 1
68 5dcb3a43 2023-04-01 thomas and
69 5dcb3a43 2023-04-01 thomas .Xr git-receive-pack 1
70 5dcb3a43 2023-04-01 thomas and to invoke an appropriate Git server based on configuration information
71 5dcb3a43 2023-04-01 thomas placed in
72 5dcb3a43 2023-04-01 thomas .Xr gotd.conf 5 .
73 5dcb3a43 2023-04-01 thomas This permits the administrator to configure which Git server is to be
74 5dcb3a43 2023-04-01 thomas invoked on the system at run-time.
75 5dcb3a43 2023-04-01 thomas Git repositories which are listed in
76 5dcb3a43 2023-04-01 thomas .Xr gotd.conf 5
77 5dcb3a43 2023-04-01 thomas and exist on the filesystem will be served by
78 5dcb3a43 2023-04-01 thomas .Xr gotsh 1 .
79 5dcb3a43 2023-04-01 thomas Any other Git repositories will be served by
80 5dcb3a43 2023-04-01 thomas .Xr git-upload-pack 1
81 5dcb3a43 2023-04-01 thomas and
82 5dcb3a43 2023-04-01 thomas .Xr git-receive-pack 1 .
83 5dcb3a43 2023-04-01 thomas .Sh FILES
84 5dcb3a43 2023-04-01 thomas Configuration for
85 5dcb3a43 2023-04-01 thomas .Xr gotd 8
86 5dcb3a43 2023-04-01 thomas is kept in
87 5dcb3a43 2023-04-01 thomas .Pa /etc/gotd.conf.
88 5dcb3a43 2023-04-01 thomas .Pp
89 5dcb3a43 2023-04-01 thomas .Pa git-upload-pack
90 5dcb3a43 2023-04-01 thomas and
91 5dcb3a43 2023-04-01 thomas .Pa git-receive-pack
92 5dcb3a43 2023-04-01 thomas are typically set up as a symlink to
93 5dcb3a43 2023-04-01 thomas .Nm
94 5dcb3a43 2023-04-01 thomas which is not usually invoked on its own.
95 5dcb3a43 2023-04-01 thomas .Sh ENVIRONMENT
96 5dcb3a43 2023-04-01 thomas .Bl -tag -width GOTD_CONF_PATH
97 5dcb3a43 2023-04-01 thomas .It Ev GOTD_CONF_PATH
98 5dcb3a43 2023-04-01 thomas Set the path to the configuration file for
99 5dcb3a43 2023-04-01 thomas .Xr gotd 8 .
100 5dcb3a43 2023-04-01 thomas If not specified, the default path
101 5dcb3a43 2023-04-01 thomas .Pa /etc/gotd.conf
102 5dcb3a43 2023-04-01 thomas will be used.
103 5dcb3a43 2023-04-01 thomas .El
104 5dcb3a43 2023-04-01 thomas .Sh SEE ALSO
105 5dcb3a43 2023-04-01 thomas .Xr got 1 ,
106 5dcb3a43 2023-04-01 thomas .Xr gotd.conf 5 ,
107 5dcb3a43 2023-04-01 thomas .Xr gotd 8 ,
108 5dcb3a43 2023-04-01 thomas .Xr mailwrapper 8
109 5dcb3a43 2023-04-01 thomas .Sh AUTHORS
110 5dcb3a43 2023-04-01 thomas .An Stefan Sperling Aq Mt stsp@openbsd.org
111 5dcb3a43 2023-04-01 thomas .Sh BUGS
112 5dcb3a43 2023-04-01 thomas The entire reason this program exists is a crock. Instead, a command for
113 5dcb3a43 2023-04-01 thomas invoking a Git server should be standardized or the Git protocol should
114 5dcb3a43 2023-04-01 thomas be changed to make the path to the program discoverable by Git clients.