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 beports
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<' .