BSD64.org

Browse code

FreeBSD

base/ROADMAP.txt


$FreeBSD: ROADMAP.txt 285589 2015-07-14 23:49:29Z delphij $

Repository root is:
  http://svn.freebsd.org/viewvc/base/ (browser, like cvsweb)
  http://svn.freebsd.org/base/        (readonly, DAV server)
  svn+ssh://repo.freebsd.org/base/    (committer access)

Key locations:
  head/   - equivalent of cvs HEAD revision.  Exported to cvs.
  stable/ - where the xxx-stable branches live.
  release/ - where release branches live
  releng/ - where release engineering happens
  user/$user/ - semi-private per-developer area
  projects/ - public long-term side development projects
  vendor/ - origin tree for vendor imports
  vendor-crypto/ - import area for code with export restrictions
  vendor-sys/ - import area for the kernel

  cvs2svn/ - unclassified stuff / leftovers for deleting.

Basic branch strategy:
  head/ is the mainline, or current.
  head/ is branched/copied into stable/X.  This is what will
    become the -stable branch.
    eg: stable/8 -> RELENG_8.  Exported.
  stable/X is branched/copied into releng/X.Y.  This is the release
    engineering branch, becoming errata/security/patch branch.
    eg: releng/8.0 -> RELENG_8_0.  Exported.
  releng/X.Y.Z is branched to release/X.Y.Z.  This is a release
    tag.  Manual cvs operations are required to set tag.
    eg: release/8.0.0 -> RELENG_8_0_0_RELEASE. Not exported.

  vendor/${acme}/dist  vendor import area.  Copied/branched
    into head/.  /dist is the current release, without freebsd mods.
  vendor/${acme}/dist is 'tagged' via copies to
    vendor/{$acme}/${release}

Vendor layout:
  vendor/$vendor - roots for a given vendor import
  vendor/$vendor/dist - staging area for importes to head/ and branches
  vendor/$vendor/$tag1 - location of import of version $tag1
  vendor/$vendor/$tag2 - ..
  ..
  vendor/$vendor/$tagN - .. for each import