svn commit: r39962 - head/en_US.ISO8859-1/articles/committers-guide
Benjamin Kaduk
kaduk at MIT.EDU
Mon Nov 12 18:47:26 UTC 2012
For those wanting more details,
http://lists.bestpractical.com/pipermail/svk-devel/2009-May/001224.html
seems like a good place to start.
-Ben Kaduk
On Fri, 9 Nov 2012, Eitan Adler wrote:
> 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