svn commit: r39962 - head/en_US.ISO8859-1/articles/committers-guide
Eitan Adler
eadler at FreeBSD.org
Fri Nov 9 12:14:00 UTC 2012
Author: eadler
Date: Fri Nov 9 12:14:00 2012
New Revision: 39962
URL: http://svnweb.freebsd.org/changeset/doc/39962
Log:
SVK is no longer actively developed.
Approved by: jkois (mentor)
Modified:
head/en_US.ISO8859-1/articles/committers-guide/article.xml
Modified: head/en_US.ISO8859-1/articles/committers-guide/article.xml
==============================================================================
--- head/en_US.ISO8859-1/articles/committers-guide/article.xml Fri Nov 9 10:06:11 2012 (r39961)
+++ head/en_US.ISO8859-1/articles/committers-guide/article.xml Fri Nov 9 12:14:00 2012 (r39962)
@@ -370,7 +370,7 @@
<sect2 id="svn-getting-started">
<title>Getting Started</title>
- <para>There are three ways to obtain a working copy of the tree
+ <para>There are a few ways to obtain a working copy of the tree
from Subversion. This section will explain them.</para>
<sect3>
@@ -466,119 +466,6 @@
information on how to set one up.</para>
</sect3>
- <sect3>
- <title>Checkout from a Local Mirror Using
- <acronym>SVK</acronym></title>
-
- <para>The third alternative is to use <acronym>SVK</acronym>
- to maintain a local mirror. It is a version control system
- build on top of Subversion's storage engine. It is
- identical to Subversion in most respects, except that it
- allows for setting up parts of repositories as mirrors of
- other repositories, and keeping local branches for merging
- back into the upstream repositories. There are extensions
- that allow <acronym>SVK</acronym> to mirror
- Perforce repositories in addition
- to Subversion ones.</para>
-
- <para>Like everything, <acronym>SVK</acronym> has its
- disadvantages, one being that local revision numbers will
- not match upstream revision numbers. This makes it
- difficult to <command>svk log</command>, <command>svk
- diff</command>, or <command>svk update</command> to an
- arbitrary upstream revision.</para>
-
- <para>To set up a mirror of the &os; repository, do:</para>
-
- <screen>&prompt.user; <userinput>svk mirror svn+ssh://svn.freebsd.org/base //freebsd/base</userinput></screen>
-
- <para>The local <acronym>SVK</acronym> repository will be
- stored in <filename
- class="directory">~/.svk/local/</filename>, but can be
- moved to an alternate location. If it is moved,
- <filename>~/.svk/config</filename> should be amended
- manually to reflect the move.</para>
-
- <para>Any path can be used, not just the one in the example
- above. A common pattern is to place mirrors under
- <literal>//mirror</literal>, e.g.,
- <filename
- class="directory">//mirror/freebsd/base/</filename>, and
- local branches under <literal>//local</literal>.</para>
-
- <para>To pull down the contents of the repository to the
- mirror:</para>
-
- <screen>&prompt.user; <userinput>svk sync //freebsd/base</userinput></screen>
-
- <note>
- <para><command>svk sync</command> will take a very long
- time, possibly several days over a slow network
- connection. &a.peter; has a tarball that can be used to
- jumpstart the mirror, but only if one does not exist
- already.</para>
- </note>
-
- <para>To use the tarball referenced above:</para>
-
- <screen>&prompt.user; <userinput>cd ~</userinput>
-&prompt.user; <userinput>scp freefall:/home/peter/dot_svk_r179646.tbz2 .</userinput>
-&prompt.user; <userinput>tar xf dot_svk_r179646.tbz2</userinput></screen>
-
- <para>Then edit <filename>~/.svk/config</filename> and replace
- <filename
- class="directory">/scratch/tmp/peter/.svk/local/</filename>
- with the equivalent of <filename
- class="directory">/home/<replaceable>jarjar</replaceable>/.svk/local/</filename>.</para>
-
- <para>You can check out files directly from your mirror, once
- it has been created:</para>
-
- <screen>&prompt.user; <userinput>svk checkout //freebsd/base/head /usr/src</userinput></screen>
-
- <para>Unlike <acronym>SVN</acronym>, <acronym>SVK</acronym>
- does not store metadata or reference copies in the working
- copy. All metadata is recorded in
- <filename>~/.svk/config</filename>; reference copies are not
- used at all because <acronym>SVK</acronym> always operates
- on a local repository.</para>
-
- <para>When committing from a working copy like the one above,
- <acronym>SVN</acronym> will commit directly to the upstream
- repository, then synchronise the mirror.</para>
-
- <para>However, the <quote>killer app</quote> for
- <acronym>SVK</acronym> is the ability to work without a
- network connection. To do that, a local branch must be set
- up:</para>
-
- <screen>&prompt.user; <userinput>svk mkdir //local/freebsd</userinput>
-&prompt.user; <userinput>svk copy //freebsd/base/head //local/freebsd/head</userinput></screen>
-
- <para>Once again, any path can be used, it does not have to
- specifically be the one in the example.</para>
-
- <para>Before use, the local branch has to be synchronized,
- like so:</para>
-
- <screen>&prompt.user; <userinput>svk pull //local/freebsd/head</userinput></screen>
-
- <para>Then check out from the newly created local
- branch:</para>
-
- <screen>&prompt.user; <userinput>svk checkout //local/freebsd/head /usr/src</userinput></screen>
-
- <para>The point of this exercise is showing that it is
- possible to commit work-in-progress to a local branch, and
- only push it to the upstream repository when work is
- complete. The easy way to push is with <command>svk
- push</command>, but there is a serious disadvantage to it:
- it will push every single commit made to the local branch
- incrementally instead of lumping them all into a single
- commit. Therefore, using <command>svk smerge</command> is
- preferable.</para>
- </sect3>
-
<sect3 id="subversion-primer-base-layout">
<title><literal>RELENG_*</literal> Branches and General
Layout</title>
More information about the svn-doc-head
mailing list