You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by pl...@lanminds.com on 2002/10/10 13:57:45 UTC

[PATCH] FAQ additions

Hi all,

I've added the following FAQs to the project_faq.html file:

	# How do I check out the Subversion code?
	# How do I manage several different projects under Subversion?
	# How do I merge two completely separate repositories?
	# How do I submit a patch for Subversion?

With answers.

I've also added a "Back to top..." link under each major section and 
under the answer to each question for easier navigation.

I've quoted a few people from the list and included their names/
e-mail addresses for proper attribution, I hope that's okay.
(I added NOSPAM to the e-mail addresses just in case!).

The patch is in-line below.

Seeya,
Paul

8<----------------------8<----------------------8<----------------------8<----
Index: www/project_faq.html
===================================================================
--- www/project_faq.html
+++ www/project_faq.html	Thu Oct 10 09:56:28 2002
@@ -1,4 +1,4 @@
-<h1>Subversion FAQ</h1>
+<a name="top"><h1>Subversion FAQ</h1></a>
 
 <p>
 
@@ -31,14 +31,25 @@
 <li><a href="#more-information">I have other questions.  Where can I
     get more information?</a></li>  
 <p>
+
+<p><a href="#top">Back to top...</a></p>
+
 <strong>How-to:</strong>
 </p>
+<li><a href="#co-svn">How do I check out the Subversion code?</a></li>
 <li><a href="#repository">How do I create a repository?  How do I
     import data into it?</a></li> 
 <li><a href="#proxy">What if I'm behind a proxy?</a></li>
 <li><a href="#paranoid">My admins don't want me to have a HTTP server for
     Subversion.  What can I do if I still want remote usage?</a></li> 
+<li><a href="#multi-proj">How do I manage several different projects
+    under Subversion?</li></a>
+<li><a href="#multi-merge">How do I merge two completely separate repositories?</li></a>
+<li><a href="#patch">How do I submit a patch for Subversion?</a></li>
 <p>
+
+<p><a href="#top">Back to top...</a></p>
+
 <strong>Troubleshooting:</strong>
 </p>
 <li><a href="#unrecognized-url-error">I just built the distribution
@@ -59,6 +70,9 @@
     server sometimes seems to send out corrupted data.  Can this really be
     happening?</a></li>  
 <p>
+
+<p><a href="#top">Back to top...</a></p>
+
 <strong>References:</strong>
 </p>
 <li><a href="#http-methods">What are all the HTTP methods Subversion 
@@ -82,6 +96,8 @@
 revision control system that is very similar to CVS, but fixes many
 things that are broken.  See our front page.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="collab">Is Subversion proprietary?  I heard that it
@@ -98,6 +114,8 @@
 modify, and redistribute Subversion as you please; no permission from
 CollabNet or anyone else is required.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="stable">Is Subversion stable enough for me to use for my
@@ -132,6 +150,8 @@
 
 </ul>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="portability">What operating systems does Subversion run
@@ -154,6 +174,8 @@
 practice, it's difficult to get the Subversion repository running on
 non-Unix platforms; if you succeed, we'd like to hear about it.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="filesystem">What's all this about a new filesystem?  Is
@@ -169,6 +191,8 @@
 that this particular filesystem doesn't lose data when written to; old
 versions of files and directories are saved.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="apache-extension">I heard that Subversion is an Apache
@@ -182,6 +206,8 @@
 its network protocol, see our <a
 href="http://subversion.tigris.org/servlets/ProjectDocumentList">docs.</a></p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="need-apache">Does this mean I have to set up Apache to
@@ -194,6 +220,8 @@
 server, please read our <a
 href="http://svn.collab.net/repos/svn/trunk/INSTALL">INSTALL</a> document.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3>I run Apache 1.x right now, and can't switch to Apache 2.0 just to
@@ -208,6 +236,8 @@
 make sure to specify that port when you publish your repository URL
 (e.g., <tt>http://svn.mydomain.com:8080/repos/blah/trunk/</tt>).</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="feature-x">Why don't you do X, just like SCM system Y?</a></h3>
@@ -216,6 +246,8 @@
 attempting to imitate all the best features of every SCM system out
 there.  We're trying to replace CVS.  See the first question.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="globalrev">Why does the entire repository share the 
@@ -239,6 +271,8 @@
 get a much better picture of a code-base's rate of change.
 </p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="release">When's the next release?</a></h3>
@@ -247,6 +281,8 @@
 href="http://subversion.tigris.org/project_status.html">
 http://subversion.tigris.org/project_status.html</a>.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3>I have other questions.  Where can I get more<a
@@ -258,6 +294,8 @@
 channel #svn on <a
 href="http://www.openprojects.net">irc.openprojects.net</a>.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[=========================================================]]>
 
 <p>
@@ -268,6 +306,14 @@
 
 <![CDATA[-----------------------------------------------------------]]>
 
+<h3><a name="co-svn">How do I check out the Subversion code?</a></h3>
+<p>Use the subversion client:
+<pre>
+	svn co http://svn.collab.net/repos/svn/trunk subversion
+</pre>
+<p>
+<p><a href="#top">Back to top...</a></p>
+
 <h3><a name="repository">How do I create a repository?  How do I
 import data into it?</a></h3>
 
@@ -276,6 +322,8 @@
 http://svn.collab.net/repos/svn/trunk/README</a>;  specifically, look
 at section IV, the "Quickstart Guide".</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="proxy">What if I'm behind a proxy?</a></h3>
@@ -332,6 +380,8 @@
 <tt>./configure</tt> script.  You can check to see whether the 'https'
 schema is supported by running <tt>svn --version</tt>.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[=========================================================]]>
 
 <h3><a name="paranoid"/>My admins don't want me to have a HTTP server for
@@ -399,8 +449,139 @@
 <li><a href="http://www.zip.com.au/~roca/ttssh.html">TTSSH: A Win32 SSH client capable of port forwarding</a></li>
 </ul>
 
+<p><a href="#top">Back to top...</a></p>
+
+<![CDATA[=========================================================]]>
+
+<h3><a name="multi-proj">How do I manage several different projects under Subversion?</a></h3>
+
+<p>It depends upon the projects involved.  If the projects are
+related, and are likely to share data, then it's best to create one
+repository with several subdirectories like this:
+<pre>
+	$ svnadmin create /repo/svn
+	$ svn mkdir file:///repo/svn/projA
+	$ svn mkdir file:///repo/svn/projB
+	$ svn mkdir file:///repo/svn/projC
+</pre>
+
+If the projects are completely unrelated, and not likely to share data
+between them, then it's probably best to create separate and unrelated
+repositories.
+<pre>
+	$ mkdir /repo/svn
+	$ svnadmin create /repo/svn/projA
+	$ svnadmin create /repo/svn/projB
+	$ svnadmin create /repo/svn/projC
+</pre>
+<p>
+The difference between these two approaches is this (as explained by
+Ben Collins-Sussman <su...@NOSPAMcollab.net>):
+
+<ul>
+  <li>
+    <pre>
+     In the first case, code can easily be copied or moved around
+     between projects, and the history is preserved.  ('svn cp/mv'
+     currently only works within a single repository.)
+    </pre>
+  </li>
+  <li>
+    <pre>
+     Because revision numbers are repository-wide, a commit to any
+     project in the first case causes a global revision bump.  So it
+     might seem a bit odd if somebody has 'projB' checked out, notices
+     that 10 revisions have happened, but projB hasn't changed at
+     all.  Not a big deal, really.  Just a little weird at first.
+     This already happens to svn, everytime people commit to
+     rapidsvn.  :-)
+    </pre>
+  </li>
+  <li>
+    <pre>
+     The second case might be easier to secure; it's easier to insulate
+     projects from each other (in terms of users and permissions)
+     using Apache's access control.  In the 2nd case, you'll need a
+     fancy hook script in the repository that distinguishes projects
+     ("is this user allowed to commit to this particular subdir?")  Of
+     course, we already have such a script, ready for you to use.
+    </pre>
+  </li>
+</ul>
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[=========================================================]]>
 
+<h3><a name="multi-merge">How do I merge two completely separate repositories?</a></h3>
+
+<p>If you don't care about retaining all the history of one of the
+repositories, you can just create a new directory under one project's
+repository, then import the other.
+
+<p>If you care about retaining the history of both, then you can use 'svn
+dump' to dump one repository, and 'svn load' to load it into the other
+repository.  The revision numbers will be off, but you'll still have
+the history.
+
+<p>Peter Davis <pe...@NOSPAMpdavis.cx> also explains a method using svn's
+equivalent to CVS modules:
+
+<p><blockquote>
+
+	<p>As long as the merging takes place in separate directory
+	trees, you can use svn's version of CVS modules.
+
+	<p>Set the <em>svn:externals</em> property on a directory to checkout
+	directories from other repositories whenever the original
+	directory is checked out.  The repository remains separate,
+	but in the working copy it appears that they have been merged.
+	If you commit to the imported directory, it will affect the
+	external repository.
+
+	<p>The merge isn't completely clean: the import only affects
+	working copies, so you won't be able to use a URL in the first
+	repository to access modules imported from the second.  They
+	remain separate URLs.
+</blockquote>
+
+<p><a href="#top">Back to top...</a></p>
+
+<![CDATA[=========================================================]]>
+
+<h3><a name="patch">How do I submit a patch for Subversion?</a></h3>
+
+<p>FIRST, read the <a href="http://svn.collab.net/repos/svn/trunk/HACKING">HACKING</a> document.
+
+<p>Once you've digested that, send a mail to the dev list with the word
+[PATCH] and a one-line description in the subject, and include the
+patch inline in your mail (unless your MUA munges it up totally). Then
+a committer will pick it up, apply it (making any formatting or
+content changes necessary), check it in, and hit the magic button that
+updates the Tigris site.
+
+<p>The basic process looks like this:
+<pre>
+<blockquote>
+	$ svn co http://svn.collab.net/repos/svn/trunk subversion
+	$ cd subversion/www
+
+		[ make changes to project_faq.html ]
+	
+	$ svn diff project_faq.html > /tmp/foo
+
+	$ Mail -s "[PATCH] FAQ updates" < /tmp/foo
+</blockquote>
+</pre>
+
+Of course, the e-mail you send should contain a nice long
+explanation about what the patch does, as per the
+<ahref="http://svn.collab.net/repos/svn/trunk/HACKING">HACKING</a>
+document, but you already know that, since you read and completely
+understood it <em>before</em> actually hacking the code, right? :)
+
+<p><a href="#top">Back to top...</a></p>
+
+<![CDATA[=========================================================]]>
 <p>
 <hr>
 <p>
@@ -432,6 +613,8 @@
 can also specify the library directory in the LD_LIBRARY_PATH environment
 variable.</p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3><a name="db-recover">I'm getting errors finding or opening a repository,
@@ -479,6 +662,8 @@
 at all.  We're working on it, and volunteers are welcome :-).
 </p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3>I'm getting strange errors in my httpd error log, and Subversion
@@ -498,6 +683,8 @@
 will sometimes be necessary.
 </p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3>When I run `<tt>configure</tt>', I get errors about
@@ -512,6 +699,8 @@
 building with are completely up-to-date, and try again.
 </p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
  
 <h3>I'm having trouble building Subversion under Windows with MSVC++ 6.0.
@@ -522,6 +711,8 @@
 ships with VC++ 6.0 is not recent enough.
 </p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3>I'm running Subversion under windows and I can create a repository
@@ -541,6 +732,8 @@
 svn import file:///some/path/to/repos/on/d/drive e:\file\to\be\imported
 </pre>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[-----------------------------------------------------------]]>
 
 <h3>I'm having trouble doing write <a name="write-over-dav">
@@ -575,6 +768,8 @@
 the httpd process.  Check the permissions to ensure Apache can write
 to the <tt>dav/</tt> directory (and to <tt>db/</tt>, of course).  </p>
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[=========================================================]]>
 
 
@@ -613,6 +808,8 @@
 Windows XP."</p>
 
 
+<p><a href="#top">Back to top...</a></p>
+
 <![CDATA[=========================================================]]>
 
 
@@ -680,6 +877,8 @@
 </blockquote>
 
 </p>
+
+<p><a href="#top">Back to top...</a></p>
 
 <![CDATA[-----------------------------------------------------------]]>
 






---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] FAQ additions

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Paul Lussier <pl...@lanminds.com> writes:
> >Those look like they should be 'svnadmin dump' and 'svnadmin load'
> >respectively.
> 
> Care to make the correction, or should I and resubmit the patch?

Would you mind doing that?  It makes things a little easier if we have
a "latest patch with all review incorporated"... at least, the way I'm
managing my ever-growing patch archive, this makes it easier :-).

Thanks,
-K

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] FAQ additions

Posted by Paul Lussier <pl...@lanminds.com>.
In a message dated: Thu, 10 Oct 2002 21:52:36 BST
Colin Watson said:

>On Thu, Oct 10, 2002 at 09:57:45AM -0400, pll@lanminds.com wrote:
>> +<p>If you care about retaining the history of both, then you can use 'svn
>> +dump' to dump one repository, and 'svn load' to load it into the other
>> +repository.  The revision numbers will be off, but you'll still have
>> +the history.
>
>Those look like they should be 'svnadmin dump' and 'svnadmin load'
>respectively.

Care to make the correction, or should I and resubmit the patch?
-- 

Seeya,
Paul
--
	It may look like I'm just sitting here doing nothing,
   but I'm really actively waiting for all my problems to go away.

	 If you're not having fun, you're not doing it right!



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] FAQ additions

Posted by Colin Watson <cj...@flatline.org.uk>.
On Thu, Oct 10, 2002 at 09:57:45AM -0400, pll@lanminds.com wrote:
> +<p>If you care about retaining the history of both, then you can use 'svn
> +dump' to dump one repository, and 'svn load' to load it into the other
> +repository.  The revision numbers will be off, but you'll still have
> +the history.

Those look like they should be 'svnadmin dump' and 'svnadmin load'
respectively.

-- 
Colin Watson                                  [cjwatson@flatline.org.uk]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org