- Add information about Subversion
PR: docs/169771 Submitted by: myself, modified by wblock Approved by: wblock
This commit is contained in:
parent
9e29aa6651
commit
dde18e8c3c
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=39216
2 changed files with 51 additions and 66 deletions
|
@ -143,7 +143,7 @@ USE_IMAKE= yes
|
|||
|
||||
<para>See if you can figure it out. Do not worry about the
|
||||
contents of the <literal>$FreeBSD$</literal>
|
||||
line, it will be filled in automatically by CVS when the port
|
||||
line, it will be filled in automatically by SVN when the port
|
||||
is imported to our main ports tree. You can find a more
|
||||
detailed example in the <link
|
||||
linkend="porting-samplem">sample Makefile</link>
|
||||
|
@ -716,7 +716,7 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
|
|||
<filename>patch-ab</filename> etc, always mention the path and
|
||||
file name in patch names.</para>
|
||||
|
||||
<para>Do not put RCS strings in patches. CVS will mangle them
|
||||
<para>Do not put RCS strings in patches. SVN will mangle them
|
||||
when we put the files into the ports tree, and when we check
|
||||
them out again, they will come out different and the patch
|
||||
will fail. RCS strings are surrounded by dollar
|
||||
|
@ -747,7 +747,7 @@ PLIST_DIRS= lib/X11/oneko</programlisting>
|
|||
take a working piece of functionality from one project to fix
|
||||
similar areas in another, please be careful: the resulting
|
||||
line patch may be full of non-functional changes. It not only
|
||||
increases the size of the CVS repository but makes it hard to
|
||||
increases the size of the SVN repository but makes it hard to
|
||||
find out what exactly caused the problem and what you changed
|
||||
at all.</para>
|
||||
|
||||
|
@ -4144,7 +4144,7 @@ ${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
|
|||
<para>These variables are designed to be set by the system
|
||||
administrator. There are many that are standardized in
|
||||
the <ulink
|
||||
url="http://www.freebsd.org/cgi/cvsweb.cgi/ports/KNOBS?rev=HEAD&content-type=text/x-cvsweb-markup"><filename>ports/KNOBS</filename></ulink>
|
||||
url="http://svn.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>ports/KNOBS</filename></ulink>
|
||||
file.</para>
|
||||
|
||||
<para>When creating a port, do not make knob names specific
|
||||
|
@ -4224,7 +4224,7 @@ ${MANPREFIX}/man/de/man3/baz.3.gz</programlisting>
|
|||
for the benefit of end-users and to help keep the number
|
||||
of knob names down. A list of popular knob names can be
|
||||
found in the <ulink
|
||||
url="http://www.freebsd.org/cgi/cvsweb.cgi/ports/KNOBS?rev=HEAD&content-type=text/x-cvsweb-markup">KNOBS</ulink>
|
||||
url="http://svn.FreeBSD.org/ports/head/KNOBS?view=markup"><filename>KNOBS</filename></ulink>
|
||||
file.</para>
|
||||
|
||||
<para>Knob names should reflect what the knob is and does.
|
||||
|
@ -6951,8 +6951,8 @@ QT_COMPONENTS= moc_build qmake_build rcc_build uic_build</programlisting>
|
|||
section are implemented in <filename>bsd.java.mk</filename>.
|
||||
If you ever think that your port needs more sophisticated
|
||||
Java support, please first have a look at the <ulink
|
||||
url="http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.java.mk">
|
||||
bsd.java.mk CVS log</ulink> as it usually takes some time
|
||||
url="http://svn.FreeBSD.org/ports/head/Mk/bsd.java.mk?view=markup">bsd.java.mk
|
||||
SVN log</ulink> as it usually takes some time
|
||||
to document the latest features. Then, if you think the
|
||||
support you are lacking would be beneficial to many other
|
||||
Java ports, feel free to discuss it on the &a.java;.</para>
|
||||
|
@ -9066,8 +9066,7 @@ CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}"
|
|||
</table>
|
||||
|
||||
<para>More details are available in <ulink
|
||||
url="http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.database.mk">
|
||||
bsd.database.mk</ulink>.</para>
|
||||
url="http://svn.FreeBSD.org/ports/head/Mk/bsd.database.mk?view=markup">bsd.database.mk</ulink>.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="rc-scripts">
|
||||
|
@ -10204,8 +10203,8 @@ as .putsy.conf and edit it.</programlisting>
|
|||
<screen>&prompt.user; <userinput>/usr/bin/diff something.orig something > something.diff</userinput></screen>
|
||||
</informalexample>
|
||||
|
||||
<para>Otherwise, you should either use the <command>cvs
|
||||
diff</command> method (<xref linkend="cvs-diff">) or copy the
|
||||
<para>Otherwise, you should either use the <command>svn
|
||||
diff</command> method (<xref linkend="svn-diff">) or copy the
|
||||
contents of the port to an entire different directory and use
|
||||
the result of the recursive &man.diff.1; output of the new and
|
||||
old ports directories (e.g., if your modified port directory is
|
||||
|
@ -10244,7 +10243,7 @@ as .putsy.conf and edit it.</programlisting>
|
|||
<quote>Class</quote> of your PR should be
|
||||
<literal>change-request</literal>. Please mention any added or
|
||||
deleted files in the message, as they have to be explicitly
|
||||
specified to &man.cvs.1; when doing a commit. If the diff is
|
||||
specified to &man.svn.1; when doing a commit. If the diff is
|
||||
more than about 20KB, please compress and uuencode it;
|
||||
otherwise, just include it in the PR as is.</para>
|
||||
|
||||
|
@ -10273,11 +10272,11 @@ as .putsy.conf and edit it.</programlisting>
|
|||
<para>Now that you have done all that, you will want to read about
|
||||
how to keep up-to-date in <xref linkend="keeping-up">.</para>
|
||||
|
||||
<sect1 id="cvs-diff">
|
||||
<title>Using <literal>CVS</literal> to Make Patches</title>
|
||||
<sect1 id="svn-diff">
|
||||
<title>Using <literal>SVN</literal> to Make Patches</title>
|
||||
|
||||
<para>If you can, please submit a &man.cvs.1; diff; they are
|
||||
easier to handle than diffs between <quote>new and old</quote>
|
||||
<para>If you can, please submit a &man.svn.1 diff; they are easier to
|
||||
handle than diffs between <quote>new and old</quote>
|
||||
directories. Plus it is easier for you to see what you have
|
||||
changed and to update your diff if something is modified in
|
||||
the Ports Collection from when you started to work on it until
|
||||
|
@ -10285,7 +10284,7 @@ as .putsy.conf and edit it.</programlisting>
|
|||
something.</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>cd ~/my_wrkdir</userinput> <co id="my-wrkdir">
|
||||
&prompt.user; <userinput>cvs -d R_CVSROOT co pdnsd</userinput> <co id="R-CVSROOT"> <co id="module-name">
|
||||
&prompt.user; <userinput>svn co svn://svn.FreeBSD.org/ports/head/dns/pdnsd</userinput> <co id="svn-FreeBSD-org">
|
||||
&prompt.user; <userinput>cd ~/my_wrkdir/pdnsd</userinput></screen>
|
||||
|
||||
<calloutlist>
|
||||
|
@ -10296,53 +10295,38 @@ as .putsy.conf and edit it.</programlisting>
|
|||
class="directory">/usr/ports/</filename>.</para>
|
||||
</callout>
|
||||
|
||||
<callout arearefs="R-CVSROOT">
|
||||
<para>R_CVSROOT is any public cvs server, see how to use cvs
|
||||
in the <ulink
|
||||
url="&url.books.handbook;/anoncvs.html">&os;
|
||||
Handbook</ulink>.</para>
|
||||
</callout>
|
||||
|
||||
<callout arearefs="module-name">
|
||||
<para>pdnsd is the module name for the port; it is generally
|
||||
the name of the port, although there are some exceptions,
|
||||
notably for language-specific categories (<filename
|
||||
role="package">german/selfhtml</filename> has the module
|
||||
name de-selfhtml); you can either look up the module name
|
||||
via the <ulink
|
||||
url="&url.base;/cgi/cvsweb.cgi/ports">cvsweb
|
||||
interface</ulink> or use the whole path, in our example
|
||||
<filename
|
||||
class="directory">ports/dns/pdnsd</filename>.</para>
|
||||
<callout arearefs="svn-FreeBSD-org">
|
||||
<para><ulink url="http://svn.FreeBSD.org/">svn.FreeBSD.org</ulink>
|
||||
is a public <literal>SVN</literal> server.</para>
|
||||
</callout>
|
||||
</calloutlist>
|
||||
|
||||
<para>While in the working directory, make any changes that you
|
||||
would usually make to the port. If you add or remove a file,
|
||||
use <command>cvs</command> to track these changes:</para>
|
||||
use <command>svn</command> to track these changes:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>cvs add new_file</userinput>
|
||||
&prompt.user; <userinput>cvs remove deleted_file</userinput></screen>
|
||||
<screen>&prompt.user; <userinput>svn add new_file</userinput>
|
||||
&prompt.user; <userinput>svn remove deleted_file</userinput></screen>
|
||||
|
||||
<para>Make sure that you check the port using the checklist in
|
||||
<xref linkend="porting-testing"> and
|
||||
<xref linkend="porting-portlint">.</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>cvs status</userinput>
|
||||
&prompt.user; <userinput>cvs update</userinput> <co id="cvs-update"></screen>
|
||||
<screen>&prompt.user; <userinput>svn status</userinput>
|
||||
&prompt.user; <userinput>svn update</userinput> <co id="svn-update"></screen>
|
||||
|
||||
<calloutlist>
|
||||
<callout arearefs="cvs-update">
|
||||
<callout arearefs="svn-update">
|
||||
<para>This will try to merge the differences between your
|
||||
patch and current CVS; watch the output carefully. The
|
||||
patch and current SVN; watch the output carefully. The
|
||||
letter in front of each file name indicates what was done
|
||||
with it. See <xref linkend="table-cvs-up"> for a complete
|
||||
with it. See <xref linkend="table-svn-up"> for a complete
|
||||
list.</para>
|
||||
</callout>
|
||||
</calloutlist>
|
||||
|
||||
<table pgwide="1" frame="none" id="table-cvs-up">
|
||||
<title><literal>CVS</literal> Update File Prefixes</title>
|
||||
<table pgwide="1" frame="none" id="table-svn-up">
|
||||
<title><literal>SVN</literal> Update File Prefixes</title>
|
||||
|
||||
<tgroup cols="2">
|
||||
<tbody>
|
||||
|
@ -10352,7 +10336,7 @@ as .putsy.conf and edit it.</programlisting>
|
|||
</row>
|
||||
|
||||
<row>
|
||||
<entry>P</entry>
|
||||
<entry>G</entry>
|
||||
<entry>The file was updated without problems (you will
|
||||
only see this when working against a remote
|
||||
repository).</entry>
|
||||
|
@ -10374,17 +10358,17 @@ as .putsy.conf and edit it.</programlisting>
|
|||
</table>
|
||||
|
||||
<para>If you get <literal>C</literal> as a result of
|
||||
<literal>cvs update</literal> it means something changed in
|
||||
the CVS and &man.cvs.1; was not able to merge your local
|
||||
changes and those from CVS. It is always a good idea to
|
||||
inspect the changes anyway, since <command>cvs</command> does
|
||||
not know anything about how a port should be, so it might (and
|
||||
probably will) merge things that do not make sense.</para>
|
||||
<command>svn update</command> it means something changed in
|
||||
the SVN repository and &man.svn.1; was not able to merge your
|
||||
local changes and those from the repository. It is always a good idea
|
||||
to inspect the changes anyway, since &man.svn.1;
|
||||
does not know anything about how a port should be, so it might
|
||||
(and probably will) merge things that do not make sense.</para>
|
||||
|
||||
<para>The last step is to make a unified &man.diff.1;
|
||||
of the files against CVS:</para>
|
||||
of the files against SVN:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>cvs diff -uN > ../`basename ${PWD}`.diff</userinput></screen>
|
||||
<screen>&prompt.user; <userinput>svn diff -N > ../`basename ${PWD}`.diff</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>It is important to use <option>-N</option> to ensure
|
||||
|
@ -11028,7 +11012,7 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
|
|||
<para>The preferred way to tell 4.3BSD/Reno (1990) and newer
|
||||
versions of the BSD code apart is by using the
|
||||
<literal>BSD</literal> macro defined in <ulink
|
||||
url="http://cvsweb.freebsd.org/src/sys/sys/param.h">sys/param.h</ulink>.
|
||||
url="http://svnweb.freebsd.org/base/head/sys/sys/param.h?view=markup">sys/param.h</ulink>.
|
||||
Hopefully that file is already included; if not, add the
|
||||
code:</para>
|
||||
|
||||
|
@ -11132,7 +11116,7 @@ Reference: <http://www.freebsd.org/ports/portaudit/74a9541d-5d6c-11d8-80e3-00
|
|||
<para>Here is a convenient list of
|
||||
<literal>__FreeBSD_version</literal> values as defined in
|
||||
<ulink
|
||||
url="http://cvsweb.freebsd.org/src/sys/sys/param.h">sys/param.h</ulink>:</para>
|
||||
url="http://svnweb.FreeBSD.org/base/head/sys/sys/param.h?view=markup">sys/param.h</ulink>:</para>
|
||||
|
||||
<table frame="none">
|
||||
<title><literal>__FreeBSD_version</literal> Values</title>
|
||||
|
@ -15782,7 +15766,7 @@ exec %%LOCALBASE%%/bin/java -jar %%DATADIR%%/foo.jar "$@"</programlisting>
|
|||
<title><filename>README.html</filename></title>
|
||||
|
||||
<para>Do not include the <filename>README.html</filename> file.
|
||||
This file is not part of the cvs collection but is generated
|
||||
This file is not part of the SVN collection but is generated
|
||||
using the <command>make readme</command> command.</para>
|
||||
|
||||
<note>
|
||||
|
@ -16198,9 +16182,9 @@ not be changed when upgrading the port later.]
|
|||
# Whom: Satoshi Asami <asami@FreeBSD.org>
|
||||
#
|
||||
# $FreeBSD$
|
||||
[ ^^^^^^^^^ This will be automatically replaced with RCS ID string by CVS
|
||||
[ ^^^^^^^^^ This will be automatically replaced with RCS ID string by SVN
|
||||
when it is committed to our repository. If upgrading a port, do not alter
|
||||
this line back to "$FreeBSD$". CVS deals with it automatically.]
|
||||
this line back to "$FreeBSD$". SVN deals with it automatically.]
|
||||
#
|
||||
|
||||
[section to describe the port itself and the master site - PORTNAME
|
||||
|
@ -16311,20 +16295,20 @@ pre-install:
|
|||
commits.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="cvsweb">
|
||||
<sect1 id="svnweb">
|
||||
<title>The Web Interface to the Source Repository</title>
|
||||
|
||||
<para>It is possible to browse the files in the source
|
||||
repository by using a web interface. Changes that affect the
|
||||
entire port system are now documented in the <ulink
|
||||
url="http://cvsweb.FreeBSD.org/ports/CHANGES">
|
||||
CHANGES</ulink> file. Changes that affect individual ports
|
||||
url="http://svnweb.FreeBSD.org/ports/head/CHANGES">CHANGES</ulink>
|
||||
file. Changes that affect individual ports
|
||||
are now documented in the <ulink
|
||||
url="http://cvsweb.FreeBSD.org/ports/UPDATING">
|
||||
UPDATING</ulink> file. However, the definitive answer to
|
||||
url="http://svnweb.FreeBSD.org/ports/head/UPDATING">UPDATING</ulink>
|
||||
file. However, the definitive answer to
|
||||
any question is undoubtedly to read the source code of <ulink
|
||||
url="http://cvsweb.FreeBSD.org/ports/Mk/bsd.port.mk">
|
||||
bsd.port.mk</ulink>, and associated files.</para>
|
||||
url="http://svnweb.FreeBSD.org/ports/head/Mk/bsd.port.mk">bsd.port.mk</ulink>,
|
||||
and associated files.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="ports-mailling-list">
|
||||
|
|
|
@ -614,6 +614,7 @@
|
|||
<!ENTITY man.su.1 "<citerefentry/<refentrytitle/su/<manvolnum/1//">
|
||||
<!ENTITY man.sum.1 "<citerefentry/<refentrytitle/sum/<manvolnum/1//">
|
||||
<!ENTITY man.suspend.1 "<citerefentry/<refentrytitle/suspend/<manvolnum/1//">
|
||||
<!ENTITY man.svn.1 "<citerefentry/<refentrytitle/svn/<manvolnum/1//">
|
||||
<!ENTITY man.switch.1 "<citerefentry/<refentrytitle/switch/<manvolnum/1//">
|
||||
<!ENTITY man.symorder.1 "<citerefentry/<refentrytitle/symorder/<manvolnum/1//">
|
||||
<!ENTITY man.systat.1 "<citerefentry/<refentrytitle/systat/<manvolnum/1//">
|
||||
|
|
Loading…
Reference in a new issue