[svnbook commit] r1232 - in trunk/src/en: . book

sussman svnbook-dev at red-bean.com
Sat Apr 23 14:55:09 CDT 2005


Author: sussman
Date: Sat Apr 23 14:55:08 2005
New Revision: 1232

Modified:
   trunk/src/en/TODO
   trunk/src/en/book/ch04.xml
   trunk/src/en/book/ch06.xml
Log:

* src/en/book/ch04.xml: 

     - don't use HEAD in merge command examples, it's not really a
       good practice to encourage.

* src/en/book/ch06.xml:  

     - mention pre-commit hooks as an option for controlling per-dir
       write access with svnserve.

     - Merge the too-short "external path-based authz" section into
       this paragraph.

     - (Servers and Permissions:  A Word of Warning):  remove
       assumption that all repositories are BDB-based.

* src/en/TODO:  remove some TODOs.
                also, move a TODO from me to fitz, since it's chapter 3.



Modified: trunk/src/en/TODO
==============================================================================
--- trunk/src/en/TODO	(original)
+++ trunk/src/en/TODO	Sat Apr 23 14:55:08 2005
@@ -38,6 +38,16 @@
 
 To be fixed by fitz:
 
+ch03:
+
+   - explain the "magic rule" of working copy management: you must
+     always use 'svn' to manipulate files and dirs (cp, mv, add, rm,
+     etc.), *except* for editing.  Editing can be done without telling
+     svn; it notices this later on.  users are craving these two
+     simple sentences as an overview at the beginning of the chapter;
+     for someone who has never used CVS, it's apparently quite
+     confusing as to what sort of manipulations do and don't require
+     'svn'.
 
 
 
@@ -50,25 +60,12 @@
      not overwritten by a tarball explode wouldn't be missing, they'd
      be untouched).
 
-   - document the --ignore-externals option (added 'update',
-     'checkout', 'export', and 'status').  Don't forget the reference
-     section.
-
-   - document the --use-[pre|post]-commit-hook option to 'svnadmin
-     load'.  Don't forget the reference section.
 
 --------------------------------------------------------------
 
 To be fixed by sussman:
 
 
-ch03:
-
-   - "magic rule" of working copy management: you must *always* use
-     'svn' to manipulate files and dirs (cp, mv, add, rm, etc.),
-     *except* for editing.  Editing can be done without telling svn;
-     it notices this later on.
-
 ch04:
 
    - need a giant warning-box about issue #2282.  how our lack of
@@ -78,17 +75,9 @@
      deleting the newer file versions and adding-with-history the
      older file versions.  Definitely a big 'gotcha' to watch out for.
 
-   - "common use-cases for merging" shows -r405:HEAD.  let's not
-     encourage HEAD, since that can be a dangerous practice.  should
-     explain *why* we're not using head.
-
 
 ch06:  
 
-   -  svnserve->set access controls->last paragraph:
-       Don't just mention svnserve for path-based access;
-       mention the pre-commit hooks for at controlling path-based write.
-
    - explain shortcoming in http checkout authorization.  because
      checkout is done as one http request, there's only one chance to
      authenticate (or not).  if root-dir is anonymously readable, then
@@ -130,12 +119,22 @@
 ============================
 
   * svn log --limit
+
   * Fixed length keywords
     The format of fixed length keyword and its data is
     - Unexpanded keyword:         "$keyword::       $"
     - Expanded keyword:           "$keyword:: value $"
     - Expanded kw with filling:   "$keyword:: value   $"
     - Truncated keyword:          "$keyword:: longval#$"
+
   * New revprop hook features (ch05)
     - Added fifth ACTION argument (A, M, or D)
     - New/old revprop value available on stdin
+
+
+   - document the --use-[pre|post]-commit-hook option to 'svnadmin
+     load'.  Don't forget the reference section.
+
+   - document the --ignore-externals option (added 'update',
+     'checkout', 'export', and 'status').  Don't forget the reference
+     section.

Modified: trunk/src/en/book/ch04.xml
==============================================================================
--- trunk/src/en/book/ch04.xml	(original)
+++ trunk/src/en/book/ch04.xml	Sat Apr 23 14:55:08 2005
@@ -1130,7 +1130,7 @@
 $ svn update
 At revision 405.
 
-$ svn merge -r 341:HEAD http://svn.example.com/repos/calc/branches/my-calc-branch
+$ svn merge -r 341:405 http://svn.example.com/repos/calc/branches/my-calc-branch
 U   integer.c
 U   button.c
 U   Makefile

Modified: trunk/src/en/book/ch06.xml
==============================================================================
--- trunk/src/en/book/ch06.xml	(original)
+++ trunk/src/en/book/ch06.xml	Sat Apr 23 14:55:08 2005
@@ -476,10 +476,11 @@
         <title>Servers and Permissions:  A Word of Warning</title>        
 
         <para>First, remember that a Subversion repository is a
-          collection of BerkeleyDB database files; any process which
-          accesses the repository directly needs to have proper read
-          and write permissions on the entire repository.  If you're
-          not careful, this can lead to a number of headaches.  Be
+          collection of database files; any process which accesses the
+          repository directly needs to have proper read and write
+          permissions on the entire repository.  If you're not
+          careful, this can lead to a number of headaches, especially
+          if you're using a BerkeleyDB database rather than FSFS.  Be
           sure to read <xref linkend="svn-ch-6-sect-5"/>.</para>
 
         <para>Secondly, when configuring <command>svnserve</command>,
@@ -689,24 +690,17 @@
           specific paths within the repository.  For many projects and
           sites, this level of access control is more than adequate.
           However, if you need per-directory access control, you'll
-          need to use Apache instead of <command>svnserve</command> as
-          your server process.</para>
+          need to use either use Apache with
+          <command>mod_authz_svn</command> (see <xref
+          linkend="svn-ch-6-sect-4.4.2"/>) or use a
+          <command>pre-commit</command> hook script to control write
+          access (see <xref linkend="svn-ch-5-sect-2.1"/>).  The
+          Subversion distribution comes with
+          <command>commit-access-control.pl</command> and the more
+          sophisticated <command>svnperms.py</command> scripts for use
+          in pre-commit scripts.</para>
 
       </sect3>
-
-    </sect2>
-
-
-    <sect2 id="svn-ch-6-sect-3.3">
-      <title>External path-based authorization</title>
-
-      <para>While <command>svnserve</command> itself does not provide
-        any means to control per-path authorization, a pre-commit hook
-        can be used to enforce per-path write access control. The
-        Subversion distribution comes with
-        <command>commit-access-control.pl</command> and the more
-        sophisticated <command>svnperms.py</command> scripts for use
-        in pre-commit scripts.</para>
     </sect2>
 
     <sect2 id="svn-ch-6-sect-3.4">



More information about the svnbook-dev mailing list