=Name
portvcs--FreeBSD ports commits history viewer that doesn't require neither local ports tree nor CVS checkouts.
==Synopsis
portvcs [options] category/port
==Description
The portvcs utility connects to a remote VCS (Version Control System) server and grabs the history of commits.
At the time of writing FreeBSD uses CVS (jeez) for its ports collection, so portvcs (with default configuration) connects to well-known French CVS server via TCP port 2401 and reads the logs of a particular port. By default the utility constrains the history to 1 year but that's easy changeable via -d CL (command line) option.
portvcs isn't restricted to FreeBSD ports--it can read logs from (probably) any CVS server but in that case its usefulness is very doubtful.
The options are as follows:
- --ports-tree-local DIR
Set this if you have the ports tree directory in an unusual place.
- --config-dirs
List all possible locations for the configuration file. The first found wins.
- --config NAME
The name of the configuration file. If it contains / in it, the list from --config-dirs is ignored.
- -d EXP
Passes the EXP to VCS server to set limits for the logs. Usually it's something like '2 months ago<'. For all possible values, read the help for the option -d in cvs help for its log command, e.g, type:
% info -n '(cvs)log options'
- --host STR
A hostname of a remote server.
- --port N
A port number (default is 2401) of the remote server.
- --user STR
A user name on the remote server.
- --pass STR
A password for the user on the remote server.
- --cvsroot DIR
CVSROOT on a remote server.
- --ports-tree DIR
A directory that follows CVSROOT and serves as a ports tree. For example, CVSROOT can be /home/ncvs and the ports directory can be ports or may be empty at all.
- --vcs-version
Just get version of a remote VCS server and exit.
- --cvs-pass-scramble STR
A handy option for encrypting...
- --cvs-pass-descramble STR
... and decrypting CVS passwords.
- -V
Show portvcs version and exit.
- -v
Be more verbose. You can supply it several times, viz. -vv dumps even more debug info.
==Configuration
portvcs looks for its configuration at 3 places at start up.
-
At PORTVCS_CONF env variable. (Its format is exactly similar to CL options.)
-
At the configuration file. Its default name is portvcs.yaml and it can be stored in several system directories which are observable by --config--dirs CL option.
-
At command line.
Higher number levels overrides the values from lower number levels.
The configuration file must be in YAML format. Look into gem env gemdir/gems/portvcs-x.y.z/etc/ directory for samples.
==Environment
- PAGER
Output from the VCS server goes here.
- PORTVCS_CONF
See Configuration.
==Examples
% portvcs www/firefox % portvcs /usr/ports/www/firefox % portvcs www/firefox/files/patch-configure.in
% pwd /usr/ports/x11-toolkits/gtk20 % portvcs Makefile % portvcs files/patch-gtk_gtksignal.h % portvcs -d '3 month ago<' .