| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <style type="text/css"> /* <![CDATA[ */ |
| @import "branding/css/tigris.css"; |
| @import "branding/css/inst.css"; |
| /* ]]> */</style> |
| <link rel="stylesheet" type="text/css" media="print" |
| href="branding/css/print.css"/> |
| <script type="text/javascript" src="branding/scripts/tigris.js"></script> |
| <title>Subversion Tools and Contrib</title> |
| </head> |
| |
| <body> |
| <div class="app"> |
| |
| <h1>Subversion Tools and Contrib</h1> |
| |
| <p>Translations: <a href="tools_contrib.zh.html">简体中文</a></p> |
| |
| <p>The directories 'tools' and 'contrib' in the Subversion repository |
| contain code that works with Subversion but that Subversion doesn't |
| depend on for normal operations. |
| </p> |
| <p>The files in 'tools' are maintained collectively by the Subversion |
| project, and are under the same open source copyright as Subversion itself. |
| </p> |
| <p>Code in contrib/ is open source, but may have a different license or |
| copyright holder than Subversion itself. The Subversion project does |
| not maintain these programs, but merely distributes them for our |
| users' convenience. |
| </p> |
| |
| <p>The code is grouped into the following subdirectories:</p> |
| |
| <ul> |
| <li><a href="#backup">backup</a></li> |
| <li><a href="#bdb">bdb</a></li> |
| <li><a href="#cgi">cgi</a></li> |
| <li><a href="#client_side">client-side</a></li> |
| <li><a href="#dev">dev</a></li> |
| <li><a href="#diff">diff</a></li> |
| <li><a href="#hook_scripts">hook-scripts</a></li> |
| <li><a href="#po">po</a></li> |
| <li><a href="#server_side">server-side</a></li> |
| <li><a href="#xslt">xslt</a></li> |
| </ul> |
| |
| |
| <h2>Index by keyword</h2> |
| |
| <ul> |
| <li><strong>apache</strong><ul> |
| <li><a href="#mod_dontdothat_c">mod_dontdothat.c</a></li> |
| </ul></li> |
| <li><strong>authz</strong><ul> |
| <li><a href="#authz_svn_group_py">authz_svn_group.py</a></li> |
| <li><a href="#svnauthz_validate_c">svnauthz-validate.c</a></li> |
| </ul></li> |
| <li><strong>backup</strong><ul> |
| <li><a href="#backup_recipe_sh">backup-recipe.sh</a></li> |
| <li><a href="#hot_backup_py">hot-backup.py</a></li> |
| <li><a href="#svn_backup_dumps_py">svn-backup-dumps.py</a></li> |
| <li><a href="#svn_fast_backup">svn-fast-backup</a></li> |
| </ul></li> |
| <li><strong>bash</strong><ul> |
| <li><a href="#bash_completion">bash_completion</a></li> |
| </ul></li> |
| <li><strong>bdb</strong><ul> |
| <li><a href="#backup_recipe_sh">backup-recipe.sh</a></li> |
| <li><a href="#erase_all_text_data_py">erase-all-text-data.py</a></li> |
| <li><a href="#hot_backup_py">hot-backup.py</a></li> |
| <li><a href="#svn_bdb_view_py">svn-bdb-view.py</a></li> |
| <li><a href="#whatis_rep_py">whatis-rep.py</a></li> |
| </ul></li> |
| <li><strong>branch / tag</strong><ul> |
| <li><a href="#svncopy_pl">svncopy.pl</a></li> |
| </ul></li> |
| <li><strong>cgi</strong><ul> |
| <li><a href="#mirror_dir_through_svn_cgi">mirror_dir_through_svn.cgi</a></li> |
| <li><a href="#tweak_log_cgi">tweak-log.cgi</a></li> |
| </ul></li> |
| <li><strong>commandline tools</strong><ul> |
| <li><a href="#asvn">asvn</a></li> |
| <li><a href="#svnmucc_c">svnmucc.c</a></li> |
| <li><a href="#server_version_py">server-version.py</a></li> |
| <li><a href="#server_vsn_py">server-vsn.py</a></li> |
| <li><a href="#svn_update_pl">svn_update.pl</a></li> |
| </ul></li> |
| <li><strong>diff</strong><ul> |
| <li><a href="#diff_c">diff.c</a></li> |
| <li><a href="#diff3_c">diff3.c</a></li> |
| <li><a href="#diff4_c">diff4.c</a></li> |
| <li><a href="#diff_to_logmsg_vim">diff-to-logmsg.vim</a></li> |
| <li><a href="#diffwrap_bat">diffwrap.bat</a></li> |
| <li><a href="#diff3wrap_bat">diff3wrap.bat</a></li> |
| <li><a href="#showchange_pl">showchange.pl</a></li> |
| <li><a href="#svn2cl_sh">svn2cl.sh</a></li> |
| <li><a href="#svn_all_diffs_pl">svn_all_diffs.pl</a></li> |
| </ul></li> |
| <li><strong>emacs</strong><ul> |
| <li><a href="#dsvn_el">dsvn.el</a></li> |
| <li><a href="#psvn_el">psvn.el</a></li> |
| <li><a href="#vc_svn_el">vc-svn.el</a></li> |
| </ul></li> |
| <li><strong>fsfs</strong><ul> |
| <li><a href="#svn_fast_backup">svn-fast-backup</a></li> |
| <li><a href="#fsfs_reshard_py">fsfs-reshard.py</a></li> |
| </ul></li> |
| <li><strong>graph</strong><ul> |
| <li><a href="#svn_graph_pl">svn-graph.pl</a></li> |
| </ul></li> |
| <li><strong>import</strong><ul> |
| <li><a href="#svn_load_dirs_pl">svn_load_dirs.pl</a></li> |
| </ul></li> |
| <li><strong>log message</strong><ul> |
| <li><a href="#diff_to_logmsg_vim">diff-to-logmsg.vim</a></li> |
| <li><a href="#showchange_pl">showchange.pl</a></li> |
| <li><a href="#svn_log_pl">svn-log.pl</a></li> |
| <li><a href="#svn2cl_sh">svn2cl.sh</a></li> |
| <li><a href="#svn2feed_py">svn2feed.py</a></li> |
| <li><a href="#svn2rss_py">svn2rss.py</a></li> |
| </ul></li> |
| <li><strong>merge</strong><ul> |
| <li><a href="#svnmerge_py">svnmerge.py</a></li> |
| <li><a href="#svnmerge_sh">svnmerge.sh</a></li> |
| </ul></li> |
| <li><strong>mirror</strong><ul> |
| <li><a href="#mirror_dir_through_svn_cgi">mirror_dir_through_svn.cgi</a></li> |
| <li><a href="#svn_push_c">svn-push.c</a></li> |
| <li><a href="#svnmirror_sh">svnmirror.sh</a></li> |
| </ul></li> |
| <li><strong>.po files</strong><ul> |
| <li><a href="#l10n_report">l10n-report.py</a></li> |
| <li><a href="#verify_po_py">verify-po.py</a></li> |
| <li><a href="#po_update_sh">po-update.sh</a></li> |
| </ul></li> |
| <li><strong>post-commit - email</strong><ul> |
| <li><a href="#commit_email_pl">commit-email.pl</a></li> |
| <li><a href="#commit_email_rb">commit-email.rb</a></li> |
| <li><a href="#mailer_py">mailer.py</a></li> |
| </ul></li> |
| <li><strong>pre-commit - check</strong><ul> |
| <li><a href="#case_insensitive_py">case-insensitive.py</a></li> |
| <li><a href="#check_mime_type_pl">check-mime-type.pl</a></li> |
| <li><a href="#commit_access_control_pl">commit-access-control.pl</a></li> |
| <li><a href="#commit_block_joke_py">commit-block-joke.py</a></li> |
| <li><a href="#detect_merge_conflicts_sh">detect-merge-conflicts.sh</a></li> |
| <li><a href="#enforcer">enforcer</a></li> |
| <li><a href="#log_police_py">log-police.py</a></li> |
| <li><a href="#pre_commit_check_py">pre-commit-check.py</a></li> |
| <li><a href="#svnperms_py">svnperms.py</a></li> |
| <li><a href="#verify_po_py">verify-po.py</a></li> |
| </ul></li> |
| <li><strong>pre-lock - check</strong><ul> |
| <li><a href="#pre_lock_require_needs_lock_py">pre-lock-require-needs-lock.py</a></li> |
| </ul></li> |
| <li><strong>property</strong><ul> |
| <li><a href="#svn_apply_autoprops_py">svn_apply_autoprops.py</a></li> |
| </ul></li> |
| <li><strong>searching</strong><ul> |
| <li><a href="#svn_export_empty_files_py">svn_export_empty_files.py</a></li> |
| <li><a href="#wcgrep">wcgrep</a></li> |
| </ul></li> |
| <li><strong>vim</strong><ul> |
| <li><a href="#diff_to_logmsg_vim">diff-to-logmsg.vim</a></li> |
| <li><a href="#svn_vim">svn.vim</a></li> |
| </ul></li> |
| <li><strong>working copy</strong><ul> |
| <li><a href="#svn_apply_autoprops_py">svn_apply_autoprops.py</a></li> |
| <li><a href="#svn_clean">svn-clean</a></li> |
| <li><a href="#svn_resolve">svn-resolve</a></li> |
| <li><a href="#svn_update_pl">svn_update.pl</a></li> |
| <li><a href="#svn_viewdiff">svn-viewdiff</a></li> |
| <li><a href="#wcgrep">wcgrep</a></li> |
| </ul></li> |
| <li><strong>xslt</strong><ul> |
| <li><a href="#svnindex_xsl">svnindex.xsl</a></li> |
| </ul></li> |
| <li><strong>Subversion development tools</strong><ul> |
| <li><a href="#check_license_py">check-license.py</a></li> |
| <li><a href="#contribulyze_py">contribulyze.py</a></li> |
| <li><a href="#datecheck_py">datecheck.py</a></li> |
| <li><a href="#gcov_patch">gcov.patch</a></li> |
| <li><a href="#getsigs_pl">getsigs.pl</a></li> |
| <li><a href="#gnuify_changelog_pl">gnuify-changelog.pl</a></li> |
| <li><a href="#graph_dav_servers_py">graph-dav-servers.py</a></li> |
| <li><a href="#ff2csv_py">ff2csv.py</a></li> |
| <li><a href="#find_fix_py">find-fix.py</a></li> |
| <li><a href="#run_queries_sh">run-queries.sh</a></li> |
| <li><a href="#lock_check_py">lock-check.py</a></li> |
| <li><a href="#mlpatch_py">mlpatch.py</a></li> |
| <li><a href="#normalize_dump_py">normalize-dump.py</a></li> |
| <li><a href="#po_merge_py">po-merge.py</a></li> |
| <li><a href="#prebuild_cleanup_sh">prebuild-cleanup.sh</a></li> |
| <li><a href="#random_commits_py">random-commits.py</a></li> |
| <li><a href="#scramble_tree_py">scramble-tree.py</a></li> |
| <li><a href="#stress_pl">stress.pl</a></li> |
| <li><a href="#svn_dev_el">svn-dev.el</a></li> |
| <li><a href="#svn_dev_vim">svn-dev.vim</a></li> |
| <li><a href="#svn_merge_revs_py">svn-merge-revs.py</a></li> |
| <li><a href="#trails_py">trails.py</a></li> |
| <li><a href="#verify_history_py">verify-history.py</a></li> |
| <li><a href="#warn_ignored_err_sh">warn-ignored-err.sh</a></li> |
| <li><a href="#which_error_py">which-error.py</a></li> |
| </ul></li> |
| </ul> |
| |
| <div class="h2"> |
| <h2><a name="backup">backup</a></h2> |
| |
| |
| <h3><a name="hot_backup_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/backup/hot-backup.py.in">hot-backup.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/backup">tools/backup</a>)</h3> |
| <p>Perform a "hot" backup of a Berkeley DB repository. |
| (and clean old logfiles after backup completes.) |
| </p> |
| </div> |
| |
| <div class="h2"> |
| <h2><a name="bdb">bdb</a></h2> |
| |
| |
| <h3><a name="erase_all_text_data_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/bdb/erase-all-text-data.py">erase-all-text-data.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/bdb">tools/bdb</a>)</h3> |
| <p>Erases the text of every file in a BDB repository.</p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/bdb/skel.py">skel.py</a> |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/bdb/svnfs.py">svnfs.py</a> |
| </p> |
| |
| |
| <h3><a name="svn_bdb_view_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/bdb/svn-bdb-view.py">svn-bdb-view.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/bdb">tools/bdb</a>)</h3> |
| <p>A pretty-printer for Subversion BDB repository databases.</p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/bdb/skel.py">skel.py</a> |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/bdb/svnfs.py">svnfs.py</a> |
| </p> |
| |
| |
| <h3><a name="whatis_rep_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/bdb/whatis-rep.py">whatis-rep.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/bdb">tools/bdb</a>)</h3> |
| <p>Print a description (including data, path, and revision) of the |
| specified node reps in a Subversion filesystem. Walks as much of |
| the reps table as necessary to locate the data (e.g. does a table |
| scan). |
| </p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/bdb/skel.py">skel.py</a> |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/bdb/svnfs.py">svnfs.py</a> |
| </p> |
| </div> |
| |
| |
| <div class="h2"> |
| <h2><a name="cgi">cgi</a></h2> |
| |
| |
| <h3><a name="mirror_dir_through_svn_cgi" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/cgi/mirror_dir_through_svn.cgi">mirror_dir_through_svn.cgi</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/cgi">contrib/cgi</a>)</h3> |
| <p>This CGI script mirrors a source directory to a target directory using |
| a Subversion repository as an intermediary. It's written as a CGI |
| script so that remote users making changes to a WebDAV folder can tell |
| the server to mirror the WebDAV folder contents to another directory |
| on the system. See the example usage story below. |
| </p> |
| <p>See also <a href="http://svn.collab.net/repos/svn/trunk/contrib/cgi/mirror_dir_through_svn.README">mirror_dir_through_svn.README</a></p> |
| |
| |
| <h3><a name="tweak_log_cgi" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/cgi/tweak-log.cgi">tweak-log.cgi</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/cgi">contrib/cgi</a>)</h3> |
| <p>It sure would be nice to be able to change the log messages on |
| committed revisions of the Subversion repository via the web. This |
| is a quick attempt at making that happen. |
| </p> |
| </div> |
| |
| |
| <div class="h2"> |
| <h2><a name="client_side">client-side</a></h2> |
| |
| |
| <h3><a name="asvn" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/asvn">asvn</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Archive SVN (asvn) will allow the recording of file types not |
| normally handled by svn. Currently this includes devices, |
| symlinks and file ownership/permissions. |
| </p> |
| |
| |
| <h3><a name="bash_completion" |
| href="http://svn.collab.net/repos/svn/trunk/tools/client-side/bash_completion">bash_completion</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/client-side">tools/client-side</a>)</h3> |
| <p>Programmable completion for the Subversion svn command under bash.</p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/client-side/bash_completion_test">bash_completion_test</a> |
| </p> |
| |
| |
| <h3><a name="diff_to_logmsg_vim" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/vim/diff-to-logmsg.vim">diff-to-logmsg.vim</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/vim">contrib/client-side/vim</a>)</h3> |
| <p>Converts a 'diff -urp' to a log message skeleton.</p> |
| |
| |
| <h3><a name="diff3wrap_bat" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/diff3wrap.bat">diff3wrap.bat</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Wrapper for running a diff3/merge program.</p> |
| |
| |
| <h3><a name="diffwrap_bat" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/diffwrap.bat">diffwrap.bat</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Wrapper for running a diff program.</p> |
| |
| |
| <h3><a name="dsvn_el" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/dsvn.el">dsvn.el</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/dsvn.el">contrib/client-side/emacs/dsvn.el</a>)</h3> |
| <p>A Subversion interface for Emacs, providing a similar interface as |
| pcl-cvs for CVS. |
| </p> |
| <p>See also <a href="#psvn_el">psvn.el</a>.</p> |
| |
| |
| <h3><a name="svnmucc_c" |
| href="http://svn.collab.net/repos/svn/trunk/tools/client-side/svnmucc/svnmucc.c">svnmucc.c</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/client-side/svnmucc">tools/client-side/svnmucc</a>)</h3> |
| <p>Multiple URL Command Client: Combine a list of mv, cp and rm commands |
| on URLs into a single commit. |
| </p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/client-side/svnmucc/svnmucc-test.py">svnmucc-test.py</a> |
| </p> |
| <p>Previous locations: ...<tt>/contrib/client-side/mucc/mucc.c</tt> |
| for Subversion 1.4 or earlier, |
| ...<tt>/contrib/client-side/svnmucc/svnmucc.c</tt> for Subversion |
| 1.5. |
| </p> |
| |
| |
| <h3><a name="psvn_el" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/psvn.el">psvn.el</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/psvn.el">contrib/client-side/emacs/psvn.el</a>)</h3> |
| <p>A Subversion interface for Emacs, providing a similar interface as |
| pcl-cvs for CVS. |
| </p> |
| <p>See also <a href="#dsvn_el">dsvn.el</a>.</p> |
| |
| |
| <h3><a name="search_svnlog_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/search-svnlog.pl">search-svnlog.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Show log messages matching a certain pattern.</p> |
| |
| |
| <h3><a name="server_version_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/client-side/server-version.py">server-version.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/client-side">tools/client-side</a>)</h3> |
| <p>Print a Subversion server's version number.</p> |
| |
| <p><a name="server_vsn_py">server-version.py was formerly known as server-vsn.py</a></p> |
| |
| <h3><a name="showchange_pl" |
| href="http://svn.collab.net/repos/svn/trunk/tools/client-side/showchange.pl">showchange.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/client-side">tools/client-side</a>)</h3> |
| <p>Show the log message and diff for a revision.</p> |
| |
| |
| <h3><a name="svn_clean" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-clean">svn-clean</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Wipes out unversioned files from SVN working copy.</p> |
| |
| |
| <h3><a name="svn_graph_pl" |
| href="http://svn.collab.net/repos/svn/trunk/tools/client-side/svn-graph.pl">svn-graph.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/client-side">tools/client-side</a>)</h3> |
| <p>Produce a GraphViz .dot graph for the branch history of a node.</p> |
| |
| |
| <h3><a name="svn_log_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-log.pl">svn-log.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Generate a nice log format for the Subversion repository.</p> |
| |
| |
| <h3><a name="svn_push_c" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-push/svn-push.c">svn-push.c</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-push">contrib/client-side/svn-push</a>)</h3> |
| <p>Propagate changesets from one (networked) repository to a different |
| (networked) repository. |
| </p> |
| |
| |
| <h3><a name="svn_resolve" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-resolve">svn-resolve</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Resolve Subversion conflicts using FileMerge. |
| </p> |
| <p>(FileMerge is a graphical diff tool in the Mac OS X |
| Developer Tools.) |
| </p> |
| |
| |
| <h3><a name="svn_viewdiff" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-viewdiff">svn-viewdiff</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>GNU diff wrapper for FileMerge. |
| </p> |
| <p>(FileMerge is a graphical diff tool in the Mac OS X |
| Developer Tools.) |
| </p> |
| |
| |
| <h3><a name="svn_vim" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/vim/svn.vim">svn.vim</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/vim">contrib/client-side/vim</a>)</h3> |
| <p>Vim syntax hilighting for SVN commit log message template.</p> |
| |
| |
| <h3><a name="svn2cl_sh" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn2cl/svn2cl.sh">svn2cl.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn2cl">contrib/client-side/svn2cl</a>)</h3> |
| <p>Front end shell script for svn2cl.xsl, calls xsltproc with the |
| correct parameters. |
| </p> |
| <p>See also <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn2cl/README">README</a>.</p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn2cl/svn2cl.1">svn2cl.1</a> |
| <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn2cl/svn2cl.xsl">svn2cl.xsl</a> |
| <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn2cl/svn2html.css">svn2html.css</a> |
| <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn2cl/svn2html.xsl">svn2html.xsl</a> |
| </p> |
| |
| |
| <h3><a name="svn_all_diffs_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn_all_diffs.pl">svn_all_diffs.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Perl script that gets the revisions that modified a specified |
| file or directory and prints the output of `svn diff' on between |
| all revisions that modified the file or directory. Good for |
| seeing what changed over time and for tracking down when a |
| particular line in a file changed. |
| </p> |
| |
| |
| <h3><a name="svn_apply_autoprops_py" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn_apply_autoprops.py">svn_apply_autoprops.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>This script reads the auto-properties defined in the |
| $HOME/.subversion/config file and applies them recursively to all |
| the files and directories in the current working copy. |
| </p> |
| |
| |
| <h3><a name="svn_export_empty_files_py" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn_export_empty_files.py">svn_export_empty_files.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Script to "export" from a Subversion repository a clean directory |
| tree of empty files instead of the content contained in those |
| files in the repository. The directory tree will also omit the |
| .svn directories. This script was written to create a non-working |
| working copy that can be crawled with find or find's locate utility |
| to make it easier to find files. |
| </p> |
| |
| |
| <h3><a name="svn_load_dirs_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in">svn_load_dirs.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn_load_dirs">contrib/client-side/svn_load_dirs</a>)</h3> |
| <p>This Perl script is designed to load a number of directories into |
| Subversion. This is useful if you have a number of .zip's or |
| tar.{Z,gz,bz2}'s for a particular package and want to load them into |
| Subversion. |
| </p> |
| <p>See also <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn_load_dirs/svn_load_dirs.README">svn_load_dirs.README</a>.</p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn_load_dirs/svn_load_dirs_property_table.example">svn_load_dirs_property_table.example</a> |
| </p> |
| |
| |
| <h3><a name="svn_update_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn_update.pl">svn_update.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Run svn update and force it to produce conflicts for all |
| files which would be merged using diff3. |
| </p> |
| <p>This is a workaround for <a |
| href="http://subversion.tigris.org/issues/show_bug.cgi?id=2048" |
| >issue 2048</a> which was fixed in r13383 and released in |
| svn 1.2.0. |
| </p> |
| |
| |
| <h3><a name="svncopy_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svncopy/svncopy.pl.in">svncopy.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svncopy">contrib/client-side/svncopy</a>)</h3> |
| <p>Utility script for copying with branching/tagging.</p> |
| <p>See also <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svncopy/svncopy.README">svncopy.README</a>.</p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svncopy/testsvncopy.pl.in">testsvncopy.pl</a> |
| </p> |
| |
| |
| <h3><a name="svnmerge_py" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge/svnmerge.py">svnmerge.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge">contrib/client-side/svnmerge</a>)</h3> |
| <p>Merge tracking script.</p> |
| <p>See also <a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge/svnmerge.README">svnmerge.README</a>.</p> |
| |
| |
| <h3><a name="svnmerge_sh" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge/svnmerge.sh">svnmerge.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge">contrib/client-side/svnmerge</a>)</h3> |
| <p>Merge tracking script, predecessor of svnmerge.py.</p> |
| |
| |
| <h3><a name="vc_svn_el" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/emacs/vc-svn.el">vc-svn.el</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side/emacs</a>)</h3> |
| <p>A VC backend for Subversion. |
| </p> |
| <p>Note that this one included in the Subversion tree is not the master |
| version. The canonical vc-svn.el now lives in the FSF Emacs tree, at |
| <a href="http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/lisp/vc-svn.el">http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/lisp/vc-svn.el</a>. |
| The version here is maintained only because it is compatible with |
| older releases of Emacs, since the one in the FSF tree hasn't made it |
| into an official release of Emacs yet. |
| </p> |
| |
| |
| <h3><a name="wcgrep" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/client-side/wcgrep">wcgrep</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/client-side">contrib/client-side</a>)</h3> |
| <p>Useful for greping in a Subversion working copy. |
| Essentially it behaves the same way your grep command does. |
| </p> |
| </div> |
| |
| |
| <div class="h2"> |
| <h2><a name="dev">dev</a></h2> |
| |
| |
| <h3><a name="check_license_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/check-license.py">check-license.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Check if a file has the proper license in it.</p> |
| |
| |
| <h3><a name="contribulyze_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/contribulyze.py">contribulyze.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Some Subversion project log messages include parseable data to help |
| track who's contributing what. This script collects that data. |
| </p> |
| |
| |
| <h3><a name="datecheck_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/datecheck.py">datecheck.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>This is a debugging script to test date-ordering in an SVN repository.</p> |
| |
| |
| <h3><a name="gcov_patch" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/gcov.patch">gcov.patch</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>This patch can be used to generate a report showing what C source |
| lines are executed when the testsuite is run. |
| </p> |
| |
| |
| <h3><a name="getsigs_pl" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dist/getsigs.pl">getsigs.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dist">tools/dist</a>)</h3> |
| <p>Terribly ugly hack of a script to verify the signatures on the release |
| tarballs and produce the list of who signed them in the format we use for |
| the announcements. |
| </p> |
| |
| |
| <h3><a name="gnuify_changelog_pl" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/gnuify-changelog.pl">gnuify-changelog.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>A script to munge the output of 'svn log' into something approaching the |
| style of a GNU ChangeLog. |
| </p> |
| |
| |
| <h3><a name="graph_dav_servers_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/graph-dav-servers.py">graph-dav-servers.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>This was originally a quick hack to make a pretty picture of svn |
| DAV servers. |
| </p> |
| |
| |
| <h3><a name="ff2csv_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/iz/ff2csv.py">ff2csv.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev/iz">tools/dev/iz</a>)</h3> |
| <p>Transform find-fix.py output into Excellable csv.</p> |
| |
| |
| <h3><a name="find_fix_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/iz/find-fix.py">find-fix.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev/iz">tools/dev/iz</a>)</h3> |
| <p>Produce a find/fix report for Subversion's IZ database.</p> |
| |
| |
| <h3><a name="run_queries_sh" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/iz/run-queries.sh">run-queries.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev/iz">tools/dev/iz</a>)</h3> |
| <p>Run some IssueZilla queries.</p> |
| |
| |
| <h3><a name="lock_check_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/lock-check.py">lock-check.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Repository lock checker. Gets an exclusive lock on the provided |
| repository, then runs db_stat to see if the lock counts have been |
| reset to 0. If not, prints the timestamp of the run and a message |
| about accumulation. |
| </p> |
| |
| |
| <h3><a name="mlpatch_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/mlpatch.py">mlpatch.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Very annoyingly, the http://svn.haxx.se/ Subversion mailing list archives |
| mangle inline patches, and provide no raw message download facility |
| (other than for an entire month's email as an mbox). |
| So, I wrote this script, to demangle them. It's not perfect, as it has to |
| guess about whitespace, but it does an acceptable job. |
| </p> |
| |
| |
| <h3><a name="normalize_dump_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/normalize-dump.py">normalize-dump.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Reads a Subversion dumpfile from DUMPFILE (or, if not provided, |
| from stdin) and normalizes the metadata contained therein, |
| printing summarized and sorted information. This is useful for |
| generating data about dumpfiles in a diffable fashion. |
| </p> |
| |
| |
| <h3><a name="po_merge_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/po-merge.py">po-merge.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>This script will replace the translations and flags in a po file with |
| the translations and flags in the source po file read from standard |
| input. Strings that are not found in the source file are left untouched. |
| </p> |
| |
| |
| <h3><a name="prebuild_cleanup_sh" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/prebuild-cleanup.sh">prebuild-cleanup.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Purify a system, to simulate building Subversion on a "clean" box.</p> |
| |
| |
| <h3><a name="random_commits_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/random-commits.py">random-commits.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Using the FILELIST (see config below), a series of COUNT commits will be |
| constructed, each changing up to MAXFILES files per commit. The commands |
| will be sent to stdout (formatted as a shell script). |
| </p> |
| |
| |
| <h3><a name="scramble_tree_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/scramble-tree.py">scramble-tree.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Makes multiple random file changes to a directory tree, for testing.</p> |
| |
| |
| <h3><a name="stress_pl" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/stress.pl">stress.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>A script that allows some simple testing of Subversion, in |
| particular concurrent read, write and read-write access by the 'svn' |
| client. It can also create working copy trees containing a large |
| number of files and directories. All repository access is via the |
| 'svnadmin' and 'svn' commands. |
| </p> |
| |
| |
| <h3><a name="svn_dev_el" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/svn-dev.el">svn-dev.el</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Emacs Lisp help for writing Subversion code. This file contains |
| some elisp functions which could be helpful to employ while working |
| on Subversion. |
| </p> |
| |
| |
| <h3><a name="svn_dev_vim" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/svn-dev.vim">svn-dev.vim</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>This file sets vim up to use subversion's coding style. It can be |
| applied on a per buffer basis with :source svn-dev.vim, or can be |
| source from ~/.vimrc to apply settings to all files vim uses. For |
| other variation try :help autocmd. |
| </p> |
| |
| |
| <h3><a name="svn_merge_revs_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/svn-merge-revs.py">svn-merge-revs.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>This script is meant to ease the pain of merging and |
| reviewing revision(s) on a release branch (although it can be used to |
| merge and review revisions from any line of development to another). |
| </p> |
| |
| |
| <h3><a name="trails_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/trails.py">trails.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>A program for analyzing Subversion trail usage statistics.</p> |
| |
| |
| <h3><a name="verify_history_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/verify-history.py">verify-history.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>This program is used to verify the FS history code.</p> |
| |
| |
| <h3><a name="warn_ignored_err_sh" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/warn-ignored-err.sh">warn-ignored-err.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Insert or remove the GCC attribute "warn_unused_result" on each function |
| that returns a Subversion error, in the specified files or, by default, |
| *.h and *.c in the ./subversion and ./tools trees. |
| </p> |
| |
| |
| <h3><a name="which_error_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/dev/which-error.py">which-error.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/dev">tools/dev</a>)</h3> |
| <p>Print semantic Subversion error code names mapped from their numeric |
| error code values. |
| </p> |
| </div> |
| |
| |
| <div class="h2"> |
| <h2><a name="diff">diff</a></h2> |
| |
| |
| <h3><a name="diff_c" |
| href="http://svn.collab.net/repos/svn/trunk/tools/diff/diff.c">diff.c</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/diff">tools/diff</a>)</h3> |
| <p>A diff program using Subversion's diff functions.</p> |
| |
| |
| <h3><a name="diff3_c" |
| href="http://svn.collab.net/repos/svn/trunk/tools/diff/diff3.c">diff3.c</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/diff">tools/diff</a>)</h3> |
| <p>A diff3 program using Subversion's diff functions.</p> |
| |
| |
| <h3><a name="diff4_c" |
| href="http://svn.collab.net/repos/svn/trunk/tools/diff/diff4.c">diff4.c</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/diff">tools/diff</a>)</h3> |
| <p>A diff4 program using Subversion's diff functions.</p> |
| </div> |
| |
| |
| <div class="h2"> |
| <h2><a name="hook_scripts">hook-scripts</a></h2> |
| |
| |
| <h3><a name="case_insensitive_py" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/case-insensitive.py">case-insensitive.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts">contrib/hook-scripts</a>)</h3> |
| <p>A pre-commit hook to detect case-insensitive filename clashes. |
| </p> |
| |
| |
| |
| <h3><a name="check_mime_type_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/check-mime-type.pl">check-mime-type.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts">contrib/hook-scripts</a>)</h3> |
| <p>Check that every added file has the svn:mime-type property set |
| and every added file with a mime-type matching text/* also has |
| svn:eol-style set. If any file fails this test the user is sent |
| a verbose error message suggesting solutions and the commit is |
| aborted. |
| </p> |
| |
| |
| <h3><a name="commit_access_control_pl" |
| href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/commit-access-control.pl.in">commit-access-control.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts">tools/hook-scripts</a>)</h3> |
| <p>Uses the `svnlook' program to check if the user who submitted |
| the commit has appropriate rights to perform the commit on all |
| the modified files and directories using the permissions |
| specified in the configuration file. |
| </p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/commit-access-control.cfg.example">commit-access-control.cfg.example</a> |
| </p> |
| |
| |
| <h3><a name="commit_block_joke_py" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/commit-block-joke.py">commit-block-joke.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts">contrib/hook-scripts</a>)</h3> |
| <p>A funny pre-commit hook example.</p> |
| |
| |
| <h3><a name="commit_email_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/commit-email.pl.in">commit-email.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts">tools/hook-scripts</a>)</h3> |
| <p>Send a notification email describing either a commit or a |
| revprop-change action on a Subversion repository. |
| </p> |
| <p>Uses the `svnlook' program to send commit emails. Invoke it |
| from `repository/hooks/post-commit'. Run the script with no |
| arguments for usage. |
| </p> |
| |
| |
| <h3><a name="commit_email_rb" |
| href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/commit-email.rb">commit-email.rb</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts">tools/hook-scripts</a>)</h3> |
| <p>Uses the Ruby/SWIG client bindings to query the repository about |
| the changes made by a particular revision, and send |
| corresponding change emails. The program takes command-line |
| options for basic setup and to fine-tune its behavior. |
| </p> |
| |
| |
| <h3><a name="detect_merge_conflicts_sh" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/detect-merge-conflicts.sh">detect-merge-conflicts.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts">contrib/hook-scripts</a>)</h3> |
| <p>A pre-commit hook to detect changes that look like forgotten |
| conflict markers. |
| </p> |
| |
| |
| <h3><a name="enforcer" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/enforcer/enforcer">enforcer</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/enforcer">contrib/hook-scripts/enforcer</a>)</h3> |
| <p>This is a pre-commit hook that allows you to more easily specify |
| a variety of rules that govern what may be committed to your |
| repository. |
| </p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/enforcer/enforcer.conf">enforcer.conf</a> |
| </p> |
| |
| |
| <h3><a name="log_police_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/log-police.py">log-police.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts">tools/hook-scripts</a>)</h3> |
| <p>Ensures that log messages end with exactly one newline. Can |
| also be run as a standalone script to fix up old revisions. |
| </p> |
| |
| |
| <h3><a name="mailer_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/mailer/mailer.py">mailer.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/mailer">tools/hook-scripts/mailer</a>)</h3> |
| <p>Uses the Python/SWIG bindings to directly query the repository |
| about the changes made by a particular revision. The program |
| uses a configuration file for basic setup and to fine-tune where |
| changes are delivered. Compared to |
| <a href="#commit_email_pl">commit-email.pl</a>, the output |
| contains a bit more information about property changes, is |
| smarter with binary files, and it streams its output into the |
| mailer (to avoid in-memory buffering). |
| </p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools//hook-scripts/mailer/mailer.conf.example">mailer.conf.example</a> |
| <a href="http://svn.collab.net/repos/svn/trunk/tools//hook-scripts/mailer/tests">tests/</a> |
| </p> |
| |
| |
| <h3><a name="pre_commit_check_py" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/pre-commit-check.py">pre-commit-check.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts">contrib/hook-scripts</a>)</h3> |
| <p>A template for checks in a pre-commit hook.</p> |
| |
| |
| <h3><a name="pre_lock_require_needs_lock_py" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/pre-lock-require-needs-lock.py">pre-lock-require-needs-lock.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts">contrib/hook-scripts</a>)</h3> |
| <p>This script, intended for use as a Subversion pre-lock hook, verifies that |
| the PATH that USER is attempting to lock has the svn:needs-lock property |
| set on it, returning success iff it does. |
| </p> |
| |
| |
| <h3><a name="require_mergeinfo_pl" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/require-mergeinfo.pl">require-mergeinfo.pl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts">contrib/hook-scripts</a>)</h3> |
| <p>This script checks that the committing client supports the 'mergeinfo' |
| capability. It is intended for use from within a Subversion start-commit |
| hook. |
| </p> |
| |
| |
| <h3><a name="svn2feed_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/svn2feed.py">svn2feed.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts">tools/hook-scripts</a>)</h3> |
| |
| <p>Generates an RSS 2.0 or Atom 1.0 file containing commit information.</p> |
| <p><a name="svn2rss_py">svn2feed.py was formerly known as svn2rss.py</a></p> |
| |
| |
| <h3><a name="svnperms_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/svnperms.py">svnperms.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts">tools/hook-scripts</a>)</h3> |
| <p>Pre-commit hook that checks write permissions, similar to |
| <a href="#commit_access_control_pl">commit-access-control.pl</a>, |
| but uses a different syntax. Run 'svnperms.py -h' for usage. |
| </p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/svnperms.conf.example">svnperms.conf.example</a> |
| </p> |
| |
| |
| <h3><a name="verify_po_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/verify-po.py">verify-po.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts">tools/hook-scripts</a>)</h3> |
| <p>This is a pre-commit hook that checks whether the contents of PO files |
| committed to the repository are encoded in UTF-8. |
| </p> |
| </div> |
| |
| |
| <div class="h2"> |
| <h2><a name="po">po</a></h2> |
| |
| <h3><a name="l10n_report" |
| href="http://svn.collab.net/repos/svn/trunk/tools/po/l10n-report.py">l10n-report.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/po">tools/po</a>)</h3> |
| <p>Script for generating a report on po file translation status and |
| mail them to an email id. By default, the report is displayed in the |
| stdout.</p> |
| |
| <h3><a name="po_update_sh" |
| href="http://svn.collab.net/repos/svn/trunk/tools/po/po-update.sh">po-update.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/po">tools/po</a>)</h3> |
| <p>Script to generate Subversion pot files and update locales.</p> |
| |
| </div> |
| |
| <div class="h2"> |
| <h2><a name="server_side">server-side</a></h2> |
| |
| |
| <h3><a name="authz_svn_group_py" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/server-side/authz_svn_group.py">authz_svn_group.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/server-side">contrib/server-side</a>)</h3> |
| <p>mod_python authorization handler for mod_authz_svn groups.</p> |
| |
| |
| <h3><a name="backup_recipe_sh" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/server-side/backup-recipe.sh">backup-recipe.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/server-side">contrib/server-side</a>)</h3> |
| <p>This shell script demonstrates a backup/restore recipe for live |
| Subversion repositories, using a standard full+incrementals process. |
| </p> |
| |
| |
| <h3><a name="fsfs_reshard_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/server-side/fsfs-reshard.py">fsfs-reshard.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/server-side">tools/server-side</a>)</h3> |
| <p>This script performs an offline conversion of an FSFS repository between |
| the linear format compatible with Subversion 1.4 or later and the sharded |
| format included with Subversion 1.5. |
| </p> |
| |
| |
| <h3><a name="mod_dontdothat_c" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/server-side/mod_dontdothat/mod_dontdothat.c">mod_dontdothat.c</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/server-side/mod_dontdothat">contrib/server-side/mod_dontdothat</a>)</h3> |
| <p>An Apache module that allows you to block expensive Subversion requests, |
| like checkouts of the root of a large repository. |
| </p> |
| <p>See also <a href="http://svn.collab.net/repos/svn/trunk/contrib/server-side/mod_dontdothat/README">README</a>.</p> |
| |
| |
| <h3><a name="svn_backup_dumps_py" |
| href="http://svn.collab.net/repos/svn/trunk/tools/server-side/svn-backup-dumps.py">svn-backup-dumps.py</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/server-side">tools/server-side</a>)</h3> |
| <p>This script creates (incremental) dump files from a subversion |
| repository on *IX and Windows. It is intended for use in cron jobs and |
| post-commit hooks. |
| </p> |
| |
| |
| <h3><a name="svn_fast_backup" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/server-side/svn-fast-backup">svn-fast-backup</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/server-side">contrib/server-side</a>)</h3> |
| <p>Use rsync snapshots for very fast FSFS repository backup.</p> |
| |
| |
| <h3><a name="svnauthz_validate_c" |
| href="http://svn.collab.net/repos/svn/trunk/tools/server-side/svnauthz-validate.c">svnauthz-validate.c</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/server-side">tools/server-side</a>)</h3> |
| <p>Load and validate an authz file.</p> |
| |
| |
| <h3><a name="svnmirror_sh" |
| href="http://svn.collab.net/repos/svn/trunk/contrib/server-side/svnmirror.sh">svnmirror.sh</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/contrib/server-side">contrib/server-side</a>)</h3> |
| <p>Mirror Subversion repositories. This script supports pushing or |
| pulling the changes via ssh and svn tools. |
| </p> |
| </div> |
| |
| |
| <div class="h2"> |
| <h2><a name="xslt">xslt</a></h2> |
| |
| |
| <h3><a name="svnindex_xsl" |
| href="http://svn.collab.net/repos/svn/trunk/tools/xslt/svnindex.xsl">svnindex.xsl</a> |
| (<a href="http://svn.collab.net/repos/svn/trunk/tools/xslt">tools/xslt</a>)</h3> |
| <p>A sample XML transformation style sheet for displaying the Subversion |
| directory listing that is generated by mod_dav_svn when the |
| "SVNIndexXSLT" directive is used. |
| </p> |
| <p>Related files: |
| <a href="http://svn.collab.net/repos/svn/trunk/tools/xslt/svnindex.css">svnindex.css</a> |
| </p> |
| </div> |
| |
| |
| </div> |
| </body> |
| </html> |