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

"C. Michael Pilato" <[email protected]>
Newsgroups gmane.comp.version-control.cvs.viewcvs.user
Organization CollabNet, Inc.
Message-ID <[email protected]>
Do you have "co" in your list of "allowed_views" in viewvc.conf?  I wonder
if the template is trying to point folks to a view that you've disabled.


Raghu Kumar C wrote:
> Sorry, I forgot to attach the image.
> 
>> -----Original Message-----
>> From: Raghu Kumar C
>> Sent: Tuesday, August 25, 2009 16:33 PM
>> To: 'C. Michael Pilato'
>> Cc: [email protected]
>> Subject: RE: [viewvc-users] Binary Files open in browser as garbage.
>>
>> 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.
> 
> 
> ------------------------------------------------------------------------
> 


-- 
C. Michael Pilato <[email protected]>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

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

To unsubscribe from this discussion, e-mail: [[email protected]].
signature.asc (application/pgp-signature, 197 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkqT8YUACgkQokEGqRcG/W75wQCeJHAMtQ6EnBuyt76upKH3hhd+
OvUAoJtrzt2zCg+fWXsnTEC0w3gWHF6J
=0gjc
-----END PGP SIGNATURE-----
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.