RE: [viewvc-users] Binary Files open in browser as garbage.

Raghu Kumar C <[email protected]>
Newsgroups gmane.comp.version-control.cvs.viewcvs.user
Message-ID <E812CE8265978344B7D5374A0924AF34025FE512@BLREX01.in.corp.tavant.com>
Michael,

	I have tried the below mentioned change. I get a page with a
download link, however the when I click on the download link the page
just refreshes instead of downloading. This happens in Firefox 3.0.7. On
IE 7.0 clicking on download link takes me to the parent directory.

I use the viewsvn template which has the "hide_binary_garbage" value set
to 1 by default. My viewvc.conf reads like this:

##----------------------------------------------------------------------
-----
##
## Configuration file for ViewVC
##
## Information on ViewVC is located at the following web site:
##     http://viewvc.org/
##
##----------------------------------------------------------------------
-----

##----------------------------------------------------------------------
-----
[general]

## cvs_roots: Specifies each of the CVS roots on your system and ##
assigns names to them. Each root should be given by a "name: path"
## value. Multiple roots should be separated by commas and can be ##
placed on separate lines.
##
## Example:
## cvs_roots = cvsroot: /opt/cvs/repos1,
##             anotherroot: /usr/local/cvs/repos2
##
#cvs_roots =

## svn_roots: Specifies each of the Subversion roots (repositories) on
## your system and assigns names to them. Each root should be given by
## a "name: path" value. Multiple roots should be separated by commas ##
and can be placed on separate lines.
##
## Example:
## svn_roots = svnrepos: /opt/svn/,
##             anotherrepos: /usr/local/svn/repos2
##
#svn_roots =

## root_parents:  Specifies a list of directories in which any number of
## repositories may reside.  Rather than force you to add a new entry ##
to 'cvs_roots' or 'svn_roots' each time you create a new repository, ##
ViewVC rewards you for organising all your repositories under a few ##
parent directories by allowing you to simply specifiy just those ##
parent directories.  ViewVC will then notice each repository in that ##
directory as a new root whose name is the subdirectory of the parent ##
path in which that repository lives.
##
## You can specify multiple parent paths separated by commas or new
lines.
##
## WARNING: these names can, of course, clash with names you have ##
defined in your cvs_roots or svn_roots configuration items.  If this ##
occurs, you can either rename the offending repository on disk, or ##
grant new names to the clashing item in cvs_roots or svn_roots.
## Each parent path is processed sequentially, so repositories under ##
later parent paths may override earlier ones.
##
## Example:
## root_parents = /opt/svn : svn,
##                /opt/cvs : cvs
##
#root_parents =

## default_root: This is the name of the default root.  Valid names ##
include those explicitly listed in the cvs_roots and svn_roots ##
configuration options, as well as those implicitly indicated by ##
virtue of being the basenames of repositories found in the ##
root_parents option locations.
##
## Note: This setting is ignored when root_as_url_component is enabled.
##
## Example:
## default_root = cvsroot
##
#default_root =

## mime_types_files: This is a list of pathnames to a set of MIME type
## mapping files to help ViewVC guess the correct MIME type of a ##
versioned file.  The pathnames listed here are specified in order of ##
authoritativeness either as absolute paths or relative to this ##
configuration file.
##
## As a convenience, ViewVC provides a MIME type mapping file ##
(mimetypes.conf) which is, by default, the preferred provider of ## MIME
type mapping answers, but which is also empty.  If you find ## that
ViewVC is unable to accurately guess MIME types based on the ##
extensions of some of your versioned files, you can add records of ##
your preferred mappings to the provided mimetypes.conf file (or to ##
your system's mapping files, if you wish).
##
## You might, for example, wish to have ViewVC also consult the mapping
## files provided by your operating system and Apache.
##
## Example:
## mime_types_files = mimetypes.conf,
##                    /etc/mime.types,
##                    /usr/local/apache2/conf/mime.types
##
#mime_types_files = mimetypes.conf
mime_types_files = mimetypes.conf,
		/etc/mime.types

## address: The address of the local repository maintainer.  (This ##
option is provided only as a convenience for ViewVC installations ##
which are using the default template set, where the value of this ##
option will be displayed in the footer of every ViewVC page.) ## ##
Example:
## address = [email protected]
##
#address =

## kv_files: Provides a mechanism for custom key/value pairs to be ##
available to templates.  These are stored in key/value (KV) files.
##
## The paths of the KV files are listed here, specified either as ##
absolute paths or relative to this configuration file.  The files ## use
the same format as this configuration file, containing one or ## more
user-defined sections, and user-defined options in those ## sections.
ViewVC makes these options available to template authors ## as:
##
##    kv.SECTION.OPTION
##
## Note that an option name can be dotted.  For example:
##
##    [my_images]
##    logos.small = /images/small-logo.png
##    logos.big = /images/big-logo.png
##
## Templates can use these with a directive like:
[kv.my_images.logos.small] ## ## Note that section names which are
common to multiple KV files will ## be merged.  If two files have a
[my_images] section, then the ## options in those two like-named
sections will be merged together.
## If two files have the same option name in a section, then one will ##
overwrite the other (and which one "wins" is unspecified).
##
## To further categorize the KV files, and how the values are provided
to ## the templates, a KV file name may be annotated with an additional
level ## of dotted naming. For example:
##
##    kv_files = [asf]kv/images.conf
##
## Assuming the same section as above, the template would refer to an
image ## using [kv.asf.my_images.logos.small] ## ## Lastly, it is
possible to use %lang% in the filenames to specify a ## substitution of
the selected language-tag.
##
## Example:
## kv_files = kv/file1.conf, kv/file2.conf, [i18n]kv/%lang%_data.conf ##
#kv_files = kv_files = kv/svn-authz.conf

## This option is a comma-separated list of language-tag values ##
available to ViewVC.  The first language-tag listed is the default ##
language, and will be used if an Accept-Language header is not ##
present in the request, or none of the user's requested languages ## are
available.  If there are ties on the selection of a language, ## then
the first to appear in the list is chosen.
##
## Example:
## languages = en-us, en-gb, de
##
#languages = en-us
languages = en-us


##----------------------------------------------------------------------
-----
[utilities]

## ViewVC uses (sometimes optionally) various third-party programs to do
some ## of the heavy lifting.  Generally, it will attempt to execute
those utility ## programs in such a way that if they are found in
ViewVC's executable ## search path ($PATH, %PATH%, etc.) all is well.
But sometimes these tools ## aren't installed in the executable search
path, so here's where you can ## tell ViewVC where to find them.
##
## NOTE:  Options with a "_dir" suffix are for configuring the
directories ## in which certain programs live; otherwise, the option
value should ## point to the actual program.


## rcs_dir: Directory in which the RCS utilities are installed, used ##
for viewing CVS repositories.
##
## Example:
## rcs_dir = /usr/bin/
##
#rcs_dir =

## cvsnt: Location of cvsnt program.  ViewVC can use CVSNT
(www.cvsnt.org) ## instead of the RCS utilities to retrieve information
from CVS ## repositories.  To enable use of CVSNT, set the "cvsnt" value
to the ## path of the CVSNT executable. (If CVSNT is on the standard
path, you ## can also set it to the name of the CVSNT executable). By
default ## "cvsnt" is set to "cvs" on Windows and is not set on other
platforms.
##
## Examples:
## cvsnt = K:\Program Files\cvsnt\cvs.exe ## cvsnt = /usr/bin/cvs ##
cvsnt = cvs ## #cvsnt =

## svn: Location of the Subversion command-line client, used for ##
viewing Subversion repositories.
##
## Example:
## svn = /usr/bin/svn
##
#svn =
svn = /usr/bin/svn

## diff: Location of the GNU diff program, used for showing file ##
version differences.
##
## Example:
## diff = /usr/bin/diff
##
#diff =
diff = /usr/bin/diff

## cvsgraph: Location of the CvsGraph program, a graphical CVS version
## graph generator (see options.use_cvsgraph).
##
## Example:
## cvsgraph = /usr/local/bin/cvsgraph
##
#cvsgraph =


##----------------------------------------------------------------------
-----
[options]

## root_as_url_component: Interpret the first path component in the URL
## after the script location as the root to use.  This is an ##
alternative to using the "root=" query key. If ViewVC is configured ##
with multiple repositories, this results in more natural looking ##
ViewVC URLs.
## Note: Enabling this option will break backwards compatibility with ##
any old ViewCVS URL which doesn't have an explicit "root" parameter.
##
#root_as_url_component = 1
root_as_url_component = 1

## checkout_magic: Use checkout links with magic /*checkout*/ prefixes
so ## checked out HTML pages can have working links to other repository
files ## Note: This option is DEPRECATED and should not be used in new
ViewVC ## installations. Setting "default_file_view = co" achieves the
same effect ## #checkout_magic = 0

## allowed_views: List the ViewVC views which are enabled.  Views not ##
in this comma-delited list will not be served (or, will return an ##
error on attempted access).
## Possible values: "annotate", "co", "diff", "markup", "roots", "tar"
##
#allowed_views = annotate, diff, markup, roots allowed_views = annotate,
diff, markup, roots

## authorizer: The name of the ViewVC authorizer plugin to use when ##
authorizing access to repository contents.  This value must be the ##
name of a Python module addressable as vcauth.MODULENAME (most ## easily
accomplished by placing it in ViewVC's lib/vcauth/ directory) ## and
which implements a ViewVCAuthorizer class (as a subclass of ##
vcauth.GenericViewVCAuthorizer).  You can provide custom parameters ##
to the authorizer module by defining configuration sections named ##
authz-MODULENAME and adding the parameter keys and values there.
##
## ViewVC provides the following modules:
##   svnauthz    - based on Subversion authz files
##   forbidden   - simple path glob matches against top-level root
directories
##   forbiddenre - root and path matches against regular expressions
##
## NOTE: Only one authorizer may be in use for a given ViewVC request.
## It doesn't matter if you configure the parameters of multiple ##
authorizer plugins -- only the authorizer whose name is configured ##
here (or effectively configured here via per-vhost or per-root ##
configuration) will be activated.
##
#authorizer =

## hide_cvsroot: Don't show the CVSROOT directory
##   1      Hide CVSROOT directory
##   0      Show CVSROOT directory
## NOTE: Someday this option may be removed in favor of letting ##
individual authorizer plugin hide the CVSROOT.
##
#hide_cvsroot = 1

## mangle_email_addresses: Mangle email addresses in marked-up output.
## There are various levels of mangling available:
##   0 - No mangling; markup un-mangled email addresses as hyperlinks
##   1 - Obfuscation (using entity encoding); no hyperlinking
##   2 - Data-dropping address truncation; no hyperlinking
## Note: this will not effect the display of versioned file contents,
only ## addresses that appear in version control metadata (e.g. log
messages).
##
#mangle_email_addresses = 0
mangle_email_addresses = 0

## default_file_view: "log", "co", or "markup"
## Controls whether the default view for file URLs is a checkout view or
## a log view. "log" is the default for backwards compatibility with old
## ViewCVS URLs, but "co" has the advantage that it allows ViewVC to
serve ## static HTML pages directly from a repository with working links
## to other repository files ## Note: Changing this option may break
compatibility with existing ## bookmarked URLs.
## Also note: If you choose one of the "co" or "markup" views, be sure
## to enable it (via the allowed_views option) ## #default_file_view =
log default_file_view = log

## http_expiration_time: Expiration time (in seconds) for cacheable ##
pages served by ViewVC.  Note that in most cases, a cache aware ##
client will only revalidate the page after it expires (using the ##
If-Modified-Since and/or If-None-Match headers) and that browsers ##
will also revalidate the page when the reload button is pressed.
## Set to 0 to disable the transmission of these caching headers.
##
#http_expiration_time = 600
http_expiration_time = 600

## generate_etags: Generate Etag headers for relevant pages to assist ##
in browser caching.
##   1      Generate Etags
##   0      Don't generate Etags
##
#generate_etags = 1
generate_etags = 1

## svn_ignore_mimetype: Don't consult the svn:mime-type property to ##
determine how to display a file in the markup view.  This is ##
especially helpful when versioned images carry the default ##
Subversion-calculated MIME type of "application/octet-stream" (which ##
isn't recognized as viewable type by browsers).
##
#svn_ignore_mimetype = 0
svn_ignore_mimetype = 0

## svn_config_dir: Path of the Subversion runtime configuration ##
directory ViewVC should consult for various things, including cached ##
remote authentication credentials.  If unset, Subversion will use ## the
default location(s) ($HOME/.subversion, etc.) ## #svn_config_dir = 

## use_rcsparse: Use the rcsparse Python module to retrieve CVS ##
repository information instead of invoking rcs utilities [EXPERIMENTAL]
## #use_rcsparse = 0

## sort_by: File sort order
##   file   Sort by filename
##   rev    Sort by revision number
##   date   Sort by commit date
##   author Sort by author
##   log    Sort by log message
##
#sort_by = file
sort_by = file

## sort_group_dirs: Group directories when sorting
##   1      Group directories together
##   0      No grouping -- sort directories as any other item would be
sorted
##
#sort_group_dirs = 1
sort_group_dirs = 1

## hide_attic: Hide or show the contents of the Attic subdirectory
##   1      Hide dead files inside Attic subdir
##   0      Show the files which are inside the Attic subdir
##
#hide_attic = 1

## hide_errorful_entries: Hide or show errorful directory entries ##
(perhaps due to not being readable, or some other rlog parsing ## error,
etc.)
##   1      Hide errorful entries from the directory display
##   0      Show errorful entries (with their errors) in the directory
display
##
#hide_errorful_entries = 0
hide_errorful_entries = 0

## log_sort: Sort order for log messages
##   date   Sort revisions by date
##   rev    Sort revision by revision number
##   none   Use the version control system's ordering
##
#log_sort = date
log_sort = none

## diff_format: Default diff format
##   h      Human readable
##   u      Unified diff
##   c      Context diff
##   s      Side by side
##   l      Long human readable (more context)
##   f      Full human readable (entire file)
##
#diff_format = h
diff_format = h

## hr_breakable: Diff view line breaks
##   1     lines break at spaces
##   0     no line breaking
## Or, use a positive integer > 1 to cut lines after that many
characters ## #hr_breakable = 1 hr_breakable = 50

## hr_funout: Give out function names in human readable diffs.
## (Only works well for C source files, otherwise diff's heuristic falls
short.) ## ('-p' option to diff) ## #hr_funout = 0

## hr_ignore_white: Ignore whitespace (indendation and stuff) for human
## readable diffs.
## ('-w' option to diff)
##
#hr_ignore_white = 0
hr_ignore_white = 0

## hr_ignore_keyword_subst: Ignore diffs which are caused by keyword ##
substitution (such as "$Id - Stuff").
## ('-kk' option to rcsdiff)
##
#hr_ignore_keyword_subst = 1

## hr_intraline: Enable highlighting of intraline changes in human ##
readable diffs.  [Requires Python 2.4] ## #hr_intraline = 0 hr_intraline
= 0

## allow_compress: Allow compression via gzip of output if the Browser
## accepts it (HTTP_ACCEPT_ENCODING contains "gzip").
##
## Note: this relies on Python's gzip module, which has proven to be ##
not-so-performant.  Enabling this feature should reduce the overall ##
transfer size of ViewVC's responses to the client's request, but ## will
do so with a speed penalty.
##
#allow_compress = 0

## template_dir: The directory which contains the EZT templates used by
## ViewVC to customize the display of the various output views.  ViewVC
## looks in this directory for files with names that match the name of
## the view ("log", "directory", etc.) plus the ".ezt" extension.  If ##
specified as a relative path, it is relative to the directory where ##
this config file resides; absolute paths may be used as well.  If ##
%lang% occurs in the pathname, then the selected language will be ##
substituted.
## See Also: the [templates] configuration section, where you can ##
override templates on a per-view basis.
##
#template_dir = templates
template_dir = /usr/local/viewvc/templates-contrib/viewsvn/templates

## docroot: Web path to a directory that contains ViewVC static files ##
(stylesheets, images, etc.)  If set, static files will get ## downloaded
directory from this location.  If unset, static files ## will be served
by the ViewVC script (at a likely performance ## penalty, and from the
"docroot" subdirectory of the directory ## specified by the
"template_dir" option).
##
#docroot = 

## show_subdir_lastmod: Show last changelog message for CVS
subdirectories ## NOTE: The current implementation makes many
assumptions and may show ## the incorrect file at some times. The main
assumption is that the ## last modified file has the newest filedate.
But some CVS operations ## touches the file without even when a new
version is not checked in, ## and TAG based browsing essentially puts
this out of order, unless ## the last checkin was on the same tag as you
are viewing.  Enable ## this if you like the feature, but don't rely on
correct results.
##
## ** WARNING: Enabling this will currently leak unauthorized path names
** ## #show_subdir_lastmod = 0

## show_logs: Show the most recent log entry in directory listings.
##
#show_logs = 1
show_logs = 1

## show_log_in_markup: Show log when viewing file contents.
##
#show_log_in_markup = 1
show_log_in_markup = 1

## cross_copies: Cross filesystem copies when traversing Subversion ##
file revision histories.
##
#cross_copies = 1
cross_copies = 1

## use_localtime: Display dates as UTC or in local time zone.
##
#use_localtime = 0
use_localtime = 1

## short_log_len: The length (in characters) to which the most recent ##
log entry should be truncated when shown in the directory view.
##
#short_log_len = 80
short_log_len = 80

## enable_syntax_coloration: Should we colorize known file content ##
syntaxes?  [Requires Pygments Python module] ##
#enable_syntax_coloration = 1 enable_syntax_coloration = 1

## detect_encoding: Should we attempt to detect versioned file ##
character encodings?  [Requires 'chardet' module, and is currently ##
used only by the syntax coloration logic -- if enabled -- for the ##
'markup' and 'annotate' views; see 'enable_syntax_coloration'.] ##
#detect_encoding = 0

## use_cvsgraph: Use CvsGraph to offer visual graphs of CVS revision
history.
##
#use_cvsgraph = 0

## cvsgraph_conf: Location of the customized cvsgraph configuration
file.
## May be specified as an absolute path or as a path relative to this ##
configuration file.
##
#cvsgraph_conf = cvsgraph.conf

## use_re_search: Enable regular expression search of files in a
directory.
##
## WARNING: Enabling this option can consume HUGE amounts of server ##
time. A "checkout" must be performed on *each* file in a directory, ##
and the result needs to be searched for a match against the regular ##
expression.
##
## SECURITY WARNING: Since a user can enter the regular expression, it
## is possible for them to enter an expression with many alternatives ##
and a lot of backtracking. Executing that search over thousands of ##
lines over dozens of files can easily tie up a server for a long ##
period of time.  This option should only be used on sites with ##
trusted users. It is highly inadvisable to use this on a public site.
##
#use_re_search = 0

## dir_pagesize: Maximum number of directory entries on a given page.
## This allows ViewVC to present discrete pages to the users instead of
## the entire directory.  Set to 0 to disable pagination.
##
#dir_pagesize = 0
dir_pagesize = 20

## log_pagesize: Maximum number of revision log entries on a given page.
## This allows ViewVC to present discrete pages to the users instead of
## the entire revision log.  Set to 0 to disable pagination.
##
#log_pagesize = 0
log_pagesize = 20

## limit_changes: Maximum number of changed paths shown per commit in ##
the Subversion revision view and in query results. This is not a ## hard
limit (the UI provides options to show all changed paths), but ## it
prevents ViewVC from generating enormous and hard to read pages ## by
default when they happen to contain import or merge commits ## affecting
hundreds or thousands of files.  Set to 0 to disable the ## limit.
##
#limit_changes = 100
limit_changes = 100

##----------------------------------------------------------------------
-----
[templates]

## You can override the templates used by various ViewVC views in this
## section.  By default, ViewVC will look for templates in the ##
directory specified by the "template_dir" configuration option (see ##
the documentation for that option for details).  But if you want to ##
use a different template for a particular view, simply uncomment the ##
appropriate option below and specify the currect location of the EZT ##
template file you wish to use for that view.
##
## Templates are specified relative to the configured template ##
directory (see the "template_dir" option), but absolute paths may ##
also be used as well.
##
## If %lang% occurs in the pathname, then the selected language will be
## substituted.
##
## Note: the selected language is defined by the "languages" item in the
##       [general] section, and based on the request's Accept-Language
##       header.
##

## diff: Template used for the file differences view.
##
#diff = 

## directory: Template used for the directory listing view.
##
#directory = 

## error: Template used for the ViewVC error display view.
##
#error = 

## file: Template used for the file contents/annotation view.
##
#file = 

## graph: Template used for the revision graph view.
##
#graph = 

## log: Template used for the revision log view.
##
#log = 

## query: Template used for the non-integrated query interface.
##
#query = 

## query_form: Template used for the query form view.
##
#query_form = 

## query_results: Template used for the query results view.
##
#query_results = 

## revision: Template used for the revision/changeset view.
##
#revision = 

## roots: Template used for the root listing view.
##
#roots = 

##----------------------------------------------------------------------
-----
[cvsdb]

## enabled: Enable database integration feature.
##
#enabled = 0

## host: Database hostname.  Leave unset to use a local Unix socket ##
connection.
##
#host = 

## post: Database listening port.
##
#port = 3306

## database_name: ViewVC database name.
##database_name = ViewVC

## user: Username of user with read/write privileges to the database ##
specified by the 'database_name' configuration option.
##
#user = 

## passwd: Password of user with read/write privileges to the database
## specified by the 'database_name' configuration option.
##
#passwd = 

## readonly_user: Username of user with read privileges to the database
## specified by the 'database_name' configuration option.
##
#readonly_user = 

## readonly_passwd: Password of user with read privileges to the
database ## specified by the 'database_name' configuration option.
##
#readonly_passwd = 

## row_limit: Maximum number of rows returned by a given normal query ##
to the database.
##
#row_limit = 1000

## rss_row_limit: Maximum number of rows returned by a given query to ##
the database made as part of an RSS feed request.  (Keeping in mind ##
that RSS readers tend to poll regularly for new data, you might want ##
to keep this set to a conservative number.) ## #rss_row_limit = 100

## check_database_for_root: Check if the repository is found in the ##
database before showing the query link and RSS feeds.
##
## WARNING: Enabling this check adds the cost of a database connection
## and query to most ViewVC requests.  If all your roots are represented
## in the commits database, or if you don't care about the creation of
## RSS and query links that might lead ultimately to error pages for ##
certain of your roots, or if you simply don't want to add this extra ##
cost to your ViewVC requests, leave this disabled.
##
#check_database_for_root = 0

##----------------------------------------------------------------------
-----
[vhosts]

## Virtual hosts are individual logical servers accessible via ##
different hostnames, but which are all really the same physical ##
computer.  For example, you might have your web server configured to ##
accept incoming traffic for both http://www.yourdomain.com/ and ##
http://viewvc.yourdomain.com/.  Users pointing their web browsers at ##
each of those two URLs might see entirely different content via one ##
URL versus the other, but all that content actually lives on the ## same
computer, is served up via the same web server, and so ## on.  It just
*looks* like its coming from multiple servers.
##
## ViewVC allows you to customize its configuration options for ##
individual virtual hosts.  You might, for example, wish to expose ## all
of your Subversion repositories at http://svn.yourdomain.com/viewvc/ ##
and all your CVS ones at http://cvs.yourdomain.com/viewvc/, with no ##
cross-exposure.  Using ViewVC's virtual host (vhost) configuration ##
support, you can do this.  Simply create two vhost configurations ##
(one for each of your hostnames), then configure the cvs_roots ## option
only for the vhost associated with cvs.yourdomain.com, and ## configure
the svn_roots option only for the vhost associated with ##
svn.yourdomain.com.
##
## This section is a freeform configuration section, where you create ##
both the option names and their values.  The names of the options ## are
then treated as canonical names of virtual hosts, and their ## values
are defined to be comma-delimited lists of hostname globs ## against
which incoming ViewVC requests will be matched to figure out ## which
vhost they apply to.
##
## After you've named and defined your vhosts, you may then create new
## configuration sections whose names are of the form ##
vhost-VHOSTNAME/CONFIGSECTION.  VHOSTNAME here is the canonical name ##
of one of the virtual hosts you defined under the [vhosts] section.
## Inside those configuration sections, you override the standard ##
ViewVC options typically found in the base configuration section ##
named CONFIGSECTION ("general", "option", etc.) ## ## Here is an
example:
##
## [vhosts]
## libs = libs.yourdomain.*, *.yourlibs.* ## gui =
guiproject.yourdomain.* ## ## [vhost-libs/general] ## cvs_roots = ##
svn_roots = svnroot: /var/svn/libs-repos ## default_root = svnroot ## ##
[vhost-libs/options] ## show_logs = 1 ## ## [vhost-gui/general] ##
cvs_roots = cvsroot: /var/cvs/guiproject ## svn_roots = ## default_root
= cvsroot ##

##----------------------------------------------------------------------
-----
## ViewVC recognizes per-root configuration overrides, too.  To ##
override the value of a configuration parameter only for a single ##
root, create a configuration section whose names is of the form ##
root-ROOTNAME/CONFIGSECTION.  ROOTNAME here is the name of the root ##
as defined explicitly in cvs_roots or svn_roots or implicitly as the ##
basename of a root path in root_parents.  Options found in this new ##
configuration section override for this one root the corresponding ##
options found in the base configuration section CONFIGSECTION ##
("options", "authz-*", etc.) ## ## Here is an example showing how to
enable Subversion authz-based ## authorization for only the single root
named "svnroot":
##
## [root-svnroot/options]
## authorizer = svnauthz
##
## [root-svnroot/authz-svnauthz]
## authzfile = /path/to/authzfile
##

##----------------------------------------------------------------------
-----
[authz-forbidden]

## The "forbidden" authorizer forbids access to repository modules, ##
defined to be top-level subdirectories in a repository.  You can use ##
a simple list of modules, or something more complex:
##
##   *) The "!" can be used before a module to explicitly state that it
##      is NOT forbidden. Whenever this form is seen, then all modules
will
##      be forbidden unless one of the "!" modules match.
##
##   *) Shell-style "glob" expressions may be used. "*" will match any
##      sequence of zero or more characters, "?" will match any single
##      character, "[seq]" will match any character in seq, and "[!seq]"
##      will match any character not in seq.
##
##   *) Tests are performed in sequence. The first match will terminate
the
##      testing. This allows for more complex allow/deny patterns.
##
## Tests are case-sensitive.
##
## NOTE: Again, this is for the hiding of modules within repositories,
*not* ## for the hiding of repositories (roots) themselves.
##
## Some examples:
##
##    Disallow "example" but allow all others:
##       forbidden = example
##
##    Disallow "example1" and "example2" but allow all others:
##       forbidden = example1, example2
##
##    Allow *only* "example1" and "example2":
##       forbidden = !example1, !example2
##
##    Forbid modules starting with "x":
##       forbidden = x*
##
##    Allow modules starting with "x" but no others:
##       forbidden = !x*
##
##    Allow "xml", forbid other modules starting with "x", and allow the
rest:
##       forbidden = !xml, x*, !*
##
#forbidden = 

##----------------------------------------------------------------------
-----
[authz-forbiddenre]

## The "forbiddenre" authorizer forbids access to repositories and ##
repository paths by comparing a list of regular expressions ##
(separated by commas) against paths consisting of the repository (or ##
root) name plus the path of the versioned file or directory to be ##
tested.  For example, to see if the user is authorized to see the ##
path "/trunk/www/index.html" in the repository whose root name is ##
"svnrepos", this authorizer will check the path ##
"svnrepos/trunk/www/index.html" against the list of forbidden ## regular
expressions.  Directory paths will be terminated by a forward ## slash.
##
## Like the "forbidden" authorizer...
##
##   *) The "!" can be used before a module to explicitly state that it
##      is NOT forbidden. Whenever this form is seen, then all modules
will
##      be forbidden unless one of the "!" modules match.
##
##   *) Tests are performed in sequence. The first match will terminate
the
##      testing. This allows for more complex allow/deny patterns.
##
## Unlike the "forbidden" authorizer, you can can use this to hide
roots, too.
##
## Some examples:
##
##    Disallow files named "PRIVATE", but allow all others:
##       forbiddenre = /PRIVATE$
##
##    Disallow the "hidden" repository, allowing all others:
##       forbiddenre = ^hidden(/|$)
##
##    Allow only the "example1" and "example2" roots and the paths
inside them,
##    disallowing all others (which can be done in multiple ways):
##       forbiddenre = !^example1(/|$), !^example2(/|$)/
##       forbiddenre = !^example[12](/|$)
##
##    Only allow visibility of HTML files and the directories that hold
them:
##       forbiddenre = !^([^/]+|.*(/|\.html))$
##
#forbiddenre = 

##----------------------------------------------------------------------
-----
[authz-svnauthz]

## The "svnauthz" authorizer uses a Subversion authz configuration file
## to determine access to repository paths.

## authzfile: Specifies the location of the authorization rules file ##
(using an absolute path).
##
#authzfile =

## force_username_case: Like the AuthzForceUsernameCase httpd.conf ##
directive, set this to "upper" or "lower" to force the normalization ##
to upper- or lower-case, respectively, of incoming usernames prior ## to
comparison against the authorization rules files.  Leave the ## option
unset to preserve the username case.
##
#force_username_case = 

##----------------------------------------------------------------------
-----

[general]

svn_roots= adchemyextranet: /svn/repositories/xxxx,
/svn/repositories/yyy,
/svn/repositories/zzz

##----------------------------------------------------------------------
------

Regards,
Raghu







> -----Original Message-----
> From: C. Michael Pilato [mailto:[email protected]]
> Sent: Monday, August 24, 2009 20:58 PM
> To: Raghu Kumar C
> Cc: [email protected]
> Subject: Re: [viewvc-users] Binary Files open in browser as garbage.
> 
> Raghu Kumar C wrote:
> > Hi,
> >
> > 	How can I disable binary files being displayed as garbage in
> > browser?
> 
> Beginning in ViewVC 1.1.2, you should be able to make a small template
> change to accomplish this.  At the top of the templates/file.ezt file,
> you'll see this:
> 
>   [#
------------------------------------------------------------------------
- ]
>   [# CUSTOMIZE ME: To avoid displaying "binary garbage" -- the
contents of     ]
>   [# files with non-human-readable file formats -- change the value of
the     ]
>   [# hide_binary_garbage variable below to 1.
]
>   [#
------------------------------------------------------------------------
- ]
> 
>   [define hide_binary_garbage]0[end]
> 
> Simply change that last line to:
> 
>   [define hide_binary_garbage]1[end]
> 
> and ViewVC should start hiding file content for files it doesn't
believe are
> human-readable (based on their calculated MIME type), and will instead
show
> a link to the "download" view of that file.
> 
> --
> C. Michael Pilato <[email protected]>
> CollabNet   <>   www.collab.net   <>   Distributed Development On
Demand

Webinar: increase profitability and cut warranty spend. Visit www.tavant.com/webinar.url

Any comments or statements made in this email are not necessarily those of Tavant Technologies.
The information transmitted is intended only for the person or entity to which it is addressed and may 
contain confidential and/or privileged material. If you have received this in error, please contact the 
sender and delete the material from any computer. All e-mails sent from or to Tavant Technologies 
may be subject to our monitoring procedures.

------------------------------------------------------
http://viewvc.tigris.org/ds/viewMessage.do?dsForumId=4255&dsMessageId=2387012

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.