The "svn switch" tip isn't needed anymore, but the ControlMaster
tip can help with TCP latency. While here: modernize the makefile options and clarify the text Approved by: bcr (mentor)
This commit is contained in:
parent
b5d2b293a7
commit
317efb77f2
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=40292
1 changed files with 10 additions and 28 deletions
|
@ -1883,37 +1883,20 @@ U stable/9/share/man/man4/netmap.4
|
|||
<para>Don't remove and re-add the same file in a single commit
|
||||
as this will break the CVS exporter.</para>
|
||||
|
||||
<para>Speeding up checkouts and minimising network traffic is
|
||||
possible with the following recipe:</para>
|
||||
<para>Speeding up svn is
|
||||
possible by adding the following to <filename>~/.ssh/config</filename>:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>svn co --depth=empty svn+ssh://svn.freebsd.org/base fbsvn</userinput>
|
||||
&prompt.user; <userinput>cd fbsvn</userinput>
|
||||
&prompt.user; <userinput>svn up --depth=empty stable</userinput>
|
||||
&prompt.user; <userinput>svn up head</userinput>
|
||||
&prompt.user; <userinput>cd stable</userinput>
|
||||
&prompt.user; <userinput>cp -r ../head/ 7</userinput>
|
||||
&prompt.user; <userinput>cd 7</userinput>
|
||||
&prompt.user; <userinput>svn switch svn+ssh://svn.freebsd.org/base/stable/7</userinput>
|
||||
&prompt.user; <userinput>cd ..</userinput>
|
||||
&prompt.user; <userinput>cp -r 7/ 6</userinput>
|
||||
&prompt.user; <userinput>cd 6</userinput>
|
||||
&prompt.user; <userinput>svn switch svn+ssh://svn.freebsd.org/base/stable/6</userinput></screen>
|
||||
<screen>Host *
|
||||
ControlPath ~/.ssh/sockets/master-%l-%r@%h:%p
|
||||
ControlMaster auto
|
||||
ControlPersist yes</screen>
|
||||
|
||||
<para>What this bit of evil does is check out head, stable/7 and
|
||||
stable/6. We create the empty checkout directories under
|
||||
<acronym>SVN</acronym>'s control. In <acronym>SVN</acronym>,
|
||||
subtrees are self identifying, like in <acronym>CVS</acronym>.
|
||||
We check out head and clone it as stable/7. Except we don't
|
||||
want the head version so we <quote>switch</quote> it to the
|
||||
7.x tree location. <acronym>SVN</acronym> downloads diffs to
|
||||
convert the <quote>head</quote> files to
|
||||
<quote>stable/7</quote> instead of doing a fresh checkout.
|
||||
The same goes for stable/6. This does, however, definitely
|
||||
count as abuse of the working copy client code!</para>
|
||||
<para>and then typing</para>
|
||||
<screen><userinput>mkdir ~/.ssh/sockets</userinput></screen>
|
||||
|
||||
<para>Checking out a working copy with a stock Subversion client
|
||||
without &os;-specific patches
|
||||
(<makevar>WITH_FREEBSD_TEMPLATE</makevar>) will mean that
|
||||
(<makevar>OPTIONS_SET=FREEBSD_TEMPLATE</makevar>) will mean that
|
||||
<literal>$FreeBSD$</literal> tags will not be
|
||||
expanded. Once the correct version has been installed, trick
|
||||
Subversion into expanding them like so:</para>
|
||||
|
@ -1921,8 +1904,7 @@ U stable/9/share/man/man4/netmap.4
|
|||
<screen>&prompt.user; <userinput>svn propdel -R svn:keywords .</userinput>
|
||||
&prompt.user; <userinput>svn revert -R .</userinput></screen>
|
||||
|
||||
<para>This is not a good idea if uncommitted patches exist,
|
||||
however.</para>
|
||||
<para>This will wipe out uncommitted patches.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
|
|
Loading…
Reference in a new issue