[crossfire] CVS branches

Mark Wedel mwedel at sonic.net
Mon Aug 8 01:49:53 CDT 2005


Nicolas Weeger wrote:
>
     
      Hello.
     
     >
     
     
     >
     
     
     >>
     
      The other issue is that generally, I'm not seeing so many commits that
     
     >>
     
     having people hold off a week would seem like much an issue.
     
     >
     
     
     >
     
     
     >
     
      Well of course we can always wait one or two weeks to add features. But
     
     >
     
      sometimes it's things we'd rather have people test fast than wait weeks.
     
     >
     
      Also need to consider the possibility of finding a weird bug weeks after
     
     >
     
      the release - nice to be able to backport to current stable even after
     
     >
     
      having a whole lot of commits.
     
     
  Yes, although that doesn't come up that often.

>
     
     
     >
     
     
     >>
     
      The simpler approach would not do real branches, just for me to keep a
     
     >>
     
     checked out copy and use that when making the release, and bring over
     
     >>
     
     changes manually that are critical in nature.  Problem with that is you
     
     >>
     
     can get the case where there is no version is CVS that directly
     
     >>
     
     corresponds to the released version. However, I suppose in that case, a
     
     >>
     
     branch for any relevant files could be made at that time.
     
     >
     
     
     >
     
     
     >
     
      That could work, but you'd also need to send the files to specific
     
     >
     
      platforms maintainers (me for Windows) to have synchronised releases,
     
     >
     
      with same code.
     
     
  I could, if necessary, do a branch commit if there are in fact any files that 
are different.  But then I suppose the question is why not just do a branch in 
the first place.

  Of course, within CVS, there really isn't a branch until something needs to be 
commited that is different.

  We probably want the main (head) stream to continue to be CVS.  So by the time 
you want a branch, it is in a sense too late (someone has already commited 
somethign to the head).  An in that case, you don't really want a branch, unless 
you make changes - you just want to note that version x.y is what is going in 
the main release.

  Using tags may actually make more sense.

  Right now, when I make the actual release, I tag the files, so you can do 
something like 'cvs checkout -r rel-1-7-0'.

  But as described about, not until a change happens do you need a branch.  So 
what should probably be done is at the 'code freeze' time do a cvs tag can-1-8-0 
or something.  Thus, if nothing changes, that can be tagged again as rel-1-8-0 ( 
can = candidate, rel=release).  So if changes are made to CVS head, no big deal 
- the can- tag is still there to get the files to release.  If a fix needs to be 
backported, the can- tag can be used to find the point to make the branch from.

>
     
     
     >
     
     
     >>
     
      But what it really comes down to is that it is more work for the person
     
     >>
     
     doing the release (me), and I really don't want to make things any more
     
     >>
     
     complicated for myself - I'd much rather be dong stuff more worthwhile
     
     >>
     
     than syncing up branches.
     
     >
     
     
     >
     
     
     >
     
      On the other hand having a branch lets more people contribute to fixing
     
     >
     
      bugs on that release, anyone could backport as opposed to your scenario.
     
     >
     
      Also, I don't think there's a rule in stone saying only you can do
     
     >
     
      releases, is there? :) I'm sure we'd find people to help for that. I'm
     
     >
     
      also pretty sure CVS helps a lot for merging changes.
     
     
  If other people want to help with releases, that would be great.  Having a 
more frequent (quarterly) release schedule would also be good.

  Even people taking some portiosn of the release (maps, archs) reduces the 
effort a bit on my side - those bits aren't really hard, but if I save myself 15 
minutes, that is always nice.


    
    


More information about the crossfire mailing list