HTTP/2 302
server: nginx
date: Mon, 22 Dec 2025 04:33:55 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20060612231107
location: https://web.archive.org/web/20060612231107/https://viewcvs.sourceforge.net/
server-timing: captures_list;dur=0.497384, exclusion.robots;dur=0.032085, exclusion.robots.policy;dur=0.023273, esindex;dur=0.010003, cdx.remote;dur=16.476780, LoadShardBlock;dur=150.802931, PetaboxLoader3.datanode;dur=81.864203, PetaboxLoader3.resolve;dur=9.557343
x-app-server: wwwb-app211-dc8
x-ts: 302
x-tr: 192
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app211; path=/
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 302
server: nginx
date: Mon, 22 Dec 2025 04:33:56 GMT
content-type: text/html; charset=iso-8859-1
x-archive-orig-date: Mon, 12 Jun 2006 23:11:07 GMT
x-archive-orig-server: Apache/1.3.33 (Unix) PHP/4.3.10
location: https://web.archive.org/web/20060612231107/https://www.viewvc.org/
x-archive-orig-connection: close
cache-control: max-age=1800
memento-datetime: Mon, 12 Jun 2006 23:11:07 GMT
link:
; rel="original",
; rel="timemap"; type="application/link-format",
; rel="timegate"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 26_0_20060612222616_crawl23-c/26_0_20060612231024_crawl30.arc.gz
server-timing: captures_list;dur=0.545805, exclusion.robots;dur=0.018790, exclusion.robots.policy;dur=0.008518, esindex;dur=0.009923, cdx.remote;dur=18.953816, LoadShardBlock;dur=364.953012, PetaboxLoader3.datanode;dur=400.617547, load_resource;dur=119.364227, PetaboxLoader3.resolve;dur=69.084606
x-app-server: wwwb-app211-dc8
x-ts: 302
x-tr: 528
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 302
server: nginx
date: Mon, 22 Dec 2025 04:33:57 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20060613040608
location: https://web.archive.org/web/20060613040608/https://www.viewvc.org/
server-timing: captures_list;dur=0.399404, exclusion.robots;dur=0.014421, exclusion.robots.policy;dur=0.007012, esindex;dur=0.008550, cdx.remote;dur=7.256127, LoadShardBlock;dur=178.477486, PetaboxLoader3.datanode;dur=65.096556, PetaboxLoader3.resolve;dur=60.456298
x-app-server: wwwb-app211-dc8
x-ts: 302
x-tr: 234
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Mon, 22 Dec 2025 04:33:57 GMT
content-type: text/html
x-archive-orig-date: Tue, 13 Jun 2006 04:06:08 GMT
x-archive-orig-server: Apache/2.2.2 (Unix) mod_ssl/2.2.2 OpenSSL/0.9.8b DAV/2 SVN/1.3.2 PHP/5.1.4
x-archive-orig-last-modified: Sun, 09 Apr 2006 17:00:13 GMT
x-archive-orig-etag: "16ac0af-165b-411026c64e140"
x-archive-orig-accept-ranges: bytes
x-archive-orig-content-length: 5723
x-archive-orig-connection: close
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Tue, 13 Jun 2006 04:06:08 GMT
link:
; rel="original",
; rel="timemap"; type="application/link-format",
; rel="timegate"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 26_0_20060613033103_crawl23-c/26_0_20060613040455_crawl23.arc.gz
server-timing: captures_list;dur=0.497365, exclusion.robots;dur=0.014333, exclusion.robots.policy;dur=0.005973, esindex;dur=0.008583, cdx.remote;dur=6.415757, LoadShardBlock;dur=76.264040, PetaboxLoader3.datanode;dur=102.938168, PetaboxLoader3.resolve;dur=54.307079, load_resource;dur=91.328949
x-app-server: wwwb-app211-dc8
x-ts: 200
x-tr: 213
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
ViewVC: Repository Browsing
On this page:
ViewVC Users Group
What Is ViewVC?
ViewVC is a browser interface for CVS and Subversion version
control repositories. It generates templatized HTML to present
navigable directory, revision, and change log listings. It can
display specific versions of files as well as diffs between those
versions. Basically, ViewVC provides the bulk of the report-like
functionality you expect out of your version control tool, but much
more prettily than the average textual command-line program
output.
Here are some of the additional features of ViewVC:
Support for filesystem-accessible CVS and Subversion repositories.
Individually configurable virtual host support.
Line-based annotation/blame display.
Revision graph capabilities (via integration with CvsGraph )
(CVS only ).
Syntax highlighting support (via integration with GNU
enscript or
Highlight ).
Bonsai -like
repository query facilities.
Template-driven output generation.
Colorized, side-by-side differences.
Tarball generation (by tag/branch for CVS, by revision for
Subversion).
I18N support based on the Accept-Language request header.
Ability to run either as CGI script or as a standalone
server.
Regexp-based file searching.
INI-like configuration file (as opposed to requiring actual code
tweaks).
For a complete list of changes present in each release, see
ViewVC's CHANGES file.
Requirements
The only hard software requirement for running ViewVC is Python 1.5.2 or later. All other
requirements depend on what you want to do with the tool.
If you plan to use ViewVC with CVS repositories, you need the
following things:
RCS
(Revision Control System)
GNU
diff
Read-only, physical access to a CVS repository.
For use with Subversion repositories, you need these things:
Subversion 1.2 or
later and its SWIG Python bindings.
GNU
diff
Physical access to a Subversion repository (though there is
limited, use-at-your-risk support for remote access, too).
ViewVC integrates with additional pieces of software to provide
certain bits of optional functionality:
MySQL — Needed to use
the commit database query functionality.
GNU
enscript — Needed for syntax highlighting in versioned
file contents displays
CvsGraph
— Needed for version graph displays.
Apache HTTP Server , or
another server capable of running CGI programs — unless
you just want ViewVC to run in standalone server mode.
Future Plans
ViewVC is an Open Source project. So any future development
depends on the contributions that
will be made by its user community. Certainly working patches have
a greater chance to become realized quickly than feature requests,
but please don't hesitate to submit your suggestions to our issue
tracker .
Some things we're thinking about include:
UI streamlining/simplification.
Integration with CVS and Subversion commit mail scripts.
Integration with an indexer such as LXR.