.\" $Id: cvsweb.8,v 4.1 2019/11/30 14:26:04 schwarze Exp $ .\" .\" Copyright (c) 2019 Ingo Schwarze .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .Dd $Mdocdate: November 30 2019 $ .Dt CVSWEB 8 .Os .Sh NAME .Nm cvsweb .Nd CGI program to browse CVS repositories .Sh DESCRIPTION The kind of page generated by .Nm is determined by the .Ev PATH_INFO , which is looked up relative to the cvsroot. If it is the name of a directory, files and subdirectories in that directory are listed. If it is the name of an ordinary file, behaviour depends on the .Ev QUERY_STRING variables passed: .Bl -bullet .It With .Va rev , the content of the specified revision of the file is shown. .It With .Va annotate , each line of the file is annotated with the revision number and date of the last change. .It With .Va r1 and .Va r2 , the differences between the two specified revisions are listed. .It Otherwise, the commit log of the file is shown. .El .\" XXX Special cases, maybe describe later: tarball, .diff, Attic, module .\" XXX .Ss QUERY_STRING variables .\" XXX .Ss Setup .Sh ENVIRONMENT The web server may pass the following CGI variables to .Nm : .Bl -tag -width Ds .It Ev SCRIPT_NAME The initial part of the URI passed from the client to the server, starting after the server's host name and ending before .Ev PATH_INFO . It is used to construct HTML hyperlinks and HTTP redirect targets. .It Ev PATH_INFO The final part of the URI path passed from the client to the server, starting after the .Ev SCRIPT_NAME and ending before the .Ev QUERY_STRING . It is interpreted as a file or directory name relative to the cvsroot. .It Ev QUERY_STRING The HTTP query string passed from the client to the server. It is the final part of the URI, after the question mark. The variables contained in it determine the kind of output produced by .Nm . .It Ev HTTP_ACCEPT_ENCODING If this variable contains the substring .Qq gzip , the HTTP header .Dq Content-Encoding: gzip is enabled for some browsers. .It Ev HTTP_USER_AGENT If the browser identification string sent by the client indicates a browser that cannot display images, no HTML hyperlinks are attached to .Pf < Ic img Ns > elements. .It Ev MOD_PERL If set, .Dq Content-Encoding: gzip is never used. .El .Pp The following variable is passed to child processes: .Bl -tag -width Ds .It Ev CVSREADONLYFS No = 1 With .Xr cvs 1 versions 1.12.1 and newer, this setting helps to achieve read only access to the repositories. With other versions, it does no harm. .El .\" XXX .Sh FILES .Sh SEE ALSO .Xr cvs 1 , .Xr cvsweb.conf 5 .Sh HISTORY The .Nm program was first used on .Pa www.freebsd.org in 1996 and on .Pa www.openbsd.org in 1997. .Sh AUTHORS .An -nosplit The .Nm program was originally developed by .An Bill Fenner Aq Mt fenner@freebsd.org and maintained and extended by .An Henner Zeller , .An Henrik Nordstr\(:om , .An Wolfram Schneider Aq Mt wosch@freebsd.org , and in particular by .An Akinori MUSHA Aq Mt knu@freebsd.org and .An Ville Skytt\(:a Aq Mt scop@freebsd.org . It is currently maintained by .An Ingo Schwarze Aq Mt schwarze@openbsd.org .