From: Andrew Cagney <ac131313@cygnus.com>
To: Michael Elizabeth Chastain <chastain@cygnus.com>,
GDB Discussion <gdb@sources.redhat.com>
Subject: Re: CVS versions of gdb have same number as stable version.
Date: Wed, 21 Mar 2001 15:59:00 -0000 [thread overview]
Message-ID: <3AA149E4.3B6AAFA8@cygnus.com> (raw)
In-Reply-To: <200102161607.IAA23711@bosch.cygnus.com>
Hmm, this turned out to be a hot topic, sorry ... :-)
--
First the easy bit:
Given that there doesn't appear to be any way of wacking
Makefile.in:VERSION during a CVS ci/co, I'd like to adapt CGF's
suggestion into the following:
o shove VERSION into a
separate file.
Please don't ask which
file, I neither know nor
care :-)
o add cronjobs to wack
that file daily.
The wack would occure
at about 00:00GMT.
An alternative might be
00:00 FJT but I suspect
GMT/UCT is best.
Who ever sets this up had
better remember daylight
savings :-)
What the wack does is
discused below.
Pratmatics:
By putting version into its own little (very booring) file all the dummy
CVS commits are isolated.
The current snapshots are created at about 02:00GMT using 00:00 GMT as
the -D parameter. In theory, the hack that wacks the snapshot's VERSION
becomes redundant. In reality, I bet there is a race condition so that
hack should continue :-)
--
Now the more interesting bit:
Back in the good old days of ``open development'', everything was made
available using snapshots (GDB, BINUTILS, GCC all did this). During the
release cycle, the snaps would follow the branch and not the trunk vis
trunk -> trunk .-> warp-to-trunk
`-> branch -> release
Since the general public only saw the above flow, problems like
differentiating between trunks and branches didn't occure. A convention
like 4.18 -> 4.18.0.90 -> 4.18.90(branch) -> 4.18.91 -> 5.0 -> 5.0.0.90
made pretty good sense.
With CVS however, things are very different. I don't think that the
above model still applies. The flow is now:
.-> branch -> release (YYYYMMDD-bigted-1.2.3)
trunk -> trunk -> trunk -> trunk -> trunk -> trunk
`-> branch -> release 5.1
`-> branch -> release 5.1.1
`-> release 5.1.1-littleted-123
(and you thought life was easy :-) The trunk and the branchs are all
active at the same time. Patches are constantly, and randomly, been
applied.
With that in mind my first thought was:
trunk: gdb-YYYYMMDD (gdb-20010229)
branch: gdb-B.B.B-YYYY-MM-DD (gdb-5.0.90-20010229)
However, I've been ``educated'' by marketing :-) People like to know
the last release that a snapshot is based on. With that in mind could I
suggest:
trunk: gdb-R.R.R-YYYYMMDD (gdb-5.0-20010229)
branch: gdb-R.R.R.BB (gdb-5.0.90, ....)
Where ``R.R.R'' is the last official release. When ever a release is
made, the trunk is updated to reflect this.
The trunk would be date stamped daily.
A branch could also get a daily date stamp but, well, I suspect that is
over kill.
Looking at the likely 5.1 senario:
trunk: gdb-5.0-20030229
5.1 branch: gdb-5.0.90, gdb-5.0.91, ...
(Strictly speaking) when 5.1 was released things would follow:
trunk: gdb-5.1-20042301
5.1 branch: ...gdb-5.0.99, gdb-5.1 frozen
5.1.1 branch: gdb-5.1.0.90 ....
However, being essentially lazy, I'd actually do:
trunk: gdb-5.1-20054705
5.1 branch: gdb-5.0.99, gdb-5.1 (tag), gdb-5.1.0.90, ...
Oh, if you work this through, there is a small window during which both
the trunk and the branch could produce the version number
gdb-5.1-YYYYMMDD. I'll try to remember to not make the release during
00:00 GMT :-)
So again, to restart this discussion .... :-) Comments?
Andrew
next prev parent reply other threads:[~2001-03-21 15:59 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-16 8:07 Michael Elizabeth Chastain
2001-02-16 8:39 ` Andrew Cagney
2001-03-21 15:59 ` Andrew Cagney [this message]
2001-03-21 15:59 ` Andrew Cagney
2001-03-21 15:59 ` Fernando Nasser
2001-03-21 15:59 ` Kevin Buettner
2001-03-21 15:59 ` Fernando Nasser
2001-06-12 14:14 ` Andrew Cagney
2001-02-16 8:46 Michael Elizabeth Chastain
2001-02-16 9:54 ` Kevin Buettner
2001-02-16 11:02 ` J.T. Conklin
2001-02-16 12:10 ` Eli Zaretskii
2001-02-16 11:29 Michael Elizabeth Chastain
2001-02-16 11:42 ` Andrew Cagney
2001-02-16 11:57 ` J.T. Conklin
2001-02-16 12:16 ` Kevin Buettner
2001-02-16 12:29 ` Elena Zannoni
2001-02-16 12:43 ` Kevin Buettner
2001-02-16 12:44 ` Andrew Cagney
2001-02-16 13:34 ` Stan Shebs
2001-02-16 14:30 ` Christopher Faylor
2001-02-17 10:51 ` Andrew Cagney
2001-03-21 15:59 ` Andrew Cagney
2001-02-16 12:21 Michael Elizabeth Chastain
2001-03-21 15:59 ` Andrew Cagney
2001-03-21 15:59 Michael Elizabeth Chastain
2001-06-12 14:46 Michael Elizabeth Chastain
2001-06-13 7:32 ` Andrew Cagney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3AA149E4.3B6AAFA8@cygnus.com \
--to=ac131313@cygnus.com \
--cc=chastain@cygnus.com \
--cc=gdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox