Date: Fri, 9 Nov 2012 12:14:00 +0000 (UTC) From: Eitan Adler <eadler@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r39962 - head/en_US.ISO8859-1/articles/committers-guide Message-ID: <201211091214.qA9CE021067305@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211091214.qA9CE021067305>