Source string Read only

(itstool) path: step/title
6/100
Context English State
Executable files should have <literal>svn:executable</literal> set to <literal>*</literal>.
There should be no other properties on any file in the tree.
You are ready to commit, but you should first check the output of <command>svn stat</command> and <command>svn diff</command> to make sure everything is in order.
Once you have committed the new vendor release, you should tag it for future reference. The best and quickest way is to do it directly in the repository:
<prompt>%</prompt> <userinput>svn copy ^/vendor/<replaceable>foo</replaceable>/dist <replaceable>svn_base</replaceable>/vendor/<replaceable>foo</replaceable>/<replaceable>9.9</replaceable></userinput>
To get the new tag, you can update your working copy of <filename>vendor/<replaceable>foo</replaceable></filename>.
If you choose to do the copy in the checkout instead, do not forget to remove the generated <literal>svn:mergeinfo</literal> as described above.
Merging to <emphasis>-HEAD</emphasis>
After you have prepared your import, it is time to merge. Option <option>--accept=postpone</option> tells <acronym>SVN</acronym> not to handle merge conflicts yet, because they will be taken care of manually:
<prompt>%</prompt> <userinput>cd head/contrib/<replaceable>foo</replaceable></userinput>
<prompt>%</prompt> <userinput>svn update</userinput>
<prompt>%</prompt> <userinput>svn merge --accept=postpone ^/vendor/<replaceable>foo</replaceable>/dist</userinput>
Resolve any conflicts, and make sure that any files that were added or removed in the vendor tree have been properly added or removed in the main tree. It is always a good idea to check differences against the vendor branch:
<prompt>%</prompt> <userinput>svn diff --no-diff-deleted --old=^/vendor/<replaceable>foo</replaceable>/dist --new=.</userinput>
<option>--no-diff-deleted</option> tells <acronym>SVN</acronym> not to check files that are in the vendor tree but not in the main tree.
With <acronym>SVN</acronym>, there is no concept of on or off the vendor branch. If a file that previously had local modifications no longer does, just remove any left-over cruft, such as FreeBSD version tags, so it no longer shows up in diffs against the vendor tree.
If any changes are required for the world to build with the new sources, make them now — and test until you are satisfied that everything build and runs correctly.
Commit
Now, you are ready to commit. Make sure you get everything in one go. Ideally, you would have done all steps in a clean tree, in which case you can just commit from the top of that tree. That is the best way to avoid surprises. If you do it properly, the tree will move atomically from a consistent state with the old code to a consistent state with the new code.
Encumbered Files
It might occasionally be necessary to include an encumbered file in the FreeBSD source tree. For example, if a device requires a small piece of binary code to be loaded to it before the device will operate, and we do not have the source to that code, then the binary file is said to be encumbered. The following policies apply to including encumbered files in the FreeBSD source tree.
Any file which is interpreted or executed by the system CPU(s) and not in source format is encumbered.
Any file with a license more restrictive than BSD or GNU is encumbered.
A file which contains downloadable binary data for use by the hardware is not encumbered, unless (1) or (2) apply to it. It must be stored in an architecture neutral ASCII format (file2c or uuencoding is recommended).
Any encumbered file requires specific approval from the <link xlink:href="@@URL_RELPREFIX@@/administration.html#t-core">Core Team</link> before it is added to the repository.
Encumbered files go in <filename>src/contrib</filename> or <filename>src/sys/contrib</filename>.
The entire module should be kept together. There is no point in splitting it, unless there is code-sharing with non-encumbered code.
Object files are named <filename><replaceable>arch</replaceable>/<replaceable>filename</replaceable>.o.uu&gt;</filename>.
Kernel files:
Should always be referenced in <filename>conf/files.*</filename> (for build simplicity).
Should always be in <filename>LINT</filename>, but the <link xlink:href="@@URL_RELPREFIX@@/administration.html#t-core">Core Team</link> decides per case if it should be commented out or not. The <link xlink:href="@@URL_RELPREFIX@@/administration.html#t-core">Core Team</link> can, of course, change their minds later on.
The <firstterm>Release Engineer</firstterm> decides whether or not it goes into the release.
User-land files:

Loading…

No matching activity found.

Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: step/title
Flags
read-only
Source string location
book.translate.xml:4158
String age
a year ago
Source string age
a year ago
Translation file
books/developers-handbook.pot, string 696