[svnbook commit] r2122 - trunk/src/en/book
sussman
svnbook-dev at red-bean.com
Sat Apr 15 20:42:16 CDT 2006
Author: sussman
Date: Sat Apr 15 20:42:15 2006
New Revision: 2122
Modified:
trunk/src/en/book/appb.xml
trunk/src/en/book/ch09.xml
Log:
Some final additions for the 1.2 svnbook.
* src/en/book/appb.xml: describe how to have mod_mime automatically
set svn:mime-type on new files added via
autoversioning. This closes ticket #10.
* src/en/book/ch09.xml: add a list of all defined 'svn:' properties to
reference section.
Modified: trunk/src/en/book/appb.xml
==============================================================================
--- trunk/src/en/book/appb.xml (original)
+++ trunk/src/en/book/appb.xml Sat Apr 15 20:42:15 2006
@@ -327,11 +327,11 @@
<literal>MKACTIVITY</literal>, <literal>CHECKOUT</literal>,
<literal>PUT</literal>, <literal>CHECKIN</literal>. But if the
DeltaV server supports autoversioning, then write-requests from
- basic WebDAV clients are accepted. The server behaves *as if*
- the client had issued the proper series of versioning requests,
+ basic WebDAV clients are accepted. The server behaves as if the
+ client had issued the proper series of versioning requests,
performing a commit under the hood. In other words, it allows a
DeltaV server to interoperate with ordinary WebDAV
- clients.</para>
+ clients that don't understand versioning.</para>
<para>Because so many operating systems already have integrated
WebDAV clients, the use case for this feature borders on
@@ -373,17 +373,53 @@
many applications auto-save every few minutes, resulting in even
more commits.</para>
- <para>If you have a post-commit hook program that sends email, for
- example, you may want to disable email generation either
- altogether, or on certain sections of the repository; it depends
- on whether you think the influx of emails will still prove to be
- valuable notifications or not. Also, a smart post-commit hook
- program can distinguish between a transaction created via
- autoversioning and one created through a normal <command>svn
- commit</command>. The trick is to look for a revision property
+ <para>If you have a post-commit hook program that sends email, you
+ may want to disable email generation either altogether, or on
+ certain sections of the repository; it depends on whether you
+ think the influx of emails will still prove to be valuable
+ notifications or not. Also, a smart post-commit hook program
+ can distinguish between a transaction created via autoversioning
+ and one created through a normal <command>svn commit</command>.
+ The trick is to look for a revision property
named <literal>svn:autoversioned</literal>. If present, the
commit was made by a generic WebDAV client.</para>
+ <para>Another feature that may be a useful complement
+ for <literal>SVNAutoversioning</literal> comes from
+ Apache's <literal>mod_mime</literal> module. If a generic
+ WebDAV client adds a new file to the repository, there's no
+ opportunity for the user to set the
+ the <literal>svn:mime-type</literal> property. This might cause
+ the file to appear as <quote>generic</quote> icon when viewed
+ within a WebDAV shared folder, not having an association with
+ any application. One remedy is to have a sysadmin (or other
+ Subversion-knowledgable person) check out a working copy and
+ manually set the <literal>svn:mime-type</literal> property on
+ necessary files. But there's potentially no end to such cleanup
+ tasks. Instead, you can use
+ the <literal>ModMimeUsePathInfo</literal> directive in
+ your Subversion <literal><Location></literal>
+ block:</para>
+
+ <screen>
+<Location /repos>
+ DAV svn
+ SVNPath /path/to/repository
+ SVNAutoversioning on
+
+ ModMimeUsePathInfo on
+
+</Location>
+</screen>
+
+ <para>This directive allows <literal>mod_mime</literal> to attempt
+ automatic deduction of the mime-type on new files that enter the
+ repository via autoversioning. The module looks at the file's
+ named extension and possibly the contents as well; if the file
+ matches some common patterns, then the the
+ file's <literal>svn;mime-type</literal> property will be set
+ automatically.</para>
+
</sect1>
<!-- ================================================================= -->
Modified: trunk/src/en/book/ch09.xml
==============================================================================
--- trunk/src/en/book/ch09.xml (original)
+++ trunk/src/en/book/ch09.xml Sat Apr 15 20:42:15 2006
@@ -6247,6 +6247,204 @@
</refentry>
</sect1>
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <!-- ================================================================= -->
+ <sect1 id="svn.ref.properties">
+
+ <title><command>Subversion properties</command></title>
+
+
+ <refentry id="svn.ref.mod_dav_svn.conf">
+ <refnamediv>
+
+ <refname>Subversion-defined properties</refname> <refpurpose>
+ properties defined by Subversion to control behavior.</refpurpose>
+
+ </refnamediv>
+
+ <refsect1 id="svn.ref.mod_dav_svn.conf.desc">
+ <title>Description</title>
+
+ <para>Subversion allows users to invent arbitrarily-named
+ versioned properties on files and directories, as well as
+ unversioned properties on revisions. The only restriction
+ is on properties prefixed with <quote>svn:</quote>.
+ Properties in that namespace are reserved for Subversion's
+ own use. While these properties may be set by users to
+ control Subversion's behavior, users may not invent new
+ <quote>svn:</quote> properties.</para>
+
+ </refsect1>
+
+ <refsect1 id="svn.ref.properties.versioned-props">
+ <title>Versioned Properties</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term><literal>svn:executable</literal></term>
+ <listitem>
+
+ <para>If present on a file, the client will make the
+ file executable in Unix-hosted working copies. See
+ <xref
+ linkend="svn.advanced.props.special.executable"/>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:mime-type</literal></term>
+ <listitem>
+
+ <para>If present on a file, the value indicates the
+ file's mime-type. This allows the client to decide
+ whether line-based contextual merging is safe to
+ perform during updates, and can also affect how the
+ file behaves when fetched via web browser. See
+ <xref
+ linkend="svn.advanced.props.special.mime-type"/>. </para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:ignore</literal></term>
+ <listitem>
+
+ <para>If present on a directory, the value is a list of
+ unversioned file patterns to be ignored
+ by <command>svn status</command> and other
+ subcommands. See
+ <xref
+ linkend="svn.advanced.props.special.ignore"/></para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:keywords</literal></term>
+ <listitem>
+
+ <para>If present on a file, the value tells the client
+ how to expand particular keywords within the file.
+ See
+ <xref
+ linkend="svn.advanced.props.special.keywords"/>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:eol-style</literal></term>
+ <listitem>
+
+ <para>If present on a file, the value tells the client
+ how to manipulate the file's line-endings in the
+ working copy. See
+ <xref
+ linkend="svn.advanced.props.special.eol-style"/>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:externals</literal></term>
+ <listitem>
+
+ <para>If present on a directory, the value is a
+ multi-line list of other paths and URLs the client
+ should check out. See
+ <xref
+ linkend="svn.advanced.props.special.externals"/>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:special</literal></term>
+ <listitem>
+
+ <para>If present on a file, indicates that the file is
+ not an ordinary file, but a symbolic link or other
+ special object. See
+ <xref
+ linkend="svn.advanced.props.special.special"/>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:needs-lock</literal></term>
+ <listitem>
+
+ <para>If present on a file, tells the client to make the
+ file read-only in the working copy, as a reminder that
+ the file should be locked before editing begins. See
+ <xref
+ linkend="svn.advanced.locking.lock-communication"/>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
+
+ <refsect1 id="svn.ref.properties.unversioned-props">
+ <title>Unversioned Properties</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term><literal>svn:author</literal></term>
+ <listitem>
+
+ <para>If present, contains the authenticated username of
+ the person who created the revision. (If not present,
+ then the revision was committed anonymously.)</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:date</literal></term>
+ <listitem>
+
+ <para>Contains the UTC time the revision was created, in
+ ISO format. The value comes from the server
+ machine's clock.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:log</literal></term>
+ <listitem>
+
+ <para>Contains the log message describing the
+ revision.</para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>svn:autoversioned</literal></term>
+ <listitem>
+
+ <para>If present, the revision was created via the
+ autoversioning feature. See
+ <xref linkend="svn.webdav.autoversioning"/>.</para>
+
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </refsect1>
+
+ </refentry>
+ </sect1>
+
</chapter>
More information about the svnbook-dev
mailing list