diff options
author | njl <njl@FreeBSD.org> | 2003-08-22 17:12:55 +0000 |
---|---|---|
committer | njl <njl@FreeBSD.org> | 2003-08-22 17:12:55 +0000 |
commit | 0ab867f1c2e75dea5b91d280648a2d35e96cddec (patch) | |
tree | ae58040a1b1e5ca3f31dc9e4cdb37386018aaaea /share/man/man7/development.7 | |
parent | f7301e0c6232b6cd2ab4f50f3a2020bf12277c0c (diff) | |
download | FreeBSD-src-0ab867f1c2e75dea5b91d280648a2d35e96cddec.zip FreeBSD-src-0ab867f1c2e75dea5b91d280648a2d35e96cddec.tar.gz |
Add a section on maintaining a local branch in CVS.
MFC after: 1 day
Diffstat (limited to 'share/man/man7/development.7')
-rw-r--r-- | share/man/man7/development.7 | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/share/man/man7/development.7 b/share/man/man7/development.7 index b1845c6..6e1c892 100644 --- a/share/man/man7/development.7 +++ b/share/man/man7/development.7 @@ -354,7 +354,7 @@ then it is typically going to be an NFS mount on the client. Simply unmounting /usr/obj will leave you with a /usr/obj that is a subdirectory in /usr which is typically local to the client. You can then do builds to your heart's content! -.Sh MULTIPLE VERSIONS OF THE SOURCE TREE +.Sh MAINTAINING A LOCAL BRANCH I have described how to maintain two versions of the source tree, a stable version in /FreeBSD/FreeBSD-4.x and a current version in /FreeBSD/FreeBSD-current. @@ -370,6 +370,36 @@ your master server, but being able to collect and manage source distributions from a central server is a very useful thing to be able to do and you can certainly export to machines which can build those other operating systems. +.Pp +Many developers choose to maintain a local branch of +.Fx +to test patches or build a custom distribution. +This can be done with CVS or another source code management system +(SubVersion, Perforce, BitKeeper) with its own repository. +Since the main +.Fx +tree is based on CVS, the former is convenient. +.Pp +The +.Fx +version of CVS examines a custom environmental variable, +CVS_LOCAL_BRANCH_NUM, which specifies an integer to use when doing a cvs +tag/rtag. +Set this number to something high (say 1000) to avoid colliding +with potential future branches of the main repository. For example, +branching a file with version 1.4 produces 1.4.1000. +Future commits to this branch will produce revisions 1.4.1000.1, +1.4.1000.2, etc. +.Pp +To fork your local branch, do: +.Bd -literal -offset 4n +cvs rtag -r RELENG_4 -b LOCAL_RELENG_4 src +.Ed +.Pp +After this, you can check out a copy from your local repository using the +new tag and begin making changes and committing them. +For more information on using cvs, see +.Xr cvs 1 . .Sh UPDATING VIA CVS The advantage of using cvsup to maintain an updated copy of the CVS repository instead of using it to maintain source trees directly is that you |