### This file controls the configuration of the FSFS filesystem.

[memcached-servers]
### These options name memcached servers used to cache internal FSFS
### data.  See https://www.danga.com/memcached/ for more information on
### memcached.  To use memcached with FSFS, run one or more memcached
### servers, and specify each of them as an option like so:
# first-server = 127.0.0.1:11211
# remote-memcached = mymemcached.corp.example.com:11212
### The option name is ignored; the value is of the form HOST:PORT.
### memcached servers can be shared between multiple repositories;
### however, if you do this, you *must* ensure that repositories have
### distinct UUIDs and paths, or else cached data from one repository
### might be used by another accidentally.  Note also that memcached has
### no authentication for reads or writes, so you must ensure that your
### memcached servers are only accessible by trusted users.

[caches]
### When a cache-related error occurs, normally Subversion ignores it
### and continues, logging an error if the server is appropriately
### configured (and ignoring it with file:// access).  To make
### Subversion never ignore cache errors, uncomment this line.
# fail-stop = true

[rep-sharing]
### To conserve space, the filesystem can optionally avoid storing
### duplicate representations.  This comes at a slight cost in
### performance, as maintaining a database of shared representations can
### increase commit times.  The space savings are dependent upon the size
### of the repository, the number of objects it contains and the amount of
### duplication between them, usually a function of the branching and
### merging process.
###
### The following parameter enables rep-sharing in the repository.  It can
### be switched on and off at will, but for best space-saving results
### should be enabled consistently over the life of the repository.
### 'svnadmin verify' will check the rep-cache regardless of this setting.
### rep-sharing is enabled by default.
# enable-rep-sharing = true

[deltification]
### To conserve space, the filesystem stores data as differences against
### existing representations.  This comes at a slight cost in performance,
### as calculating differences can increase commit times.  Reading data
### will also create higher CPU load and the data will be fragmented.
### Since deltification tends to save significant amounts of disk space,
### the overall I/O load can actually be lower.
###
### The options in this section allow for tuning the deltification
### strategy.  Their effects on data size and server performance may vary
### from one repository to another.  Versions prior to 1.8 will ignore
### this section.
###
### The following parameter enables deltification for directories. It can
### be switched on and off at will, but for best space-saving results
### should be enabled consistently over the life of the repository.
### Repositories containing large directories will benefit greatly.
### In rarely read repositories, the I/O overhead may be significant as
### cache hit rates will most likely be low
### directory deltification is disabled by default.
# enable-dir-deltification = false
###
### The following parameter enables deltification for properties on files
### and directories.  Overall, this is a minor tuning option but can save
### some disk space if you merge frequently or frequently change node
### properties.  You should not activate this if rep-sharing has been
### disabled because this may result in a net increase in repository size.
### property deltification is disabled by default.
# enable-props-deltification = false
###
### During commit, the server may need to walk the whole change history of
### of a given node to find a suitable deltification base.  This linear
### process can impact commit times, svnadmin load and similar operations.
### This setting limits the depth of the deltification history.  If the
### threshold has been reached, the node will be stored as fulltext and a
### new deltification history begins.
### Note, this is unrelated to svn log.
### Very large values rarely provide significant additional savings but
### can impact performance greatly - in particular if directory
### deltification has been activated.  Very small values may be useful in
### repositories that are dominated by large, changing binaries.
### Should be a power of two minus 1.  A value of 0 will effectively
### disable deltification.
### For 1.8, the default value is 1023; earlier versions have no limit.
# max-deltification-walk = 1023
###
### The skip-delta scheme used by FSFS tends to repeatably store redundant
### delta information where a simple delta against the latest version is
### often smaller.  By default, 1.8+ will therefore use skip deltas only
### after the linear chain of deltas has grown beyond the threshold
### specified by this setting.
### Values up to 64 can result in some reduction in repository size for
### the cost of quickly increasing I/O and CPU costs. Similarly, smaller
### numbers can reduce those costs at the cost of more disk space.  For
### rarely read repositories or those containing larger binaries, this may
### present a better trade-off.
### Should be a power of two.  A value of 1 or smaller will cause the
### exclusive use of skip-deltas (as in pre-1.8).
### For 1.8, the default value is 16; earlier versions use 1.
# max-linear-deltification = 16

[packed-revprops]
### This parameter controls the size (in kBytes) of packed revprop files.
### Revprops of consecutive revisions will be concatenated into a single
### file up to but not exceeding the threshold given here.  However, each
### pack file may be much smaller and revprops of a single revision may be
### much larger than the limit set here.  The threshold will be applied
### before optional compression takes place.
### Large values will reduce disk space usage at the expense of increased
### latency and CPU usage reading and changing individual revprops.  They
### become an advantage when revprop caching has been enabled because a
### lot of data can be read in one go.  Values smaller than 4 kByte will
### not improve latency any further and quickly render revprop packing
### ineffective.
### revprop-pack-size is 64 kBytes by default for non-compressed revprop
### pack files and 256 kBytes when compression has been enabled.
# revprop-pack-size = 64
###
### To save disk space, packed revprop files may be compressed.  Standard
### revprops tend to allow for very effective compression.  Reading and
### even more so writing, become significantly more CPU intensive.  With
### revprop caching enabled, the overhead can be offset by reduced I/O
### unless you often modify revprops after packing.
### Compressing packed revprops is disabled by default.
# compress-packed-revprops = false
