Completely rewrite question 10.1 ("Why are cosmetic changes on the vendor
branch a bad idea?") with more correct information provided by Bruce.
This commit is contained in:
parent
6f122e0479
commit
bb50fb63d7
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=9322
2 changed files with 36 additions and 108 deletions
|
|
@ -19,7 +19,7 @@
|
|||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<pubdate>$FreeBSD: doc/en_US.ISO_8859-1/articles/committers-guide/article.sgml,v 1.59 2001/04/07 18:22:32 obrien Exp $</pubdate>
|
||||
<pubdate>$FreeBSD: doc/en_US.ISO_8859-1/articles/committers-guide/article.sgml,v 1.60 2001/04/08 17:26:41 nik Exp $</pubdate>
|
||||
|
||||
<copyright>
|
||||
<year>1999</year>
|
||||
|
|
@ -516,11 +516,11 @@
|
|||
</itemizedlist>
|
||||
|
||||
<para>You'll almost certainly get a conflict because
|
||||
of the <literal>$Id: article.sgml,v 1.60 2001-04-08 17:26:41 nik Exp $</literal> (or in FreeBSD's case,
|
||||
of the <literal>$Id: article.sgml,v 1.61 2001-04-27 10:07:52 nik Exp $</literal> (or in FreeBSD's case,
|
||||
<literal>$FreeBSD<!-- stop expansion -->$</literal>) lines, so you'll have to edit
|
||||
the file to resolve the conflict (remove the marker lines and
|
||||
the second <literal>$Id: article.sgml,v 1.60 2001-04-08 17:26:41 nik Exp $</literal> line, leaving the original
|
||||
<literal>$Id: article.sgml,v 1.60 2001-04-08 17:26:41 nik Exp $</literal> line intact).</para>
|
||||
the second <literal>$Id: article.sgml,v 1.61 2001-04-27 10:07:52 nik Exp $</literal> line, leaving the original
|
||||
<literal>$Id: article.sgml,v 1.61 2001-04-27 10:07:52 nik Exp $</literal> line intact).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
|
@ -2022,58 +2022,22 @@ docs:Documentation Bug:nik:</programlisting>
|
|||
</question>
|
||||
|
||||
<answer>
|
||||
<para>The RCS file format is quite braindead and certain
|
||||
operations to achieve things for CVS are hideously
|
||||
expensive for the repository. Making changes to files on
|
||||
a vendor branch, thereby pulling the file off that branch,
|
||||
is one example of this.</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>From now on, every new vendor release of that file will
|
||||
need to have patches merged in by hand.</para>
|
||||
</listitem>
|
||||
|
||||
<para>Suppose you have a file which was first imported on a
|
||||
vendor branch, and was then re-imported three times (still
|
||||
on the vendor branch) as the vendor makes updates to the
|
||||
file.</para>
|
||||
<listitem>
|
||||
<para>From now on, every new vendor release of that file will
|
||||
need to have patches <emphasis>verified</emphasis> by hand.</para>
|
||||
</listitem>
|
||||
|
||||
<segmentedlist>
|
||||
<seglistitem>
|
||||
<seg>1.1.1.1</seg>
|
||||
<seg>vendor import</seg>
|
||||
</seglistitem>
|
||||
|
||||
<seglistitem>
|
||||
<seg>1.1.1.2</seg>
|
||||
<seg>vendor import, +1000, -500 lines</seg>
|
||||
</seglistitem>
|
||||
|
||||
<seglistitem>
|
||||
<seg>1.1.1.3</seg>
|
||||
<seg>vendor import, +2000, -500 lines</seg>
|
||||
</seglistitem>
|
||||
|
||||
<seglistitem>
|
||||
<seg>1.1.1.4</seg>
|
||||
<seg>vendor import, +1000, -1000 lines</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<para>Now suppose that one of the FreeBSD committers makes a
|
||||
one line change to this file, causing it to go to version
|
||||
1.2. This causes it to leave the branch, resulting in
|
||||
4,001 lines being added to the file's history, and 2,001
|
||||
lines being deleted.</para>
|
||||
|
||||
<para>This is because the 1.2 delta is stored relative to
|
||||
1.1.1.1, <emphasis>not</emphasis> 1.1.1.4, and so the
|
||||
entire vendor history is duplicated in the 1.2 delta.
|
||||
Now, repeat this for 2000 files in a large directory, it
|
||||
adds up a lot.</para>
|
||||
|
||||
<para><emphasis>This</emphasis> is why we have such
|
||||
<quote>hands off</quote> policies for
|
||||
<filename>src/contrib</filename> and other things that
|
||||
track the vendor releases. This is why <quote>typo
|
||||
fixes</quote> in man pages and spelling
|
||||
<quote>corrections</quote> are so strongly discouraged for
|
||||
vendor code.</para>
|
||||
<listitem>
|
||||
<para>The <option>-j</option> option doesn't work very well.
|
||||
Ask &a.obrien; for horror stories.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue