Re: [Lazarus] revision numbers of each SVN tag?

2009-04-16 Thread Vincent Snijders
Doug Chamberlin schreef:
 What if, in response to a last-minute show stopper bug, the scheduled 
 release was immediately superseded by another one with a higher release 
 number? What would be the harm?

It would make a lot of confusion.

 
 Do you really think that anyone likely to use these programs (FPC and 
 Lazarus) would not be sympathetic and understanding about what happened 
 and readily accommodate themselves to the fact that release x.y.z had a 
 1-day lifespan and that usable releases went from x.y.z to x.y.z+2? 

The x.y.z release would never released, it would have a minus 3 days 
life span. Note that this thread is talking about the situation, where 
the source in SVN has been tagged for the release builders, but no 
release has been made public. The x.y.z release would go from x.y.z to 
x.y.z+4 (no odd releases, see 
http://wiki.lazarus.freepascal.org/Version_Numbering) and you would have 
to explain the missing x.y.z+2, except that is visible in the svn 
history (I would delete the tag for the broken release from svn too).

 Especially if the explanation was readily available?

Maybe.

 
 It's not like we are running out of release numbers or anything...
 
 Also, I don't buy the argument that doing this would delay the new 
 release another 4 months. After all, it would be the exact same code 
 being released under the move the tag scenario so no additional delay 
 would be needed.

Agreed.

Vincent
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-16 Thread Marco van de Voort
On Wed, Apr 15, 2009 at 07:26:58PM -0400, Doug Chamberlin wrote:
 What if, in response to a last-minute show stopper bug, the scheduled 
 release was immediately superseded by another one with a higher release 
 number? What would be the harm?

FPC did that once 1.0.8 in 2003 or thereabouts. Afaik I deleted the FAQ item
about it only an year ago. Never again.
 
Also I've a bit the feeling that this whole discussion is a solution in
search of a problem. There is no problem at all in the first place.
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-16 Thread Graeme Geldenhuys
On Wed, Apr 15, 2009 at 10:14 PM, Hans-Peter Diettrich
drdiettri...@aol.com wrote:

 Distinguish between distribution lines. My suggestion is for the
 repository itself. A tarball can contain the patched version, and can
 have other naming conventions. RPM packages frequently come with
 patches. etc.

I am actually done chatting on this thread, but to reiterate your
point. When last did you see a Windows OS being released and not have
patches available in the first week of release. Even in open-source
projects like Ubuntu. They day it gets released, there are updates to
be downloaded. And with the Ubuntu LTS (Longe Term Support) versions
they release point releases a few moths later - fixing even more bugs.

Why can't FPC release patches ( or new .pp, .inc and .ppu files) for
those unexpected show stoppers. It would save the release builders
hours of time. Note, this is only mean for those critical unforeseen /
show stopper issues.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-16 Thread Florian Klaempfl
Doug Chamberlin schrieb:
 What if, in response to a last-minute show stopper bug, the scheduled 
 release was immediately superseded by another one with a higher release 
 number? What would be the harm?
 
 Do you really think that anyone likely to use these programs (FPC and 
 Lazarus) would not be sympathetic and understanding about what happened 
 and readily accommodate themselves to the fact that release x.y.z had a 
 1-day lifespan and that usable releases went from x.y.z to x.y.z+2? 
 Especially if the explanation was readily available?

You missed the days when we skipped 1.0.8, right? It was an faq for
years: where is version 1.0.8?

 
 It's not like we are running out of release numbers or anything...
 
 Also, I don't buy the argument that doing this would delay the new 
 release another 4 months. After all, it would be the exact same code 
 being released under the move the tag scenario so no additional delay 
 would be needed.

It requires at least another release candidate to get the version number
at all placed right (compiler, makefiles, docs, readmes, installers
) and let it check by other people  and to test if all defines are
still correct. And the more release candidates you do, the more tired
builders get, so times spans get longer and longer with every release
candidate.
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-16 Thread Joost van der Sluis
Op donderdag 16-04-2009 om 08:49 uur [tijdzone +0200], schreef Graeme
Geldenhuys:
 On Wed, Apr 15, 2009 at 10:14 PM, Hans-Peter Diettrich
 drdiettri...@aol.com wrote:
 
  Distinguish between distribution lines. My suggestion is for the
  repository itself. A tarball can contain the patched version, and can
  have other naming conventions. RPM packages frequently come with
  patches. etc.
 
 I am actually done chatting on this thread, but to reiterate your
 point. When last did you see a Windows OS being released and not have
 patches available in the first week of release. Even in open-source
 projects like Ubuntu. They day it gets released, there are updates to
 be downloaded. And with the Ubuntu LTS (Longe Term Support) versions
 they release point releases a few moths later - fixing even more bugs.

Well, you don't have any experience in building linux-distribution
releases also, that is clear.

For distributions the same thing holds as for us: if a show-stopper
occurs, the release is delayed. Last example is the release of Fedora 11
beta. It was delayed 2 weeks because of some show-stoppers. (2 weeks is
very long, and believe me: nobody was happy with it) 

But the point is that distributions only find issues 'show-stoppers'
when the files concerned are on the cd's. And if they contain bugs in
the installer, or security issues while installing Fedora. Thus:
problems which may arrise before the patch-and-update mechanism is in
place. (This was also the problem in the latest fpc release: it was only
harmfull the first time you would run the installation-utility)

Distributions handle things like these exactly as how we do. Unimportant
things can be done in patches.

 Why can't FPC release patches ( or new .pp, .inc and .ppu files) for
 those unexpected show stoppers. It would save the release builders
 hours of time. Note, this is only mean for those critical unforeseen /
 show stopper issues.

Well, that's one of the reasons we made fppkg. But that's not something
you do in a few weeks...

Joost.

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Graeme Geldenhuys
On Tue, Apr 14, 2009 at 6:56 PM, Alexander Klenin kle...@gmail.com wrote:

 As a general issue, IMO the Discussion section of git-tag manpage
 summarizes the case for correct tag usage very nicely ;-)

And more importantly - in Git, a 'tag' is very different to a 'branch'.  ;-)


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Graeme Geldenhuys
On Wed, Apr 15, 2009 at 9:18 AM, Vincent Snijders
vincent.snijd...@gmail.com wrote:

 Ah, so what is written about how to use tags with doesn't apply to
 svn, because with SVN a tag is not very different at all to a branch.
 ;-)

:-)  I've only been using Git for 2-3 months (1.5 months actively). My
understanding between the different usages of tags and branches
pre-dates Git by many years. I have been a SubVersion user for many
years.  Git simply implemented tags the way most developers understood
tags (branches and tags should not be the same thing).  Maybe
SubVersion 2.0 will fix the tag issue. ;-)


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Joost van der Sluis
Op dinsdag 14-04-2009 om 12:35 uur [tijdzone +0200], schreef Hans-Peter
Diettrich:
 Graeme Geldenhuys schrieb:
 
  Yes, but beware the some of them got merges from trunk afterwards.
 
  For instance, lazarus_0_9_26_2 is based on 18716, and r18269 got merged
   resulting in r18898. So you cannot simpy use r18898 for the tag.
  
  I noticed that...  Doesn't that defeat the point of tags???  Branches
  are used for merging things. Tags should be set in stone - a snapshot
  at a specific point in time.
 
 I'll second that.
 
 Later fixes should be supplied as patches (AKA service packs), IMO.

You have never managed the release of a complex (open-source?)
application, didn't you?

If a showstopper pops up, you have to cancel the release and make
another. You can't release buggy software and then release a
service-pack on the day the original release is released! 

Joost

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Vincent Snijders
2009/4/15 Graeme Geldenhuys graemeg.li...@gmail.com:
 On Wed, Apr 15, 2009 at 11:07 AM, Joost van der Sluis jo...@cnoc.nl wrote:

 ps: Releasing a fpc release costs more then 4 months! FOUR MONTHS! And
 still we had to cancel the release on the day of the planned release.

 How did this thread become all about FPC releases??? This is the
 Lazarus mailing list as far as I know, and I was refering to the
 Lazarus repository - nothing to do with FPC releases.  Please stay
 on-topic.


They show the real world example where moving a tag is desirable
before a tagged version is published/announced.

What happens to a fpc release can happen (and happens) to a lazarus
release too. For now the situation with Lazarus is not as serious as
with fpc (2 months instead of 4), less platforms and release builders
are involved, but still.

Vincent

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Joost van der Sluis
Op dinsdag 14-04-2009 om 16:06 uur [tijdzone +0200], schreef Graeme
Geldenhuys:
 On Tue, Apr 14, 2009 at 3:31 PM, Florian Klaempfl
 flor...@freepascal.org wrote:
 
  And what if someone realizes that one patch is missing?
 
 Well, is that not what release canditate or stable branches are for?
 Users at least expect updates and backports of patches in a branch.
 Then test, test and test! Once everything is working, create a release
 tag based on that branch.
 
  Skip a release
  number? We will never to this again, we did this in FPC 1.0.x times and
  it caused a lot of confusion. Better a tag is moved ...
 
 Isn't that what point releases are for??
 
 * Release 0.9.26.
 * Oh crap, we didn't test enough and 0.9.26 is broken.
 * merge, fix and retest using the branch release 0.9.26 was based on.
 * Release 0.9.26.1
 
 in the mean time new development continues on unstable trunk (0.9.27)...
 
 If a release is broken one day after it has been released, then
 clearly not enough testing was done on that stable branch. In that
 case, release candidate branches should have a longer lifespan.
 
 Just because a tag can have updates, doesn't mean it must. It goes
 against what most people know or expect and is even documented as such
 in the SubVersion docs. It simply adds more confusion. Once a release
 is out, it should be final. Point releases should follow from that to
 fix minor or overlooked issues.

Dream on


and then get back to the real world.

Joost.

ps: Releasing a fpc release costs more then 4 months! FOUR MONTHS! And
still we had to cancel the release on the day of the planned release.

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Graeme Geldenhuys
On Wed, Apr 15, 2009 at 11:07 AM, Joost van der Sluis jo...@cnoc.nl wrote:

 ps: Releasing a fpc release costs more then 4 months! FOUR MONTHS! And
 still we had to cancel the release on the day of the planned release.

How did this thread become all about FPC releases??? This is the
Lazarus mailing list as far as I know, and I was refering to the
Lazarus repository - nothing to do with FPC releases.  Please stay
on-topic.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Marc Weustink
Graeme Geldenhuys wrote:
 On Wed, Apr 15, 2009 at 9:18 AM, Vincent Snijders
 vincent.snijd...@gmail.com wrote:
 Ah, so what is written about how to use tags with doesn't apply to
 svn, because with SVN a tag is not very different at all to a branch.
 ;-)
 
 :-)  I've only been using Git for 2-3 months (1.5 months actively). My
 understanding between the different usages of tags and branches
 pre-dates Git by many years. I have been a SubVersion user for many
 years.  Git simply implemented tags the way most developers understood
 tags (branches and tags should not be the same thing).  Maybe
 SubVersion 2.0 will fix the tag issue. ;-)

I dont expect so, since iirc they considered it the same (and I dont care).

Marc

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Joost van der Sluis
Op woensdag 15-04-2009 om 11:25 uur [tijdzone +0200], schreef Graeme
Geldenhuys:
 On Wed, Apr 15, 2009 at 11:07 AM, Joost van der Sluis jo...@cnoc.nl wrote:
 
  ps: Releasing a fpc release costs more then 4 months! FOUR MONTHS! And
  still we had to cancel the release on the day of the planned release.
 
 How did this thread become all about FPC releases??? This is the
 Lazarus mailing list as far as I know, and I was refering to the
 Lazarus repository - nothing to do with FPC releases.  Please stay
 on-topic.

The whole git-stuff is off-topic. Most people here don't care. But we do
care about releasing lazarus and fpc versions. And both the Lazarus team
and the fpc-team merged changes to a tag to make this happen.

And that's the thing you are attacking, merging to tags. The latest
Lazarus release was a usefull example of this, but fpc used this also.

You can state that 'thou shoudn't do that'. I want to point out is that
the two largest OS-projects I know did use this trick. (And we're not
alone)

And you are all making fuzz about this being illogical and such, but you
have only worked with tiny os-projects like tiOPF and fpGUI. Well, I can
live according to some stupid rules for such small projects also. But we
are talking about more complex things here.

As pointed out even in the git-documentation: these cases happen.

Joost.


___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Marco van de Voort
On Tue, Apr 14, 2009 at 03:25:10PM +0200, Graeme Geldenhuys wrote:
 On Tue, Apr 14, 2009 at 3:02 PM, Vincent Snijders
 vsnijd...@vodafonevast.nl wrote:
 
  I am abusing the tool, because it is a tool after all, not a law. Sorry to 
  confuse
  you with it, but I never realized you would get into trouble with git. svn 
  export
  and svn co of that tag works exactly the same after the release 
  announcement (all
  the release builders were notified in private).
 
 It's not that Git doesn't cope with it, it's just something unexpected
 even for a svn user

It's one of the very first points in the SVN book (iirc differences to CVS),
that branches and tags are the same.

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Vincent Snijders
2009/4/15, Flávio Etrusco flavio.etru...@gmail.com:

 Let's play it straight: there's no _need_ for moving tags.
  Yes, it can be convenient, but you'll shooting yourself in the foot no
  matter if it's how private you make it.


I think I have to shoot myself in the foot before I give up this
easier way of working.

Vincent

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Graeme Geldenhuys
On Wed, Apr 15, 2009 at 2:26 PM, Marco van de Voort mar...@stack.nl wrote:

 It's one of the very first points in the SVN book (iirc differences to CVS),
 that branches and tags are the same.

and then you read between the lines design flaw!  ;-)


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Graeme Geldenhuys
2009/4/15 Flávio Etrusco flavio.etru...@gmail.com:

 As I said previously (and was completely ignored ;-), with SVN one can
 rely on repository revisions.
 And if people don't like that, they can use a series of pre tags.
 And probably a pre branch.

Brilliant idea.  Create a pre-0.9.26 branch (or tag yuck) and
start the release process. 2-4 months later if anything is broken,
merge and patch that branch at will. Test again and if all is well,
then create a lazarus_0.9.26 tag (never to be touched because it's a
released version).

How difficult is that???  Logically, Flávio's example makes a lot more
sense that how it is currently done with moving tags.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Graeme Geldenhuys
On Wed, Apr 15, 2009 at 2:16 PM, Joost van der Sluis jo...@cnoc.nl wrote:

 The whole git-stuff is off-topic. Most people here don't care.

I've setup a Git mirror of Lazarus SubVersion repository. It's got
everything to do with Lazarus development. And yes most people don't
care yet, because the Git mirror has only been public for a week.

I really don't give a rats ass about the tags in the Git mirror,
because I always track the 'trunk' branch, though I am constantly a
few revisions behind (when I find a stable revision). But I thought if
others started using the Git mirror, they might require the tags in
place - *hence* this whole damn thread. For completeness, I thought I
would mark the tags, but then I noticed this very strange usage of
tags the rest is history.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Florian Klaempfl
Vincent Snijders schrieb:
 2009/4/15, Graeme Geldenhuys graemeg.li...@gmail.com:
 2009/4/15 Flávio Etrusco flavio.etru...@gmail.com:
  

 As I said previously (and was completely ignored ;-), with SVN one can
   rely on repository revisions.
   And if people don't like that, they can use a series of pre tags.
   And probably a pre branch.


 Brilliant idea.  Create a pre-0.9.26 branch (or tag yuck) and
  start the release process. 2-4 months later if anything is broken,
  merge and patch that branch at will. Test again and if all is well,
  then create a lazarus_0.9.26 tag (never to be touched because it's a
  released version).

  How difficult is that???  Logically, Flávio's example makes a lot more
  sense that how it is currently done with moving tags.
 
 To me it feels bad, that in your proposal a release is *always* build
 from a branch and not from a tag.

In 1.0.x/cvs times fpc was built from branches and it was a mess, even
using locking :)
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Vincent Snijders
2009/4/15, Graeme Geldenhuys graemeg.li...@gmail.com:
 2009/4/15 Flávio Etrusco flavio.etru...@gmail.com:
  

  As I said previously (and was completely ignored ;-), with SVN one can
   rely on repository revisions.
   And if people don't like that, they can use a series of pre tags.
   And probably a pre branch.


 Brilliant idea.  Create a pre-0.9.26 branch (or tag yuck) and
  start the release process. 2-4 months later if anything is broken,
  merge and patch that branch at will. Test again and if all is well,
  then create a lazarus_0.9.26 tag (never to be touched because it's a
  released version).

  How difficult is that???  Logically, Flávio's example makes a lot more
  sense that how it is currently done with moving tags.

To me it feels bad, that in your proposal a release is *always* build
from a branch and not from a tag.

In my / our current work flow, it is almost always created from a
'real' (never changed) tag and only in exceptional circumstances from
a tag directory to which a commit has been made.

Vincent

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Alexander Klenin
On Thu, Apr 16, 2009 at 00:02, Florian Klaempfl flor...@freepascal.org wrote:
 Very difficult. If a release is created from a branch, nobody can ensure
 that all release builders built the release candidate from exactly the
 same revision, if they don't, things might be broken when the final
 release should be built.

Why not tag it x.y.z-pre1 then, and if all went well, additionally tag
the same revision
as x.y.z, otherwise create x.y.z-pre2 etc.?

 At cvs times we did this for fpc and we had to lock the branch to
 prevent commits (btw: can git lock branches ;)?)

Git (and Subversion too) can, in principle, lock branches using
pre-commit hook.
However, note that in git the whole problem does not exist, since in
the normal workflow
nobody except release manager can commit to release branch anyway.
Also, it you _do_ move a tag in git, everybody updating from your
repository will
get a big fat warning ;-)

-- 
Alexander S. Klenin
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Graeme Geldenhuys
On Wed, Apr 15, 2009 at 3:02 PM, Florian Klaempfl
flor...@freepascal.org wrote:
 start the release process. 2-4 months later if anything is broken,
 merge and patch that branch at will. Test again

 Did you ever working on testing a lazarus or fpc release?

Do you mean... have I tested a release candidate when it was
announced. It so, then the answer is yes.


 Very difficult. If a release is created from a branch, nobody can ensure
 that all release builders built the release candidate from exactly the
 same revision, if they don't, things might be broken when the final
 release should be built.

You guys are talking in circles! Now you tell be that branches and
tags are different, yet earlier I was explicitly told that tags and
branches are identical in SubVersion.  In in actual fact, there should
be NO difference in creating a release from a branch compared to a
release from a tag.

Form your quote above, nobody can ensure that all release builders
have the exact same revision when tags are used either. After all,
merges and patches have been applied to tags - exactly the same thing
as is done to branches!  This was EXACTLY the point I was trying to
make form the start! Prohibit all read/write access developers from
writing to tags. pre- branches will work perfectly and once all
release builders are happy, THEN ONLY create a tag.

The point I made earlier. I checkout the tag lazarus-0.9.26, then
Vincent applies patches or merges something in there. I talk on the
mailing list about tag lazarus-0.9.26, when my revision is different
from Vincent's revision.


 At cvs times we did this for fpc and we had to lock the branch to
 prevent commits (btw: can git lock branches ;)?),

Yes, you use non-lightweight tags for that.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Florian Klaempfl
Alexander Klenin schrieb:
 On Thu, Apr 16, 2009 at 00:02, Florian Klaempfl flor...@freepascal.org 
 wrote:
 Very difficult. If a release is created from a branch, nobody can ensure
 that all release builders built the release candidate from exactly the
 same revision, if they don't, things might be broken when the final
 release should be built.
 
 Why not tag it x.y.z-pre1 then, and if all went well, additionally tag
 the same revision
 as x.y.z, otherwise create x.y.z-pre2 etc.?

What if you realize after x.y.z has been tagged, built and uploaded that
it has a security hole as it happend with fpc?

 
 At cvs times we did this for fpc and we had to lock the branch to
 prevent commits (btw: can git lock branches ;)?)
 
 Git (and Subversion too) can, in principle, lock branches using
 pre-commit hook.

Subversion has a native lock command ;) One can override it, but this is
behaving really bad and I don't expect anybody to do so.

 However, note that in git the whole problem does not exist, since in
 the normal workflow
 nobody except release manager can commit to release branch anyway.

So the release manager needs to run his own git repository instead of
having the release tag in the central, fast and reliable repository? The
sad thing about this workflow is anyways, that no release manager can
test all patches because he lacks the appropriate machines so he needs
to merge patches blindly.

 Also, it you _do_ move a tag in git, everybody updating from your
 repository will
 get a big fat warning ;-)
 

This is fine, but sometimes moving a tag is needed. Period.
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Florian Klaempfl
Graeme Geldenhuys schrieb:
 On Wed, Apr 15, 2009 at 3:02 PM, Florian Klaempfl
 flor...@freepascal.org wrote:
 start the release process. 2-4 months later if anything is broken,
 merge and patch that branch at will. Test again
 Did you ever working on testing a lazarus or fpc release?
 
 Do you mean... have I tested a release candidate when it was
 announced. It so, then the answer is yes.

The answer is no, you never saw the things behind the scenes.


 
 Prohibit all read/write access developers from
 writing to tags. pre- branches will work perfectly and once all
 release builders are happy, THEN ONLY create a tag.

The last time: everybody was happy, FPC 2.2.4 was uploaded and a day
before it was announce, a serious *SECURITY HOLE* was detected, so we
decided to bite the bullet and decided to fix, rebuild and move the tag.
Now I stop it, you don't get it. But I see, you would have skipped
2.2.4, started over again with 2.2.6-rc1 and delayed the release of a
new fpc version another 4 months ...
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-15 Thread Alexander Klenin
On Thu, Apr 16, 2009 at 00:02, Florian Klaempfl flor...@freepascal.org wrote:
 Very difficult. If a release is created from a branch, nobody can ensure
 that all release builders built the release candidate from exactly the
 same revision, if they don't, things might be broken when the final
 release should be built.

Why not tag it x.y.z-pre1 then, and if all went well, additionally tag
the same revision
as x.y.z, otherwise create x.y.z-pre2 etc.?

 At cvs times we did this for fpc and we had to lock the branch to
 prevent commits (btw: can git lock branches ;)?)

Git (and Subversion too) can, in principle, lock branches using
pre-commit hook.
However, note that in git the whole problem does not exist, since in
the normal workflow
nobody except release manager can commit to release branch anyway.
Also, it you _do_ move a tag in git, everybody updating from your
repository will
get a big fat warning ;-)

-- 
Alexander S. Klenin
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Marc Weustink
Graeme Geldenhuys wrote:
 Hi,
 
 I forgot to pull in the 'tags' when I mirrored the SubVersion
 repository to Git. I would like to tag them now, but need to know what
 revisions was used for each tag.
 
 Based on the following URL, is the revision column next to every tag
 the revision numbers I am looking for?
 
   http://svn.freepascal.org/cgi-bin/viewvc.cgi/tags/?root=lazarus

Yes, but beaware the some of them got merges from truk afterward.

For instance, lazarus_0_9_26_2 is based on 18716, and r18269 got merged 
  resulting in r18898.

So you cannot simpy use r18898 for the tag.


Marc
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Graeme Geldenhuys
On Tue, Apr 14, 2009 at 10:47 AM, Marc Weustink
marc.weust...@cuperus.nl wrote:

 Yes, but beware the some of them got merges from trunk afterwards.

 For instance, lazarus_0_9_26_2 is based on 18716, and r18269 got merged
  resulting in r18898. So you cannot simpy use r18898 for the tag.

I noticed that...  Doesn't that defeat the point of tags???  Branches
are used for merging things. Tags should be set in stone - a snapshot
at a specific point in time. Now Lazarus developers do not distinguish
between tags and branches.  :-(

How long before a Lazarus tag is not merged to any more?? This strange
usage of tags makes any mirroring near impossible (or a lot more
work).  I still think merging to a tag is wrong though.  Maybe I'll
just use the base revision number the tag was created on and be done
with it.

Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Vincent Snijders
2009/4/14 Graeme Geldenhuys graemeg.li...@gmail.com:
 On Tue, Apr 14, 2009 at 10:47 AM, Marc Weustink
 marc.weust...@cuperus.nl wrote:

 Yes, but beware the some of them got merges from trunk afterwards.

 For instance, lazarus_0_9_26_2 is based on 18716, and r18269 got merged
  resulting in r18898. So you cannot simpy use r18898 for the tag.

 How long before a Lazarus tag is not merged to any more??

After a release has been announced.

Vincent.

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Vincent Snijders
2009/4/14 Graeme Geldenhuys graemeg.li...@gmail.com:
 On Tue, Apr 14, 2009 at 10:47 AM, Marc Weustink
 marc.weust...@cuperus.nl wrote:

 Yes, but beware the some of them got merges from trunk afterwards.

 For instance, lazarus_0_9_26_2 is based on 18716, and r18269 got merged
  resulting in r18898. So you cannot simpy use r18898 for the tag.

 I noticed that...  Doesn't that defeat the point of tags???  Branches
 are used for merging things. Tags should be set in stone - a snapshot
 at a specific point in time. Now Lazarus developers do not distinguish
 between tags and branches.  :-(


I guess we exploit this SVN feature to get the best out of SVN :-p

What do you suggest instead? Remove the tag and tag again? Or is
deleting a directory under tags not allowed in GIT either?

Vincent

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Graeme Geldenhuys
On Tue, Apr 14, 2009 at 11:44 AM, Vincent Snijders
vincent.snijd...@gmail.com wrote:

 What do you suggest instead? Remove the tag and tag again? Or is
 deleting a directory under tags not allowed in GIT either?

Tags should be created after a release has been announced.  Before
that, a Branch should be used.

I have no idea if SubVersion supports deleting or moving tags. I know
under Git I can delete or move tags without problems.

What worries me now with the current tags in Lazarus, is that they
don't have a clean history (specific snapshot in time). You wouldn't
expect to do a 'svn up' after you checked out a tag - so some users
might be missing those extra commits / merges.  You also can't re-tag
by simply using the last merged revision, because the history is not
sequential any more.  I'm not sure what would happen if you created a
new branch (using original revision of tag) and recreated what some of
those tags do, then re-tag the branch and then delete the branch...
Can you do that?  The joys of tags and branches under SubVersion!  :-(

In future I would recommend using branches and when a release is
announced, then only create a tag.

Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Hans-Peter Diettrich
Graeme Geldenhuys schrieb:

 Yes, but beware the some of them got merges from trunk afterwards.

 For instance, lazarus_0_9_26_2 is based on 18716, and r18269 got merged
  resulting in r18898. So you cannot simpy use r18898 for the tag.
 
 I noticed that...  Doesn't that defeat the point of tags???  Branches
 are used for merging things. Tags should be set in stone - a snapshot
 at a specific point in time.

I'll second that.

Later fixes should be supplied as patches (AKA service packs), IMO.

DoDi

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Florian Klaempfl
Graeme Geldenhuys schrieb:
 On Tue, Apr 14, 2009 at 12:33 PM, Vincent Snijders 
 vincent.snijd...@gmail.com
 Another school says that you need to build releases from a tagged version.
 
 Those learners should go back to school!  :-)

No. It's stupid to tag after a release is built or even worse, build
from a branch. This makes it very hard to ensure that everybody uses the
same revision to do its builds (e.g. FPC releases are build by probably
almost 10 different people). It rarely happens that a release must be
rebuilt but in this case the tag is simply moved by merging a certain
revision.
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Vincent Snijders
Graeme Geldenhuys schreef:
  quote
 Another common version control concept is a tag. A tag is just a
 “snapshot” of a project in time.
 
 [...snip]
 
 But wait a moment: isn't this tag creation procedure the same
 procedure we used to create a branch? Yes, in fact, it is. In
 Subversion, there's no difference between a tag and a branch. Both are
 just ordinary directories that are created by copying. Just as with
 branches, the only reason a copied directory is a “tag” is because
 humans have decided to treat it that way: as long as nobody ever
 commits to the directory, it forever remains a snapshot. If people
 start committing to it, it becomes a branch.
 /quote
 

Correct. Until the release has been announced, that directory should be 
considered a 
branch. After that is a tag set in stone. I admit I took a shortcut by merging 
the 
change. The correct way should have been:
* create a new branch from lazarus/tags/lazarus_0_9_26_2 to 
lazarus/branches/lazarus_0_9_26_2
* delete lazarus/tags/lazarus_0_9_26_2 (since the tag is not valid anymore)
* merge the revision from trunk to lazarus/branches/lazarus_0_9_26_2
* tag lazarus/branches/lazarus_0_9_26_2 to lazarus/tags/lazarus_0_9_26_2

Again: cumbersome.

I am abusing the tool, because it is a tool after all, not a law. Sorry to 
confuse 
you with it, but I never realized you would get into trouble with git. svn 
export 
and svn co of that tag works exactly the same after the release announcement 
(all 
the release builders were notified in private).

Vincent

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Hans-Peter Diettrich
Graeme Geldenhuys schrieb:

 The difference between tags and branches does only exist in the naming
 convention, nothing more.
 
 Now I'm starting to appreciate Linus's talk about Git at Google Talk.
 SubVersion really has a brain-dead design.  ;-)

SubVersion had to be compatible with the old SVN, so that existing 
repositories could be moved easily.

 In future I would recommend using branches and when a release is
 announced, then only create a tag.
 Cumbersome.
 
 Funny how the SubVersion documentation says that is exactly how you
 are supposed to use tags. If you start committing to a tag, it is
 NOT a snapshot in time any more and is now considered a branch. I have
 been working on many SubVersion repositories from various projects.
 Everybody gets that concept, but the Lazarus developers don't.

We should distinguish between implementation and use of tags. Using tags 
for anything but immutable milestones is an abuse of the SVN features, 
and it's a weak excuse that it's possible, so we do it :-(

DoDi

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Graeme Geldenhuys
On Tue, Apr 14, 2009 at 3:02 PM, Vincent Snijders
vsnijd...@vodafonevast.nl wrote:

 I am abusing the tool, because it is a tool after all, not a law. Sorry to 
 confuse
 you with it, but I never realized you would get into trouble with git. svn 
 export
 and svn co of that tag works exactly the same after the release announcement 
 (all
 the release builders were notified in private).

It's not that Git doesn't cope with it, it's just something unexpected
even for a svn user. I would never consider doing a 'svn up' after I
do a 'svn co' on a tag.  As a long time svn user I always understood a
tag as a single point in time with no modifications after it has been
created. So if I did a 'svn co' before you did the merge to that tag,
then if I spoke of tag 0.9.26 (expecting it not to change) if would be
different to your tag 0.9.26.  Hence my concern about the odd usage of
tags.


Regards,
  - Graeme -


___
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Michael Van Canneyt


On Tue, 14 Apr 2009, Graeme Geldenhuys wrote:

 On Tue, Apr 14, 2009 at 4:29 PM, Michael Van Canneyt
 mich...@freepascal.org wrote:
 
  Even in CVS - the mother of all revision systems - a tag could be moved,
  so there also it could be that you had to do a cvs up on a tag.
 
 Software evolves (hopefully) and we should not repeat prior mistakes.
 ;-)  See my previous post.

You miss the point, namely that a 'tag' is just a convention between
people. Nowhere it says that a tag should be set in concrete to last
unaltered for eternity. Every versioning software available provides 
a means to set a 'tag', and leaves it up to the users how to interpret 
'tag'.

I for one would never use software that makes a tag irrevocable:
Errare humanum est...

Michael.
___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus


Re: [Lazarus] revision numbers of each SVN tag?

2009-04-14 Thread Flávio Etrusco
On Tue, Apr 14, 2009 at 11:07 AM, Graeme Geldenhuys
graemeg.li...@gmail.com wrote:
 On Tue, Apr 14, 2009 at 4:29 PM, Michael Van Canneyt
 mich...@freepascal.org wrote:

 Even in CVS - the mother of all revision systems - a tag could be moved,
 so there also it could be that you had to do a cvs up on a tag.

 Software evolves (hopefully) and we should not repeat prior mistakes.
 ;-)  See my previous post.


Also, AFAIK the option in CVS was not there from the beginning and was
introduced for repository maintenance, and required a force option.
(And you aren't allowed to commit to tag so you wouldn't do it by
accident... Does svn at least have a lock folder/branch command
already?)

And as SVN revision ids are global/repository-unique, is there a
reason to tag before compiling/testing like with CVS?

Best regards,
Flávio

___
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus