Source string Read only

(itstool) path: note/para
328/3280
Context English State
Introduction
The FreeBSD source repository switched from <acronym>CVS</acronym> to Subversion on May 31st, 2008. The first real <acronym>SVN</acronym> commit is <emphasis>r179447</emphasis>.
The FreeBSD <literal>doc/www</literal> repository switched from <acronym>CVS</acronym> to Subversion on May 19th, 2012. The first real <acronym>SVN</acronym> commit is <emphasis>r38821</emphasis>.
The FreeBSD <literal>ports</literal> repository switched from <acronym>CVS</acronym> to Subversion on July 14th, 2012. The first real <acronym>SVN</acronym> commit is <emphasis>r300894</emphasis>.
Subversion can be installed from the FreeBSD Ports Collection by issuing these commands:
<prompt>#</prompt> <userinput>pkg install subversion</userinput>
Getting Started
There are a few ways to obtain a working copy of the tree from Subversion. This section will explain them.
Direct Checkout
The first is to check out directly from the main repository. For the <literal>src</literal> tree, use:
<prompt>%</prompt> <userinput>svn checkout svn+ssh://repo.freebsd.org/base/head /usr/src</userinput>
For the <literal>doc</literal> tree, use:
<prompt>%</prompt> <userinput>svn checkout svn+ssh://repo.freebsd.org/doc/head /usr/doc</userinput>
For the <literal>ports</literal> tree, use:
<prompt>%</prompt> <userinput>svn checkout svn+ssh://repo.freebsd.org/ports/head /usr/ports</userinput>
Though the remaining examples in this document are written with the workflow of working with the <literal>src</literal> tree in mind, the underlying concepts are the same for working with the <literal>doc</literal> and the <literal>ports</literal> tree. Ports related Subversion operations are listed in <xref linkend="ports"/>.
The above command will check out a <literal>CURRENT</literal> source tree as <filename><replaceable>/usr/src/</replaceable></filename>, which can be any target directory on the local filesystem. Omitting the final argument of that command causes the working copy, in this case, to be named <quote>head</quote>, but that can be renamed safely.
<literal>svn+ssh</literal> means the <acronym>SVN</acronym> protocol tunnelled over <acronym>SSH</acronym>. The name of the server is <literal>repo.freebsd.org</literal>, <literal>base</literal> is the path to the repository, and <literal>head</literal> is the subdirectory within the repository.
If your FreeBSD login name is different from the login name used on the local machine, either include it in the <acronym>URL</acronym> (for example <literal>svn+ssh://jarjar@repo.freebsd.org/base/head</literal>), or add an entry to <filename>~/.ssh/config</filename> in the form:
Host repo.freebsd.org
User jarjar
This is the simplest method, but it is hard to tell just yet how much load it will place on the repository.
The <command>svn diff</command> does not require access to the server as <acronym>SVN</acronym> stores a reference copy of every file in the working copy. This, however, means that Subversion working copies are very large in size.
<literal>RELENG_*</literal> Branches and General Layout
In <literal>svn+ssh://repo.freebsd.org/base</literal>, <emphasis>base</emphasis> refers to the source tree. Similarly, <emphasis>ports</emphasis> refers to the ports tree, and so on. These are separate repositories with their own change number sequences, access controls and commit mail.
For the base repository, HEAD refers to the -CURRENT tree. For example, <filename>head/bin/ls</filename> is what would go into <filename>/usr/src/bin/ls</filename> in a release. Some key locations are:
<emphasis>/head/</emphasis> which corresponds to <literal>HEAD</literal>, also known as <literal>-CURRENT</literal>.
<emphasis>/stable/<replaceable>n</replaceable></emphasis> which corresponds to <literal>RELENG_<replaceable>n</replaceable></literal>.
<emphasis>/releng/<replaceable>n.n</replaceable></emphasis> which corresponds to <literal>RELENG_<replaceable>n_n</replaceable></literal>.
<emphasis>/release/<replaceable>n.n.n</replaceable></emphasis> which corresponds to <literal>RELENG_<replaceable>n_n_n</replaceable>_RELEASE</literal>.
<emphasis>/vendor*</emphasis> is the vendor branch import work area. This directory itself does not contain branches, however its subdirectories do. This contrasts with the <emphasis>stable</emphasis>, <emphasis>releng</emphasis> and <emphasis>release</emphasis> directories.
<emphasis>/projects</emphasis> and <emphasis>/user</emphasis> feature a branch work area. As above, the <emphasis>/user</emphasis> directory does not contain branches itself.

Loading…

No matching activity found.

Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: note/para
Flags
read-only
Source string location
article.translate.xml:541
String age
a year ago
Source string age
a year ago
Translation file
articles/committers-guide.pot, string 105