Because it makes it harder to import future versions minor, trivial and/or cosmetic changes are _strongly discouraged_ on files that are still tracking the vendor branch.
====
-[[vendor-import-svn]]
-=== Vendor Imports with SVN
-
-This section describes the vendor import procedure with Subversion in details.
-
-[.procedure]
-. *Preparing the Tree*
-+
-If this is your first import after the switch to SVN, you will have to flatten and clean up the vendor tree, and bootstrap merge history in the main tree.
-If not, you can safely omit this step.
-+
-During the conversion from CVS to SVN, vendor branches were imported with the same layout as the main tree.
-For example, the foo vendor sources ended up in [.filename]#vendor/foo/dist/contrib/foo#, but it is pointless and rather inconvenient.
-What we really want is to have the vendor source directly in [.filename]#vendor/foo/dist#, like this:
-+
-[source,bash]
-....
-% cd vendor/foo/dist/contrib/foo
-% svn move $(svn list) ../..
-% cd ../..
-% svn remove contrib
-% svn propdel -R svn:mergeinfo
-% svn commit
-....
-+
-Note that, the `propdel` bit is necessary because starting with 1.5, Subversion will automatically add `svn:mergeinfo` to any directory you copy or move.
-In this case, you will not need this information, since you are not going to merge anything from the tree you deleted.
-+
-[NOTE]
-====
-You may want to flatten the tags as well.
-The procedure is exactly the same.
-If you do this, put off the commit until the end.
-====
-+
-Check the [.filename]#dist# tree and perform any cleanup that is deemed to be necessary.
-You may want to disable keyword expansion, as it makes no sense on unmodified vendor code.
-In some cases, it can be even be harmful.
-+
-[source,bash]
-....
-% svn propdel svn:keywords -R .
-% svn commit
-....
-+
-Bootstrapping of `svn:mergeinfo` on the target directory (in the main tree) to the revision that corresponds to the last change was made to the vendor tree prior to importing new sources is also needed:
-To get the new tag, you can update your working copy of [.filename]#vendor/foo#.
-+
-[NOTE]
-====
-If you choose to do the copy in the checkout instead, do not forget to remove the generated `svn:mergeinfo` as described above.
-====
+[[vendor-import]]
+=== Vendor Imports
-. *Merging to __-HEAD__*
-+
-After you have prepared your import, it is time to merge.
-Option `--accept=postpone` tells SVN not to handle merge conflicts yet, because they will be taken care of manually:
-+
-[source,bash]
-....
-% cd head/contrib/foo
-% svn update
-% svn merge --accept=postpone ^/vendor/foo/dist
-....
-+
-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:
-`--no-diff-deleted` tells SVN not to check files that are in the vendor tree but not in the main tree.
-+
-[NOTE]
-====
-With SVN, 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.
+The standard process for managing contributed software and vendor branches is described in detail by the extref:{committers-guide}#vendor-import-git[Committer's Guide].