Skip to content

Commit

Permalink
merge in billsacks:svn_testing_no_github
Browse files Browse the repository at this point in the history
  • Loading branch information
jedwards4b committed Nov 16, 2023
2 parents 9c90434 + 17532c1 commit 82a5edf
Show file tree
Hide file tree
Showing 38 changed files with 1,201 additions and 6 deletions.
4 changes: 2 additions & 2 deletions test/repos/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Git repositories for testing git-related behavior. For usage and terminology notes, see test/test_sys_checkout.py.
Git and svn repositories for testing git and svn-related behavior. For usage and terminology notes, see test/test_sys_checkout.py.

To list files and view file contents at HEAD:
For git repos: To list files and view file contents at HEAD:
```
cd <repo_dir>
git ls-tree --full-tree -r --name-only HEAD
Expand Down
5 changes: 5 additions & 0 deletions test/repos/simple-ext.svn/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
This is a Subversion repository; use the 'svnadmin' and 'svnlook'
tools to examine it. Do not add, delete, or modify files here
unless you know how to avoid corrupting the repository.

Visit http://subversion.apache.org/ for more information.
32 changes: 32 additions & 0 deletions test/repos/simple-ext.svn/conf/authz
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
### - a single user,
### - a group of users defined in a special [groups] section,
### - an alias defined in a special [aliases] section,
### - all authenticated users, using the '$authenticated' token,
### - only anonymous users, using the '$anonymous' token,
### - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
19 changes: 19 additions & 0 deletions test/repos/simple-ext.svn/conf/hooks-env.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
### This file is an example hook script environment configuration file.
### Hook scripts run in an empty environment by default.
### As shown below each section defines environment variables for a
### particular hook script. The [default] section defines environment
### variables for all hook scripts, unless overridden by a hook-specific
### section.

### This example configures a UTF-8 locale for all hook scripts, so that
### special characters, such as umlauts, may be printed to stderr.
### If UTF-8 is used with a mod_dav_svn server, the SVNUseUTF8 option must
### also be set to 'yes' in httpd.conf.
### With svnserve, the LANG environment variable of the svnserve process
### must be set to the same value as given here.
[default]
LANG = en_US.UTF-8

### This sets the PATH environment variable for the pre-commit hook.
[pre-commit]
PATH = /usr/local/bin:/usr/bin:/usr/sbin
8 changes: 8 additions & 0 deletions test/repos/simple-ext.svn/conf/passwd
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
81 changes: 81 additions & 0 deletions test/repos/simple-ext.svn/conf/svnserve.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.apache.org/ for more information.

[general]
### The anon-access and auth-access options control access to the
### repository for unauthenticated (a.k.a. anonymous) users and
### authenticated users, respectively.
### Valid values are "write", "read", and "none".
### Setting the value to "none" prohibits both reading and writing;
### "read" allows read-only access, and "write" allows complete
### read/write access to the repository.
### The sample settings below are the defaults and specify that anonymous
### users have read-only access to the repository, while authenticated
### users have read and write access to the repository.
# anon-access = read
# auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
# password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control. Unless you specify a path
### starting with a /, the file's location is relative to the
### directory containing this file. The specified path may be a
### repository relative URL (^/) or an absolute file:// URL to a text
### file in a Subversion repository. If you don't specify an authz-db,
### no path-based access control is done.
### Uncomment the line below to use the default authorization file.
# authz-db = authz
### The groups-db option controls the location of the file with the
### group definitions and allows maintaining groups separately from the
### authorization rules. The groups-db file is of the same format as the
### authz-db file and should contain a single [groups] section with the
### group definitions. If the option is enabled, the authz-db file cannot
### contain a [groups] section. Unless you specify a path starting with
### a /, the file's location is relative to the directory containing this
### file. The specified path may be a repository relative URL (^/) or an
### absolute file:// URL to a text file in a Subversion repository.
### This option is not being used by default.
# groups-db = groups
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa. The default realm
### is repository's uuid.
# realm = My First Repository
### The force-username-case option causes svnserve to case-normalize
### usernames before comparing them against the authorization rules in the
### authz-db file configured above. Valid values are "upper" (to upper-
### case the usernames), "lower" (to lowercase the usernames), and
### "none" (to compare usernames as-is without case conversion, which
### is the default behavior).
# force-username-case = none
### The hooks-env options specifies a path to the hook script environment
### configuration file. This option overrides the per-repository default
### and can be used to configure the hook script environment for multiple
### repositories in a single file, if an absolute path is specified.
### Unless you specify an absolute path, the file's location is relative
### to the directory containing this file.
# hooks-env = hooks-env

[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### Enabling this option requires svnserve to have been built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
# min-encryption = 0
# max-encryption = 256
1 change: 1 addition & 0 deletions test/repos/simple-ext.svn/db/current
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3
3 changes: 3 additions & 0 deletions test/repos/simple-ext.svn/db/format
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
8
layout sharded 1000
addressing logical
1 change: 1 addition & 0 deletions test/repos/simple-ext.svn/db/fs-type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fsfs
200 changes: 200 additions & 0 deletions test/repos/simple-ext.svn/db/fsfs.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
### This file controls the configuration of the FSFS filesystem.

[memcached-servers]
### These options name memcached servers used to cache internal FSFS
### data. See http://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 lifetime of the repository.
### Repositories containing large directories will benefit greatly.
### In rarely accessed repositories, the I/O overhead may be significant
### as caches will most likely be low.
### directory deltification is enabled by default.
# enable-dir-deltification = true
###
### 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 enabled by default.
# enable-props-deltification = true
###
### 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
###
### After deltification, we compress the data to minimize on-disk size.
### This setting controls the compression algorithm, which will be used in
### future revisions. It can be used to either disable compression or to
### select between available algorithms (zlib, lz4). zlib is a general-
### purpose compression algorithm. lz4 is a fast compression algorithm
### which should be preferred for repositories with large and, possibly,
### incompressible files. Note that the compression ratio of lz4 is
### usually lower than the one provided by zlib, but using it can
### significantly speed up commits as well as reading the data.
### lz4 compression algorithm is supported, starting from format 8
### repositories, available in Subversion 1.10 and higher.
### The syntax of this option is:
### compression = none | lz4 | zlib | zlib-1 ... zlib-9
### Versions prior to Subversion 1.10 will ignore this option.
### The default value is 'lz4' if supported by the repository format and
### 'zlib' otherwise. 'zlib' is currently equivalent to 'zlib-5'.
# compression = lz4
###
### DEPRECATED: The new 'compression' option deprecates previously used
### 'compression-level' option, which was used to configure zlib compression.
### For compatibility with previous versions of Subversion, this option can
### still be used (and it will result in zlib compression with the
### corresponding compression level).
### compression-level = 0 ... 9 (default is 5)

[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.
### Values smaller than 4 kByte will not improve latency any further and
### quickly render revprop packing ineffective.
### revprop-pack-size is 16 kBytes by default for non-compressed revprop
### pack files and 64 kBytes when compression has been enabled.
# revprop-pack-size = 16
###
### 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.
### Compressing packed revprops is disabled by default.
# compress-packed-revprops = false

[io]
### Parameters in this section control the data access granularity in
### format 7 repositories and later. The defaults should translate into
### decent performance over a wide range of setups.
###
### When a specific piece of information needs to be read from disk, a
### data block is being read at once and its contents are being cached.
### If the repository is being stored on a RAID, the block size should be
### either 50% or 100% of RAID block size / granularity. Also, your file
### system blocks/clusters should be properly aligned and sized. In that
### setup, each access will hit only one disk (minimizes I/O load) but
### uses all the data provided by the disk in a single access.
### For SSD-based storage systems, slightly lower values around 16 kB
### may improve latency while still maximizing throughput. If block-read
### has not been enabled, this will be capped to 4 kBytes.
### Can be changed at any time but must be a power of 2.
### block-size is given in kBytes and with a default of 64 kBytes.
# block-size = 64
###
### The log-to-phys index maps data item numbers to offsets within the
### rev or pack file. This index is organized in pages of a fixed maximum
### capacity. To access an item, the page table and the respective page
### must be read.
### This parameter only affects revisions with thousands of changed paths.
### If you have several extremely large revisions (~1 mio changes), think
### about increasing this setting. Reducing the value will rarely result
### in a net speedup.
### This is an expert setting. Must be a power of 2.
### l2p-page-size is 8192 entries by default.
# l2p-page-size = 8192
###
### The phys-to-log index maps positions within the rev or pack file to
### to data items, i.e. describes what piece of information is being
### stored at any particular offset. The index describes the rev file
### in chunks (pages) and keeps a global list of all those pages. Large
### pages mean a shorter page table but a larger per-page description of
### data items in it. The latency sweetspot depends on the change size
### distribution but covers a relatively wide range.
### If the repository contains very large files, i.e. individual changes
### of tens of MB each, increasing the page size will shorten the index
### file at the expense of a slightly increased latency in sections with
### smaller changes.
### For source code repositories, this should be about 16x the block-size.
### Must be a power of 2.
### p2l-page-size is given in kBytes and with a default of 1024 kBytes.
# p2l-page-size = 1024

[debug]
###
### Whether to verify each new revision immediately before finalizing
### the commit. This is disabled by default except in maintainer-mode
### builds.
# verify-before-commit = false
1 change: 1 addition & 0 deletions test/repos/simple-ext.svn/db/min-unpacked-rev
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0
Binary file added test/repos/simple-ext.svn/db/rep-cache.db
Binary file not shown.
Empty file.
5 changes: 5 additions & 0 deletions test/repos/simple-ext.svn/db/revprops/0/0
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
K 8
svn:date
V 27
2023-11-16T20:11:46.318861Z
END
13 changes: 13 additions & 0 deletions test/repos/simple-ext.svn/db/revprops/0/1
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
K 10
svn:author
V 5
sacks
K 8
svn:date
V 27
2023-11-16T20:15:56.917904Z
K 7
svn:log
V 30
Setting up directory structure
END
Loading

0 comments on commit 82a5edf

Please sign in to comment.