Changeset View
Changeset View
Standalone View
Standalone View
en_US.ISO8859-1/books/developers-handbook/policies/chapter.xml
Show First 20 Lines • Show All 236 Lines • ▼ Show 20 Lines | |||||
&prompt.user; <userinput>svn commit</userinput></screen> | &prompt.user; <userinput>svn commit</userinput></screen> | ||||
<para>Bootstrapping of <literal>svn:mergeinfo</literal> on | <para>Bootstrapping of <literal>svn:mergeinfo</literal> on | ||||
the target directory (in the main tree) to the revision | the target directory (in the main tree) to the revision | ||||
that corresponds to the last change was made to the vendor | that corresponds to the last change was made to the vendor | ||||
tree prior to importing new sources is also needed:</para> | tree prior to importing new sources is also needed:</para> | ||||
<screen>&prompt.user; <userinput>cd head/contrib/<replaceable>foo</replaceable></userinput> | <screen>&prompt.user; <userinput>cd head/contrib/<replaceable>foo</replaceable></userinput> | ||||
&prompt.user; <userinput>svn merge --record-only <replaceable>svn_base</replaceable>/vendor/<replaceable>foo</replaceable>/dist@<replaceable>12345678</replaceable> .</userinput> | &prompt.user; <userinput>svn merge --record-only ^/vendor/<replaceable>foo</replaceable>/dist@<replaceable>12345678</replaceable> .</userinput> | ||||
&prompt.user; <userinput>svn commit</userinput></screen> | &prompt.user; <userinput>svn commit</userinput></screen> | ||||
<para>where <replaceable>svn_base</replaceable> is the base | |||||
directory of your <acronym>SVN</acronym> repository, e.g., | |||||
<literal>svn+ssh://svn.FreeBSD.org/base</literal>.</para> | |||||
</step> | </step> | ||||
<step> | <step> | ||||
<title>Importing New Sources</title> | <title>Importing New Sources</title> | ||||
<para>Prepare a full, clean tree of the vendor sources. | <para>Prepare a full, clean tree of the vendor sources. | ||||
With <acronym>SVN</acronym>, we can keep a full | With <acronym>SVN</acronym>, we can keep a full | ||||
distribution in the vendor tree without bloating the main | distribution in the vendor tree without bloating the main | ||||
▲ Show 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | <note> | ||||
<command>svn diff</command> to make sure everything is | <command>svn diff</command> to make sure everything is | ||||
in order.</para> | in order.</para> | ||||
</note> | </note> | ||||
<para>Once you have committed the new vendor release, you | <para>Once you have committed the new vendor release, you | ||||
should tag it for future reference. The best and quickest | should tag it for future reference. The best and quickest | ||||
way is to do it directly in the repository:</para> | way is to do it directly in the repository:</para> | ||||
<screen>&prompt.user; <userinput>svn copy <replaceable>svn_base</replaceable>/vendor/<replaceable>foo</replaceable>/dist <replaceable>svn_base</replaceable>/vendor/<replaceable>foo</replaceable>/<replaceable>9.9</replaceable></userinput></screen> | <screen>&prompt.user; <userinput>svn copy ^/vendor/<replaceable>foo</replaceable>/dist <replaceable>svn_base</replaceable>/vendor/<replaceable>foo</replaceable>/<replaceable>9.9</replaceable></userinput></screen> | ||||
<para>To get the new tag, you can update your working copy | <para>To get the new tag, you can update your working copy | ||||
of | of | ||||
<filename>vendor/<replaceable>foo</replaceable></filename>.</para> | <filename>vendor/<replaceable>foo</replaceable></filename>.</para> | ||||
<note> | <note> | ||||
<para>If you choose to do the copy in the checkout | <para>If you choose to do the copy in the checkout | ||||
instead, do not forget to remove the generated | instead, do not forget to remove the generated | ||||
<literal>svn:mergeinfo</literal> as described | <literal>svn:mergeinfo</literal> as described | ||||
above.</para> | above.</para> | ||||
</note> | </note> | ||||
</step> | </step> | ||||
<step> | <step> | ||||
<title>Merging to <emphasis>-HEAD</emphasis></title> | <title>Merging to <emphasis>-HEAD</emphasis></title> | ||||
<para>After you have prepared your import, it is time to | <para>After you have prepared your import, it is time to | ||||
merge. Option <option>--accept=postpone</option> tells | merge. Option <option>--accept=postpone</option> tells | ||||
<acronym>SVN</acronym> not to handle merge conflicts yet, | <acronym>SVN</acronym> not to handle merge conflicts yet, | ||||
because they will be taken care of manually:</para> | because they will be taken care of manually:</para> | ||||
<screen>&prompt.user; <userinput>cd head/contrib/<replaceable>foo</replaceable></userinput> | <screen>&prompt.user; <userinput>cd head/contrib/<replaceable>foo</replaceable></userinput> | ||||
&prompt.user; <userinput>svn update</userinput> | &prompt.user; <userinput>svn update</userinput> | ||||
&prompt.user; <userinput>svn merge --accept=postpone <replaceable>svn_base</replaceable>/vendor/<replaceable>foo</replaceable>/dist</userinput></screen> | &prompt.user; <userinput>svn merge --accept=postpone ^/vendor/<replaceable>foo</replaceable>/dist</userinput></screen> | ||||
<para>Resolve any conflicts, and make sure that any files | <para>Resolve any conflicts, and make sure that any files | ||||
that were added or removed in the vendor tree have been | that were added or removed in the vendor tree have been | ||||
properly added or removed in the main tree. It is always | properly added or removed in the main tree. It is always | ||||
a good idea to check differences against the vendor | a good idea to check differences against the vendor | ||||
branch:</para> | branch:</para> | ||||
<screen>&prompt.user; <userinput>svn diff --no-diff-deleted --old=<replaceable>svn_base</replaceable>/vendor/<replaceable>foo</replaceable>/dist --new=.</userinput></screen> | <screen>&prompt.user; <userinput>svn diff --no-diff-deleted --old=^/vendor/<replaceable>foo</replaceable>/dist --new=.</userinput></screen> | ||||
<para><option>--no-diff-deleted</option> tells | <para><option>--no-diff-deleted</option> tells | ||||
<acronym>SVN</acronym> not to check files that are in the | <acronym>SVN</acronym> not to check files that are in the | ||||
vendor tree but not in the main tree.</para> | vendor tree but not in the main tree.</para> | ||||
<note> | <note> | ||||
<para>With <acronym>SVN</acronym>, there is no concept of | <para>With <acronym>SVN</acronym>, there is no concept of | ||||
on or off the vendor branch. If a file that previously | on or off the vendor branch. If a file that previously | ||||
▲ Show 20 Lines • Show All 232 Lines • Show Last 20 Lines |