mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 20:49:43 +00:00
* gdbint.texinfo (Releasing GDB): Add section ``Versions and
Branches''.
This commit is contained in:
parent
9bb0a4d8df
commit
fb0ff88f8f
@ -1,3 +1,8 @@
|
||||
2002-03-18 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* gdbint.texinfo (Releasing GDB): Add section ``Versions and
|
||||
Branches''.
|
||||
|
||||
2002-03-18 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* gdbint.texinfo (Releasing GDB): Add the section``Branch Commit
|
||||
|
@ -4817,11 +4817,111 @@ files @file{gdb.info*} in the distribution. Note the plural;
|
||||
@code{makeinfo} will split the document into one overall file and five
|
||||
or so included files.
|
||||
|
||||
|
||||
@node Releasing GDB
|
||||
|
||||
@chapter Releasing @value{GDBN}
|
||||
@cindex making a new release of gdb
|
||||
|
||||
@section Versions and Branches
|
||||
|
||||
@subsection Version Identifiers
|
||||
|
||||
@value{GDBN}'s version is determined by the file @file{gdb/version.in}.
|
||||
|
||||
@value{GDBN}'s mainline uses ISO dates to differentiate between
|
||||
versions. The CVS repository uses @var{YYYY}-@var{MM}-@var{DD}-cvs
|
||||
while the corresponding snapshot uses @var{YYYYMMDD}.
|
||||
|
||||
@value{GDBN}'s release branch uses a slightly more complicated scheme.
|
||||
When the branch is first cut, the mainline version identifier is
|
||||
prefixed with the @var{major}.@var{minor} from of the previous release
|
||||
series but with .90 appended. As draft releases are drawn from the
|
||||
branch, the minor minor number (.90) is incremented. Once the first
|
||||
release (@var{M}.@var{N}) has been made, the version prefix is updated
|
||||
to @var{M}.@var{N}.0.90 (dot zero, dot ninety). Follow on releases have
|
||||
an incremented minor minor version number (.0).
|
||||
|
||||
Using 5.1 (previous) and 5.2 (current), the example below illustrates a
|
||||
typical sequence of version identifiers:
|
||||
|
||||
@table @asis
|
||||
@item 5.1.1
|
||||
final release from previous branch
|
||||
@item 2002-03-03-cvs
|
||||
main-line the day the branch is cut
|
||||
@item 5.1.90-2002-03-03-cvs
|
||||
corresponding branch version
|
||||
@item 5.1.91
|
||||
first draft release candidate
|
||||
@item 5.1.91-2002-03-17-cvs
|
||||
updated branch version
|
||||
@item 5.1.92
|
||||
second draft release candidate
|
||||
@item 5.1.92-2002-03-31-cvs
|
||||
updated branch version
|
||||
@item 5.1.93
|
||||
final release candidate (see below)
|
||||
@item 5.2
|
||||
official release
|
||||
@item 5.2.0.90-2002-04-07-cvs
|
||||
updated CVS branch version
|
||||
@item 5.2.1
|
||||
second official release
|
||||
@end table
|
||||
|
||||
Notes:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Minor minor minor draft release candidates such as 5.2.0.91 have been
|
||||
omitted from the example. Such release candidates are, typically, never
|
||||
made.
|
||||
@item
|
||||
For 5.1.93 the bziped tar ball @file{gdb-5.1.93.tar.bz2} is just the
|
||||
official @file{gdb-5.2.tar} renamed and compressed.
|
||||
@end itemize
|
||||
|
||||
To avoid version conflicts, vendors are expected to modify the file
|
||||
@file{gdb/version.in} to include a vendor unique alphabetic identifier
|
||||
(an official @value{GDBN} release never uses alphabetic characters in
|
||||
its version identifer).
|
||||
|
||||
Since @value{GDBN} does not make minor minor minor releases (e.g.,
|
||||
5.1.0.1) the conflict between that and a minor minor draft release
|
||||
identifier (e.g., 5.1.0.90) is avoided.
|
||||
|
||||
|
||||
@subsection Branches
|
||||
|
||||
@value{GDBN} draws a release series (5.2, 5.2.1, @dots{}) from a single
|
||||
release branch (gdb_5_2-branch). Since minor minor minor releases
|
||||
(5.1.0.1) are not made, the need to branch the release branch is avoided
|
||||
(it also turns out that the effort required for such a a branch and
|
||||
release is significantly greater than the effort needed to create a new
|
||||
release from the head of the release branch).
|
||||
|
||||
Releases 5.0 and 5.1 used branch and release tags of the form:
|
||||
|
||||
@example
|
||||
gdb_N_M-YYYY-MM-DD-branchpoint
|
||||
gdb_N_M-YYYY-MM-DD-branch
|
||||
gdb_M_N-YYYY-MM-DD-release
|
||||
@end example
|
||||
|
||||
Release 5.2 is trialing the branch and release tags:
|
||||
|
||||
@example
|
||||
gdb_N_M-YYYY-MM-DD-branchpoint
|
||||
gdb_N_M-branch
|
||||
gdb_M_N-YYYY-MM-DD-release
|
||||
@end example
|
||||
|
||||
@emph{Pragmatics: The branchpoint and release tags need to identify when
|
||||
a branch and release are made. The branch tag, denoting the head of the
|
||||
branch, does not have this criteria.}
|
||||
|
||||
|
||||
@section Branch Commit Policy
|
||||
|
||||
The branch commit policy is pretty slack. @value{GDBN} releases 5.0,
|
||||
|
Loading…
Reference in New Issue
Block a user