diff options
author | Nik Clayton <nik@FreeBSD.org> | 2000-01-19 22:37:18 +0000 |
---|---|---|
committer | Nik Clayton <nik@FreeBSD.org> | 2000-01-19 22:37:18 +0000 |
commit | a8ab59b6bc831a829510a5cc9b9df920cede0143 (patch) | |
tree | e1324029551518bdba93c99f543c8e5ddb9bd4c9 /en_US.ISO_8859-1/articles | |
parent | 06b0a75aad06b4a9fa66acc30e74be41c51a4c7a (diff) | |
download | doc-a8ab59b6bc831a829510a5cc9b9df920cede0143.tar.gz doc-a8ab59b6bc831a829510a5cc9b9df920cede0143.zip |
Add a new "miscellaneous questions" section. The first question is "Why
are changes to files on the vendor branch a bad idea?", and the answer is
supplied by an (almost) verbatim excerpt from one of Peter Wemm's messages
to committers (<19991129055252.65D5E1C6D@overcee.netplex.com.au>).
Notes
Notes:
svn path=/head/; revision=6399
Diffstat (limited to 'en_US.ISO_8859-1/articles')
-rw-r--r-- | en_US.ISO_8859-1/articles/committers-guide/article.sgml | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/en_US.ISO_8859-1/articles/committers-guide/article.sgml b/en_US.ISO_8859-1/articles/committers-guide/article.sgml index 1fa16d51de..7f1f750461 100644 --- a/en_US.ISO_8859-1/articles/committers-guide/article.sgml +++ b/en_US.ISO_8859-1/articles/committers-guide/article.sgml @@ -1124,4 +1124,66 @@ </qandadiv> </qandaset> </sect1> + + <sect1> + <title>Miscellaneous questions</title> + + <qandaset> + <qandaentry> + <question> + <para>Why are trivial or cosmetic changes to files on a vendor + branch a bad idea?</para> + </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> + + <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> + + <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 “hands + off” policies for src/contrib and other things that track + the vendor releases. This is why “typo fixes” in man + pages and spelling “corrections” are so strongly + discouraged for vendor code.</para> + </answer> + </qandaentry> + </qandaset> + </sect1> </article> |