Date: Mon, 12 Nov 2012 13:42:14 -0500 (EST) From: Benjamin Kaduk <kaduk@MIT.EDU> To: undisclosed-recipients:; Cc: svn-doc-head@freebsd.org, svn-doc-all@freebsd.org, doc-committers@freebsd.org Subject: Re: svn commit: r39962 - head/en_US.ISO8859-1/articles/committers-guide Message-ID: <alpine.GSO.1.10.1211121341450.2164@multics.mit.edu> In-Reply-To: <201211091214.qA9CE021067305@svn.freebsd.org> References: <201211091214.qA9CE021067305@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.GSO.1.10.1211121341450.2164>