Play grim reaper and remove the obsolete article about
CVSup Advanced points from the repository including translations. Announced on and no objections from: freebsd-doc mailinglist
This commit is contained in:
parent
fb122a85cf
commit
7feccf6673
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=41535
9 changed files with 0 additions and 959 deletions
|
@ -13,7 +13,6 @@ SUBDIR+= contributors
|
||||||
SUBDIR+= cups
|
SUBDIR+= cups
|
||||||
SUBDIR+= custom-gcc
|
SUBDIR+= custom-gcc
|
||||||
SUBDIR+= cvs-freebsd
|
SUBDIR+= cvs-freebsd
|
||||||
SUBDIR+= cvsup-advanced
|
|
||||||
SUBDIR+= explaining-bsd
|
SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= fbsd-from-scratch
|
SUBDIR+= fbsd-from-scratch
|
||||||
SUBDIR+= filtering-bridges
|
SUBDIR+= filtering-bridges
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
#
|
|
||||||
# Article: CVSup Advanced Points
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
WITH_ARTICLE_TOC?= YES
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?=gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,274 +0,0 @@
|
||||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
|
|
||||||
"../../../share/xml/freebsd42.dtd" [
|
|
||||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//EN" "../../share/xml/entities.ent">
|
|
||||||
%entities;
|
|
||||||
]>
|
|
||||||
|
|
||||||
<article lang='en'>
|
|
||||||
<articleinfo>
|
|
||||||
<title>CVSup Advanced Points</title>
|
|
||||||
|
|
||||||
<authorgroup>
|
|
||||||
<author>
|
|
||||||
<firstname>Salvo</firstname>
|
|
||||||
<surname>Bartolotta</surname>
|
|
||||||
|
|
||||||
<affiliation>
|
|
||||||
<address><email>bartequi@neomedia.it</email></address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
|
|
||||||
<legalnotice id="trademarks" role="trademarks">
|
|
||||||
&tm-attrib.freebsd;
|
|
||||||
&tm-attrib.cvsup;
|
|
||||||
&tm-attrib.general;
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>The present article assumes a basic understanding of <application>CVSup</application>
|
|
||||||
operation. It documents several delicate issues connected with
|
|
||||||
source synchronization via <application>CVSup</application>, viz. effective solutions to
|
|
||||||
the problem of stale files as well as special source updating
|
|
||||||
cases; which issues are likely to cause apparently inexplicable
|
|
||||||
troubles.</para>
|
|
||||||
</abstract>
|
|
||||||
</articleinfo>
|
|
||||||
|
|
||||||
<sect1 id="preface">
|
|
||||||
<title>Preface</title>
|
|
||||||
|
|
||||||
<para>This document is the fruit of the author's attempts to
|
|
||||||
fully understand the niceties of <application>CVSup</application> & source updating. :-)
|
|
||||||
While the author has made every effort to make these pages
|
|
||||||
as informative and correct as possible, he is only human and
|
|
||||||
may have made all sorts of typos, mistakes, etc. He will be
|
|
||||||
very grateful for any comments and/or suggestions you send to
|
|
||||||
his e-mail address, <email>bartequi@neomedia.it</email>.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
|
|
||||||
<sect1 id="introduction">
|
|
||||||
<title>Introduction</title>
|
|
||||||
|
|
||||||
<para>If you have visited
|
|
||||||
<ulink url="http://www.polstra.com/">John Polstra's site</ulink>
|
|
||||||
and read
|
|
||||||
<ulink url="http://www.polstra.com/projects/freeware/CVSup/faq.html">his
|
|
||||||
FAQ</ulink>,
|
|
||||||
you may have noticed Question 12 & 13.</para>
|
|
||||||
|
|
||||||
<para>When updating any collection of sources (eg
|
|
||||||
<filename>/usr/ports</filename>), &man.cvsup.1; makes use of
|
|
||||||
the related checkouts file in order to perform the updating
|
|
||||||
process in the most efficient and correct way. In this example
|
|
||||||
(<filename>/usr/ports</filename>), the related checkouts file
|
|
||||||
is <filename>/usr/sup/ports-all/checkouts.cvs:.</filename> if
|
|
||||||
your base is <filename>/usr</filename>.</para>
|
|
||||||
|
|
||||||
<para>A checkouts file contains information on the current status
|
|
||||||
of your sources—in a way, a sort of <quote>photograph</quote>. This
|
|
||||||
significant information enables <command>cvsup</command> to retrieve updates most
|
|
||||||
effectively. Further, and maybe more important, it enables <command>cvsup</command>
|
|
||||||
to correctly manage your sources by locally deleting any files
|
|
||||||
no longer present in the repository, thus leaving no stale files
|
|
||||||
on your system. In fact, without a checkouts file, <command>cvsup</command> would
|
|
||||||
<emphasis>not</emphasis> know which files your collection was composed of (cf
|
|
||||||
&man.cvsup.1; and the fallback method for details); as a result,
|
|
||||||
it could not delete on your system those files no longer present
|
|
||||||
in the repository. They would remain on your system (stale
|
|
||||||
files), and might cause you subtle build failures or other
|
|
||||||
trouble. For example, this problem is likely to occur if you
|
|
||||||
first update your ports collection several weeks after you
|
|
||||||
got your installation CD-ROMs.</para>
|
|
||||||
|
|
||||||
<para>It is therefore recommended that you adopt the two-step procedure
|
|
||||||
outlined in the <application>CVSup</application> FAQ (cf Q12, Q13); in subsequent sections, you
|
|
||||||
will be given interesting and instructive concrete examples.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="script">
|
|
||||||
<title>A useful python script: <command>cvsupchk</command></title>
|
|
||||||
|
|
||||||
<para>Alternatively, in order to examine your sources for
|
|
||||||
inconsistencies, you may wish to utilize the <command>cvsupchk</command> python
|
|
||||||
script; which script is currently found in
|
|
||||||
<filename>/usr/ports/net/cvsup/work/cvsup-16.1/contrib/cvsupchk</filename>,
|
|
||||||
together with a nice <filename>README</filename>. Prerequisites:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><literal>/usr/ports/net/cvsup</literal> &prompt.root;
|
|
||||||
<userinput> make extract</userinput></para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>python (also found in the ports collection :-))</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>a checkouts file for your collection of sources.</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>If you are updating your sources for the very first time,
|
|
||||||
of course you do not have a checkouts file. After installing
|
|
||||||
python and updating your sources (eg <filename>/usr/ports</filename>),
|
|
||||||
you can check them thus:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/ports-all/checkouts.cvs:. | more</userinput></screen>
|
|
||||||
|
|
||||||
<para>If you want to check your RELENG_4 sources:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/src-all/checkouts.cvs:RELENG_4 | more</userinput></screen>
|
|
||||||
|
|
||||||
<para>In each case, <command>cvsupchk</command> will inspect your sources for
|
|
||||||
inconsistencies by utilizing the information contained in the
|
|
||||||
related checkouts file. Such anomalies as deleted files being
|
|
||||||
present (aka stale files), missing checked-out files, extra RCS
|
|
||||||
files, and dead directories will be printed to standard output.</para>
|
|
||||||
|
|
||||||
<para>In the next section, we will provide important, typical
|
|
||||||
examples of source updating; which examples will show you the
|
|
||||||
role of checkouts files and the dangers of negligent source
|
|
||||||
management.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="examples">
|
|
||||||
<title>Examples of more advanced source management</title>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>How to safely change tags when updating
|
|
||||||
<literal>src-all</literal></title>
|
|
||||||
|
|
||||||
<para>If you specify eg <literal>tag=A</literal> in your <filename>supfile</filename>, <command>cvsup</command> will create
|
|
||||||
a checkouts file called <filename>checkouts.cvs:A</filename>:
|
|
||||||
for instance, if <literal>tag=RELENG_4</literal>, a checkouts file called
|
|
||||||
<filename>checkouts.cvs:RELENG_4</filename> is generated.
|
|
||||||
This file will be used to retrieve and/or store information
|
|
||||||
identifying your 4-STABLE sources.</para>
|
|
||||||
|
|
||||||
<para>When tracking <literal>src-all</literal>, if you wish to
|
|
||||||
pass from <literal>tag=A</literal> to <literal>tag=B</literal> (A less/greater than B not making
|
|
||||||
any difference) and if your checkouts file is
|
|
||||||
<filename>checkouts.cvs:A</filename>, the following actions
|
|
||||||
should be performed:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>&prompt.root; <userinput>mv checkouts.cvs:A
|
|
||||||
checkouts.cvs:B</userinput>
|
|
||||||
(This provides the subsequent step with the appropriate
|
|
||||||
checkouts file)</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>write a <filename>supfile</filename> whose collection line reads:</para>
|
|
||||||
<programlisting>src-all tag=B</programlisting>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>cvsup your sources using the new <filename>supfile</filename>.</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>The <command>cvsup</command> utility will look for <filename>checkouts.cvs:B</filename>—in
|
|
||||||
that the target is B; that is, <command>cvsup</command> will make use of
|
|
||||||
the information contained therein to correctly manage your
|
|
||||||
sources.</para>
|
|
||||||
|
|
||||||
<para>The benefits:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>the sources are dealt with correctly (in particular,
|
|
||||||
no stale files)</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>less load is placed on the server, in that <command>cvsup</command>
|
|
||||||
operates in the most efficient way.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
|
|
||||||
<para>For example, <literal>A=RELENG_4</literal>, <literal>B=.</literal>. The period in <literal>B=.</literal> means
|
|
||||||
-CURRENT. This is a rather typical update, from 4-STABLE
|
|
||||||
to -CURRENT. While it is straightforward to <quote>downgrade</quote> your
|
|
||||||
sources (e.g., from -CURRENT to -STABLE), downgrading a system
|
|
||||||
is quite another matter. You are STRONGLY advised not to
|
|
||||||
attempt such an operation, unless you know exactly what you
|
|
||||||
are doing.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Updating to the same tag as of a different date</title>
|
|
||||||
|
|
||||||
<para>If you wish to switch from <literal>tag=A</literal> to <literal>tag=A</literal> as of a
|
|
||||||
different GMT date (say, <literal>date=D</literal>), you will execute the
|
|
||||||
following:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>write a <filename>supfile</filename> whose collection line reads:</para>
|
|
||||||
<programlisting>src-all tag=A date=D</programlisting>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>update your sources using the new <filename>supfile</filename></para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>Whether the new date precedes that of the last sync
|
|
||||||
operation with <literal>tag=A</literal> or not, it is immaterial. For example,
|
|
||||||
in order to specify the date <quote>August 27, 2000, 10:00:00 GMT</quote>
|
|
||||||
you write the line:</para>
|
|
||||||
|
|
||||||
|
|
||||||
<programlisting>src-all tag=RELENG_4 date=2000.08.27.10.00.00</programlisting>
|
|
||||||
|
|
||||||
<note><para>The format of a date is rigid. You have to specify
|
|
||||||
all the components of the date: century (<quote>20</quote>, i.e., the 21st
|
|
||||||
century, must be supplied whereas <quote>19</quote>, the past century, can
|
|
||||||
be omitted), year, month, day, hour, minutes, seconds—as
|
|
||||||
shown in the above example. For more information, please
|
|
||||||
see &man.cvsup.1;.</para></note>
|
|
||||||
|
|
||||||
<para>Whether or not a date is specified, the checkouts file
|
|
||||||
is called <filename>checkouts.cvs:A</filename> (e.g.,
|
|
||||||
<filename>checkouts.cvs:RELENG_4</filename>). As a result,
|
|
||||||
no particular action is needed in order to revert to the
|
|
||||||
previous state: you have to modify the date in the <filename>supfile</filename>,
|
|
||||||
and run <command>csvup</command> again.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Updating your ports collection for the first time</title>
|
|
||||||
|
|
||||||
<para>If you want to <quote>sync</quote> your ports tree for
|
|
||||||
the first time you should use a tag that matches your &os;
|
|
||||||
installation. E.g., if you have installed the Ports
|
|
||||||
Collection during the installation of &os; 5.3-RELEASE the
|
|
||||||
following should be used:
|
|
||||||
<programlisting>ports-all tag=RELEASE_5_3_0</programlisting>
|
|
||||||
The <command>cvsup</command> program will create a ports
|
|
||||||
checkout file, which is precisely the goal of the first
|
|
||||||
special sync operation. Now we can use the <quote>.</quote>
|
|
||||||
tag to update the tree whenever we feel it should be updated:
|
|
||||||
<programlisting>ports-all tag=.</programlisting>
|
|
||||||
All subsequent updates will be carried out smoothly.</para>
|
|
||||||
|
|
||||||
<para>If you have been reading the apparently nit-picking
|
|
||||||
remarks in these sections, you will probably have recognized
|
|
||||||
the potential for trouble in a source updating process.
|
|
||||||
A number of people have actually run into problems. You have
|
|
||||||
been warned. :-)</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -11,7 +11,6 @@ SUBDIR+= committers-guide
|
||||||
SUBDIR+= contributing
|
SUBDIR+= contributing
|
||||||
SUBDIR+= contributing-ports
|
SUBDIR+= contributing-ports
|
||||||
SUBDIR+= contributors
|
SUBDIR+= contributors
|
||||||
SUBDIR+= cvsup-advanced
|
|
||||||
SUBDIR+= explaining-bsd
|
SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= filtering-bridges
|
SUBDIR+= filtering-bridges
|
||||||
SUBDIR+= fonts
|
SUBDIR+= fonts
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
#
|
|
||||||
# The FreeBSD Documentation Project
|
|
||||||
# The FreeBSD French Documentation Project
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
# Original revision: 1.1
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?=gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
JADEFLAGS+= -V %generate-article-toc%
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,342 +0,0 @@
|
||||||
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
|
|
||||||
"../../../share/xml/freebsd42.dtd" [
|
|
||||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//FR" "../../share/xml/entities.ent">
|
|
||||||
%entities;
|
|
||||||
<!ENTITY % not.published "IGNORE">
|
|
||||||
]>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
The FreeBSD Documentation Project
|
|
||||||
The FreeBSD French Documentation Project
|
|
||||||
|
|
||||||
$FreeBSD$
|
|
||||||
$Id: article.xml,v 1.7 2007-01-20 13:34:48 blackend Exp $
|
|
||||||
Original revision: 1.12
|
|
||||||
-->
|
|
||||||
|
|
||||||
<article lang="fr">
|
|
||||||
<articleinfo>
|
|
||||||
<title>Utilisation avancée de cvsup</title>
|
|
||||||
|
|
||||||
<authorgroup>
|
|
||||||
<author>
|
|
||||||
<firstname>Salvo</firstname>
|
|
||||||
<surname>Bartolotta</surname>
|
|
||||||
|
|
||||||
<affiliation>
|
|
||||||
<address><email>bartequi@neomedia.it</email></address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
|
|
||||||
<legalnotice id="trademarks" role="trademarks">
|
|
||||||
&tm-attrib.freebsd;
|
|
||||||
&tm-attrib.cvsup;
|
|
||||||
&tm-attrib.general;
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>Le présent article suppose une compréhension
|
|
||||||
de base de l'utilisation de <application>CVSup</application>.
|
|
||||||
Il expose plusieurs problèmes délicats
|
|
||||||
liés à la synchronisation des sources à
|
|
||||||
l'aide de <application>CVSup</application>, c'est à
|
|
||||||
dire des solutions efficaces aux problèmes des fichiers
|
|
||||||
obsolètes aussi bien qu'aux cas spéciaux de mise
|
|
||||||
à jour des sources, ces problèmes sont susceptibles
|
|
||||||
de causer des désagréments apparemment
|
|
||||||
inexplicables.</para>
|
|
||||||
|
|
||||||
&trans.a.fonvieille;
|
|
||||||
</abstract>
|
|
||||||
</articleinfo>
|
|
||||||
|
|
||||||
<sect1 id="preface">
|
|
||||||
<title>Préface</title>
|
|
||||||
|
|
||||||
<para>Ce document est le fruit des tentatives de l'auteur de
|
|
||||||
comprendre les finesses de <application>CVSup</application> et
|
|
||||||
de la mise à jour des sources. :-)
|
|
||||||
Bien que l'auteur ait fait de nombreux efforts pour
|
|
||||||
rendre ces pages aussi instructives et correctes que possible,
|
|
||||||
il n'est qu'un être humain et a pu avoir commis toutes sortes
|
|
||||||
de coquilles, d'erreurs, etc... Il sera vraiment reconnaissant
|
|
||||||
pour tous les commentaires et/ou suggestions que vous enverrez
|
|
||||||
à son adresse électronique
|
|
||||||
<email>bartequi@neomedia.it</email>.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
|
|
||||||
<sect1 id="introduction">
|
|
||||||
<title>Introduction</title>
|
|
||||||
|
|
||||||
<para>Si vous avez consulté le <ulink
|
|
||||||
url="http://www.polstra.com/">site de John Polstra</ulink> et lu
|
|
||||||
sa <ulink
|
|
||||||
url="http://www.polstra.com/projects/freeware/CVSup/faq.html">FAQ</ulink>,
|
|
||||||
vous avez pu avoir remarqué les questions 12 et 13.</para>
|
|
||||||
|
|
||||||
<para>En mettant à jour n'importe quelle “catalogue”
|
|
||||||
- collection de sources (e.g. <filename>/usr/ports</filename>),
|
|
||||||
&man.cvsup.1; se sert des fichiers de “checkouts”
|
|
||||||
relatifs afin d'effectuer le processus de mise à jour de la
|
|
||||||
manière la plus efficace et la plus correcte possible. Dans cet
|
|
||||||
exemple (<filename>/usr/ports</filename>), le fichiers de
|
|
||||||
“checkouts” relatif est
|
|
||||||
<filename>/usr/sup/ports-all/checkouts.cvs:.</filename> si votre
|
|
||||||
répertoire de base est <filename>/usr</filename>.</para>
|
|
||||||
|
|
||||||
<para>Un fichier “checkouts” contient l'information
|
|
||||||
sur l'état actuel de vos sources -- d'une certaine
|
|
||||||
manière, une sorte de “photographie”. Cette
|
|
||||||
information permet à <application>cvsup</application> de
|
|
||||||
rechercher les mises à jour le plus efficacement. De
|
|
||||||
plus, et c'est peut-être plus important, il permet
|
|
||||||
à <application>cvsup</application> de gérer
|
|
||||||
correctement vos sources en effaçant localement tout
|
|
||||||
fichier qui n'est plus présent sur l'archive centrale,
|
|
||||||
et de ce fait ne pas laisser de fichiers obsolètes sur
|
|
||||||
votre système. En fait, sans un fichier
|
|
||||||
“checkouts”, <application>cvsup</application> ne
|
|
||||||
saurait PAS de quels fichiers votre catalogue est composé
|
|
||||||
(Cf &man.cvsup.1; pour plus de détails), et en
|
|
||||||
conséquence, il ne pourrait PAS effacer de votre
|
|
||||||
système ces fichiers qui ne sont plus présents sur
|
|
||||||
l'archive centrale. Ils resteraient sur votre système
|
|
||||||
(les fichiers obsolètes), et pourraient vous causer de
|
|
||||||
subtiles échecs de compilation ou tout autre
|
|
||||||
désagrément. Par exemple, ce problème est
|
|
||||||
susceptible de se produire si vous mettez à jour votre
|
|
||||||
catalogue de logiciels portés plusieurs semaines
|
|
||||||
après que vous ayez eu vos CDROMs d'installation.</para>
|
|
||||||
|
|
||||||
<para>Il est donc recommandé que vous adoptiez la
|
|
||||||
procédure en deux temps décrite dans la FAQ de
|
|
||||||
<application>CVSup</application> (Cf Q12, Q13); dans les
|
|
||||||
sections suivantes, on vous présentera des exemples
|
|
||||||
concrets intéressant et instructifs.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="script">
|
|
||||||
<title>Une procédure python utile: cvsupchk</title>
|
|
||||||
|
|
||||||
<para>Alternativement, afin d'examiner les sources pour les
|
|
||||||
inconsistences, vous pouvez souhaiter utiliser la procédure
|
|
||||||
python <command>cvsupchk</command>, procédure qui se
|
|
||||||
trouve actuellement dans
|
|
||||||
<filename>/usr/ports/net/cvsup/work/cvsup-16.1/contrib/cvsupchk</filename>,
|
|
||||||
avec un sympathique <filename>README</filename>.
|
|
||||||
Prérequis:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><literal>/usr/ports/net/cvsup</literal> &prompt.root;
|
|
||||||
<userinput> make extract</userinput></para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>python (que l'on trouve également dans le catalogue
|
|
||||||
des logiciels portés :-)).</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Un fichier “checkouts” pour votre
|
|
||||||
catalogue des sources.</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>Si vous mettez à jour vos sources pour la toute
|
|
||||||
première fois, naturellement vous n'avez pas de fichier
|
|
||||||
“checkouts”. Après l'installation de python
|
|
||||||
et la mise à jour de vos sources (e.g.
|
|
||||||
<filename>/usr/ports</filename>), vous pouvez les vérifier
|
|
||||||
ainsi:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/ports-all/checkouts.cvs:. | more</userinput></screen>
|
|
||||||
|
|
||||||
<para>Si vous désirez vérifier vos sources RELENG_4:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/src-all/checkouts.cvs:RELENG_4 | more</userinput></screen>
|
|
||||||
|
|
||||||
<para>Dans chaque cas, <command>cvsupchk</command>
|
|
||||||
inspectera vos sources à la
|
|
||||||
recherche d'inconsistances en utilisant les informations
|
|
||||||
contenues dans le fichier de “checkouts” relatif.
|
|
||||||
Des anomalies comme des fichiers effacés, encore
|
|
||||||
présents (aka fichiers obsolètes), fichiers
|
|
||||||
récupérés absents, fichiers RCS
|
|
||||||
supplémentaires, et répertoires vides seront
|
|
||||||
affichés sur la sortie standard.</para>
|
|
||||||
|
|
||||||
<para>Dans la section suivante, nous présenterons des exemples
|
|
||||||
typiques de la mise à jour de source, exemples qui vous
|
|
||||||
montreront le rôle des fichiers de “checkouts”
|
|
||||||
et les dangers d'une gestion négligée des sources.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="examples">
|
|
||||||
<title>Exemples avancés de gestion des sources</title>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Comment modifier sans risques le champ tag quand vous
|
|
||||||
mettez à jour <literal>src-all</literal></title>
|
|
||||||
|
|
||||||
<para>Si vous spécifiez par exemple <literal>tag=A</literal>
|
|
||||||
dans votre fichier <filename>supfile</filename>,
|
|
||||||
<application>cvsup</application> créera
|
|
||||||
un fichier “checkouts” appelé
|
|
||||||
<filename>checkouts.cvs:A</filename>, par exemple avec le
|
|
||||||
champ <literal>tag=RELENG_4</literal>, un fichier de
|
|
||||||
“checkouts”
|
|
||||||
<filename>checkouts.cvs:RELENG_4</filename> est
|
|
||||||
généré. Ce fichier sera utilisé
|
|
||||||
pour récupérer et/ou stocker
|
|
||||||
l'information identifiant vos sources 4-STABLE.</para>
|
|
||||||
|
|
||||||
<para>En suivant le catalogue <literal>src-all</literal>, si
|
|
||||||
vous souhaitez passer de <literal>tag=A</literal> à
|
|
||||||
<literal>tag=B</literal> (A inférieur/supérieur
|
|
||||||
à B important peu) et si votre fichier
|
|
||||||
“checkouts” est
|
|
||||||
<filename>checkouts.cvs:A</filename>, les opérations
|
|
||||||
suivantes devront être effectuées:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>&prompt.root; <userinput>mv checkouts.cvs:A
|
|
||||||
checkouts.cvs:B</userinput>
|
|
||||||
(ceci fournit à l'étape suivante le fichier
|
|
||||||
“checkouts” approprié)</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Ecrivez un fichier <filename>supfile</filename>
|
|
||||||
dont la ligne désignant le catalogue est:</para>
|
|
||||||
<programlisting>src-all tag=B</programlisting>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Cvsupez vos sources en utilisant le nouveau
|
|
||||||
<filename>supfile</filename>.</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para><application>Cvsup</application> recherchera <filename>checkouts.cvs:B</filename>
|
|
||||||
-- dans ce cas la cible est B, c'est à dire que
|
|
||||||
<application>cvsup</application> se
|
|
||||||
servira des informations contenues dans ce fichier pour gérer
|
|
||||||
correctement vos sources.</para>
|
|
||||||
|
|
||||||
<para>Les avantages:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Les sources sont traitées correctement (en
|
|
||||||
particulier aucun fichier obsolète).</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Moins de charge sur le serveur, dans ce cas
|
|
||||||
<application>CVSup</application>
|
|
||||||
agit de la manière la plus efficace.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
|
|
||||||
<para>Par exemple, <literal>A=RELENG_4</literal>,
|
|
||||||
<literal>B=.</literal>, le point dans <literal>B=.</literal>
|
|
||||||
signifie -CURRENT. C'est une mise à jour plutôt
|
|
||||||
typique de la branche 4-STABLE vers la branche -CURRENT.
|
|
||||||
Alors qu'il est simple de revenir à une ancienne
|
|
||||||
version de sources (e.g. -CURRENT vers -STABLE), il n'en va
|
|
||||||
pas de même avec le système. Vous êtes
|
|
||||||
FORTEMENT déconseillé de tenter une telle
|
|
||||||
opération, à moins que vous ne sachiez
|
|
||||||
exactement ce que vous faites.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Mettre à jour en conservant le même champ
|
|
||||||
tag mais pour une date différente</title>
|
|
||||||
|
|
||||||
<para>Si vous souhaitez basculer du champ <literal>tag=A</literal>
|
|
||||||
au champ <literal>tag=A</literal> avec une date GMT
|
|
||||||
différente (disons <literal>date=D</literal>) vous
|
|
||||||
exécuterez ce qui suit:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Ecrivez un <filename>supfile</filename> dont la
|
|
||||||
ligne désignant le catalogue est:</para>
|
|
||||||
<programlisting>src-all tag=A date=D</programlisting>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Mettez à jour vos sources en utilisant le nouveau
|
|
||||||
<filename>supfile</filename>.</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>Que la nouvelle date précède ou non celle
|
|
||||||
de la dernière synchronisation avec le champ
|
|
||||||
<literal>tag=A</literal> est peu important. Par exemple,
|
|
||||||
afin d'indiquer la date du “27 Août 2000 à
|
|
||||||
10h00s00 GMT” vous écrirez la ligne:</para>
|
|
||||||
|
|
||||||
|
|
||||||
<programlisting>src-all tag=RELENG_4 date=2000.08.27.10.00.00</programlisting>
|
|
||||||
|
|
||||||
<note><para>Le format de la date est rigide. Vous devez
|
|
||||||
indiquer toutes les composantes de la date: le siècle
|
|
||||||
(<quote>20</quote>, i.e. le vingtième siècle, doit être
|
|
||||||
fourni tandis que <quote>19</quote>, le siècle passé peut
|
|
||||||
être omis), l'année, le mois, le jour, l'heure,
|
|
||||||
les minutes et les secondes — comme montré dans
|
|
||||||
l'exemple ci-dessus. Pour plus d'information, veuillez
|
|
||||||
consulter la page de manuel &man.cvsup.1;.</para></note>
|
|
||||||
|
|
||||||
<para>Qu'une date soit spécifiée ou non, le fichier
|
|
||||||
“checkouts” est appelé
|
|
||||||
<filename>checkouts.cvs:A</filename> (e.g.
|
|
||||||
<filename>checkouts.cvs:RELENG_4</filename>). Comme
|
|
||||||
conséquence, aucune action particulière n'est
|
|
||||||
nécessaire afin de retourner à l'état
|
|
||||||
précédent: vous devez modifier la date
|
|
||||||
dans le <filename>supfile</filename> et remettre à
|
|
||||||
jour à nouveau.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Mise à jour de votre catalogue des logiciels
|
|
||||||
portés pour la première fois</title>
|
|
||||||
|
|
||||||
<para>Comme les logiciels portés sont
|
|
||||||
étiquetés “.” (i.e. -CURRENT),
|
|
||||||
vous pouvez correctement les synchroniser en
|
|
||||||
ajoutant le mot-clé <literal>date</literal> (Cf
|
|
||||||
&man.cvsup.1; pour le format exact), vous devriez
|
|
||||||
spécifier une date aussi proche que possible que celle
|
|
||||||
de “l'expédition” de votre catalogue de
|
|
||||||
logiciel porté. Après que <application>CVSup</application> ait
|
|
||||||
créé le fichier “checkouts” du catalogue des
|
|
||||||
logiciels portés, qui est précisément le
|
|
||||||
but de cette première opération de synchronisation,
|
|
||||||
le champ <literal>date</literal> doit être retiré,
|
|
||||||
toutes les mises à jour suivantes seront faites en
|
|
||||||
douceur.</para>
|
|
||||||
|
|
||||||
<para>Si vous avez voulu chercher la petite bête dans ce texte,
|
|
||||||
vous vous êtes probablement aperçu des
|
|
||||||
problèmes potentiels du processus de mise à jour des
|
|
||||||
sources. Un certain nombre de personnes ont eu réellement
|
|
||||||
des problèmes. Vous avez été
|
|
||||||
avertis. :-)</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
|
@ -15,7 +15,6 @@ SUBDIR+= contributing
|
||||||
SUBDIR+= cups
|
SUBDIR+= cups
|
||||||
SUBDIR+= custom-gcc
|
SUBDIR+= custom-gcc
|
||||||
SUBDIR+= cvs-freebsd
|
SUBDIR+= cvs-freebsd
|
||||||
SUBDIR+= cvsup-advanced
|
|
||||||
SUBDIR+= explaining-bsd
|
SUBDIR+= explaining-bsd
|
||||||
SUBDIR+= fbsd-from-scratch
|
SUBDIR+= fbsd-from-scratch
|
||||||
#SUBDIR+= filtering-bridges
|
#SUBDIR+= filtering-bridges
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
#
|
|
||||||
# The FreeBSD Russian Documentation Project
|
|
||||||
#
|
|
||||||
# $FreeBSD$
|
|
||||||
# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/cvsup-advanced/Makefile,v 1.3 2005/06/12 05:19:07 gad Exp $
|
|
||||||
#
|
|
||||||
# Original revision: r20561
|
|
||||||
#
|
|
||||||
# Article: CVSup Advanced Points
|
|
||||||
|
|
||||||
DOC?= article
|
|
||||||
|
|
||||||
FORMATS?= html
|
|
||||||
WITH_ARTICLE_TOC?=YES
|
|
||||||
|
|
||||||
INSTALL_COMPRESSED?=gz
|
|
||||||
INSTALL_ONLY_COMPRESSED?=
|
|
||||||
|
|
||||||
SRCS= article.xml
|
|
||||||
|
|
||||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
|
||||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
|
|
@ -1,280 +0,0 @@
|
||||||
<?xml version="1.0" encoding="koi8-r" standalone="no"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
|
|
||||||
"../../../share/xml/freebsd42.dtd" [
|
|
||||||
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//RU" "../../share/xml/entities.ent">
|
|
||||||
%entities;
|
|
||||||
]>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
The FreeBSD Russian Documentation Project
|
|
||||||
|
|
||||||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/cvsup-advanced/article.xml,v 1.5 2005/06/12 05:18:06 gad Exp $
|
|
||||||
|
|
||||||
Original revision: r23909
|
|
||||||
-->
|
|
||||||
|
|
||||||
<article lang="ru">
|
|
||||||
<articleinfo>
|
|
||||||
<title>Тонкие вопросы работы CVSup</title>
|
|
||||||
|
|
||||||
<authorgroup>
|
|
||||||
<author>
|
|
||||||
<firstname>Salvo</firstname>
|
|
||||||
<surname>Bartolotta</surname>
|
|
||||||
|
|
||||||
<affiliation>
|
|
||||||
<address><email>bartequi@neomedia.it</email></address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
|
|
||||||
<legalnotice id="trademarks" role="trademarks">
|
|
||||||
&tm-attrib.freebsd;
|
|
||||||
&tm-attrib.cvsup;
|
|
||||||
&tm-attrib.general;
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<pubdate>$FreeBSD$</pubdate>
|
|
||||||
|
|
||||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>В этой статье предполагается понимание основ
|
|
||||||
работы <application>CVSup</application>. В ней описываются некоторые
|
|
||||||
тонкие вопросы, связанные с синхронизацией исходных текстов при помощи
|
|
||||||
<application>CVSup</application>, описаны эффективные решения для проблемы
|
|
||||||
потерянных файлов, а также особые случаи обновления исходных текстов; вопросы,
|
|
||||||
которые, скорее всего, вызывают неожиданно возникающие проблемы.</para>
|
|
||||||
</abstract>
|
|
||||||
</articleinfo>
|
|
||||||
|
|
||||||
<sect1 id="preface">
|
|
||||||
<title>Обзор</title>
|
|
||||||
|
|
||||||
<para>Этот документ является плодом попыток автора полностью понять
|
|
||||||
преимущества <application>CVSup</application> & обновления
|
|
||||||
исходного кода. :-) Хотя автор прилагал все усилия, чтобы сделать
|
|
||||||
эти страницы максимально информативными и корректными, он всего лишь
|
|
||||||
человек и мог сделать все типы опечаток, ошибок и так далее. Он будет
|
|
||||||
очень признателен за любые комментарии и/или пожелания, которые вы пришлете
|
|
||||||
ему по электронной почте на адрес <email>bartequi@neomedia.it</email>.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="introduction">
|
|
||||||
<title>Введение</title>
|
|
||||||
|
|
||||||
<para>Если вы посещали <ulink url="http://www.polstra.com/">сайт Джона
|
|
||||||
Полстра</ulink> (John Polstra) и прочли <ulink
|
|
||||||
url="http://www.polstra.com/projects/freeware/CVSup/faq.html">его
|
|
||||||
FAQ</ulink>, то вы могли отметить вопросы 12 & 13.</para>
|
|
||||||
|
|
||||||
<para>При обновлении любого набора исходных текстов (например,
|
|
||||||
<filename>/usr/ports</filename>), &man.cvsup.1; использует
|
|
||||||
соответствующий файл извлечений для того, чтобы выполнять процесс
|
|
||||||
обновления самым правильным и эффективным способом. В этом примере
|
|
||||||
(<filename>/usr/ports</filename>), соответствующим файлом извлечений
|
|
||||||
является <filename>/usr/sup/ports-all/checkouts.cvs:.</filename> если
|
|
||||||
основным каталогом является <filename>/usr</filename>.</para>
|
|
||||||
|
|
||||||
<para>Файл извлечений содержит информацию о текущем состоянии ваших
|
|
||||||
исходных текстов — нечто вроде <quote>фотографии</quote>. Эта
|
|
||||||
значащая информация позволяет <command>cvsup</command> сгружать
|
|
||||||
обновления наиболее эффективно. К тому же, и, может быть, более
|
|
||||||
важно то, что это позволяет <command>cvsup</command> правильно
|
|
||||||
управлять вашими исходными текстами, удаляя локальные файлы, которых
|
|
||||||
больше нет в хранилище, таким образом не позволяя появляться в вашей
|
|
||||||
системе забытым файлам. Действительно, без файла
|
|
||||||
извлечений <command>cvsup</command> <emphasis>не</emphasis>
|
|
||||||
будет знать, из каких файлов состоит ваш набор (подробности смотрите в
|
|
||||||
справочной системе по &man.cvsup.1; относительно метода откатки); в
|
|
||||||
результате он не может удалить в вашей системе те файлы, которых больше
|
|
||||||
нет в хранилище. Они (удаленные файлы) будут оставаться в системе, и
|
|
||||||
могут вызвать некоторые ошибки при построении или другие проблемы. К
|
|
||||||
примеру, появление этой проблемы весьма вероятно, если вы первый раз
|
|
||||||
обновили ваш набор портов через несколько недель после получения ваших
|
|
||||||
установочных компакт-дисков.</para>
|
|
||||||
|
|
||||||
<para>По этой причине рекомендуется, что вы последуете двухшаговой
|
|
||||||
процедуре, описанной в <application>CVSup</application> FAQ (смотрите Q12, Q13); в
|
|
||||||
последующих разделах вам будут даны конкретные примеры, интересные и
|
|
||||||
поучительные.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="script">
|
|
||||||
<title>Полезный скрипт на языке python: <command>cvsupchk</command></title>
|
|
||||||
|
|
||||||
<para>Как альтернативу для проверки целостности ваших исходных текстов вы
|
|
||||||
можете использовать скрипт <command>cvsupchk</command>, написанный на языке
|
|
||||||
python; этот скрипт в настоящее время находится в
|
|
||||||
<filename>/usr/ports/net/cvsup/work/cvsup-16.1/contrib/cvsupchk</filename>,
|
|
||||||
вместе с хорошим <filename>README</filename>. Предварительные
|
|
||||||
требования:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><literal>/usr/ports/net/cvsup</literal> &prompt.root;
|
|
||||||
<userinput> make extract</userinput></para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>python (также находится в коллекции портов :-))</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Файл извлечений для вашего набора исходных текстов.</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>Если вы обновляете ваши исходные тексты самый первый раз, конечно же,
|
|
||||||
у вас нет файла извлечений. После установки python и обновления ваших
|
|
||||||
исходных текстов (к примеру, <filename>/usr/ports</filename>), вы можете
|
|
||||||
проверить их так:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/ports-all/checkouts.cvs:. | more</userinput></screen>
|
|
||||||
|
|
||||||
<para>Если вы хотите проверить ваши исходные тексты RELENG_4:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/src-all/checkouts.cvs:RELENG_4 | more</userinput></screen>
|
|
||||||
|
|
||||||
<para>В каждом случае <command>cvsupchk</command> будет проверять ваши исходные
|
|
||||||
тексты на целостность, используя информацию, находящуюся в соответствующем файле
|
|
||||||
извлечений. Сообщения о таких аномалиях, как присутствие удаленных
|
|
||||||
файлов (так называемых забытых файлов), отсутствие извлеченных файлов,
|
|
||||||
наличие лишних файлов RCS и мертвых каталогов будут выдаваться на
|
|
||||||
стандартный вывод.</para>
|
|
||||||
|
|
||||||
<para>В следующем разделе мы дадим важные, типовые примеры обновления
|
|
||||||
исходных текстов; эти примеры покажут вам роль файлов извлечений и
|
|
||||||
опасности небрежного управления исходными текстами.</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="examples">
|
|
||||||
<title>Примеры более тонкого управления исходными текстами</title>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Как безопасно изменять тэги при обновлении
|
|
||||||
<literal>src-all</literal></title>
|
|
||||||
|
|
||||||
<para>Если в вашем <filename>sup-файле</filename> вы задали, к
|
|
||||||
примеру, <literal>tag=A</literal>, то <command>cvsup</command>
|
|
||||||
создаст файл извлечений с именем <filename>checkouts.cvs:A</filename>:
|
|
||||||
например, если <literal>tag=RELENG_4</literal>, то создаваемый файл
|
|
||||||
извлечений называется <filename>checkouts.cvs:RELENG_4</filename>. Этот файл
|
|
||||||
будет использоваться для получения и/или сохранения информации,
|
|
||||||
идентифицирующей ваши исходные тексты 4-STABLE.</para>
|
|
||||||
|
|
||||||
<para>При отслеживании <literal>src-all</literal>, если вы хотите перейти
|
|
||||||
от <literal>tag=A</literal> к <literal>tag=B</literal> (не имеет
|
|
||||||
значения, больше или меньше A, чем B), и ваш файл извлечений
|
|
||||||
называется <filename>checkouts.cvs:A</filename>, то
|
|
||||||
должны быть выполнены следующие действия:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>&prompt.root; <userinput>mv checkouts.cvs:A
|
|
||||||
checkouts.cvs:B</userinput>
|
|
||||||
(Это даст на последующем шаге корректный файл извлечений)</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>создайте <filename>sup-файл</filename>, со строкой наборов, которая содержит:</para>
|
|
||||||
<programlisting>src-all tag=B</programlisting>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>при помощи cvsup выполните обновление ваших исходных текстов
|
|
||||||
с новым <filename>sup-файлом</filename>.</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para><command>cvsup</command> будет искать <filename>checkouts.cvs:B</filename> — так
|
|
||||||
как целью является B, то <command>cvsup</command> для корректного управления
|
|
||||||
вашими исходными текстами будет использовать информацию, содержащуюся
|
|
||||||
здесь.</para>
|
|
||||||
|
|
||||||
<para>Выигрыши:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>с исходными текстами работа производится корректно (в
|
|
||||||
частности, не остается забытых файлов)</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>на сервер ложится меньшая нагрузка, так как <command>cvsup</command> работает
|
|
||||||
самым эффективным образом.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>К примеру, <literal>A=RELENG_4</literal>, <literal>B=.</literal> Точка
|
|
||||||
в <literal>B=.</literal> означает -CURRENT. Это весьма типичное обновление, от
|
|
||||||
4-STABLE к -CURRENT. Хотя понятно, как
|
|
||||||
<quote>состарить</quote> ваши исходные тексты (к примеру, от -CURRENT к -STABLE),
|
|
||||||
понижение версии системы является совсем другим вопросом. Вам
|
|
||||||
НАСТОЯТЕЛЬНО не рекомендуется выполнять такое действие, если только вы
|
|
||||||
точно не понимаете, что делаете.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Обновление в одной и той же метке с разными датами</title>
|
|
||||||
|
|
||||||
<para>Если вы хотите перейти от <literal>tag=A</literal> к
|
|
||||||
<literal>tag=A</literal> с отличающейся
|
|
||||||
GMT-датой (скажем, <literal>date=D</literal>), то выполняйте следующее:</para>
|
|
||||||
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>напишите <filename>sup-файл</filename> с такой строкой, определяющей набор:</para>
|
|
||||||
<programlisting>src-all tag=A date=D</programlisting>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>обновите ваши исходные тексты с помощью нового <filename>sup-файла</filename></para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
|
|
||||||
<para>Не имеет значения, предшествует ли новая дата времени последней
|
|
||||||
операции синхронизации с <literal>tag=A</literal>, или нет. Например, для
|
|
||||||
того, чтобы задать дату <quote>August 27, 2000, 10:00:00 GMT</quote>, вы пишете
|
|
||||||
строку:</para>
|
|
||||||
|
|
||||||
<programlisting>src-all tag=RELENG_4 date=2000.08.27.10.00.00</programlisting>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>Формат даты строг. Вы задаете все компоненты даты: столетие (<quote>20</quote>,
|
|
||||||
то есть 21 век. должен быть указан, когда как <quote>19</quote>,
|
|
||||||
прошлое столетие, может быть опущено), год, месяц, день, час, минуты,
|
|
||||||
секунды — как показано в примере выше. За дополнительной информацией
|
|
||||||
обратитесь к странице справочной системы по &man.cvsup.1;.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>Вне зависимости от того, задана или нет дата, файл извлечений
|
|
||||||
называется <filename>checkouts.cvs:A</filename> (например,
|
|
||||||
<filename>checkouts.cvs:RELENG_4</filename>). В итоге не нужны
|
|
||||||
какие-то действия для возврата к предыдущему состоянию: вы изменяете
|
|
||||||
дату в <filename>sup-файле</filename>, и запускаете
|
|
||||||
<command>cvsup</command> снова.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2>
|
|
||||||
<title>Обновление вашей коллекции портов самый первый раз</title>
|
|
||||||
|
|
||||||
<para>Если вы хотите <quote>синхронизировать</quote> ваше дерево
|
|
||||||
портов в первый раз, вы должны использовать тэг, совпадающий с
|
|
||||||
вашей установленной версией &os;. Например, если вы установили
|
|
||||||
коллекцию портов во время установки &os; 5.3-RELEASE, то
|
|
||||||
следует использовать следующую строку:
|
|
||||||
<programlisting>ports-all tag=RELEASE_5_3_0</programlisting>
|
|
||||||
<command>cvsup</command> создаст файл извлечений для коллекции
|
|
||||||
портов. Теперь мы можем использовать тэг <quote>.</quote> для
|
|
||||||
последующего обновления дерева портов:
|
|
||||||
<programlisting>ports-all tag=.</programlisting>
|
|
||||||
Все последующие обновления будут обрабатываться гладко.</para>
|
|
||||||
|
|
||||||
<para>Если вы прочли тонкие замечания в этих разделах, то, наверное, вы
|
|
||||||
осознали потенциальные проблемы в процессе обновления исходных
|
|
||||||
текстов. Многие действительно сталкиваются с проблемами. Вас
|
|
||||||
предупредили. :-)</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
</article>
|
|
Loading…
Reference in a new issue