Re: [Lazarus] revision numbers of each SVN tag?
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?
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?
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?
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?
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?
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?
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?
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/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?
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?
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?
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?
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?
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/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?
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/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?
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?
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/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?
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?
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?
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?
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?
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?
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?
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/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/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?
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?
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?
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?
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?
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?
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?
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?
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