[GRASS5] Using CVS to manage "experimental" vs. "stable" trees

Carl Worth cworth at east.isi.edu
Tue Apr 23 12:37:53 EDT 2002


On Apr 23, Bernhard Reiter wrote:
 > We are welcome to suggestions.
 > Note that in my view we really have to start making one interation
 > before we can fine tune.

Fair enough Bernhard. I'm willing to wait on this one, (my proposal
doesn't actually call for immediate change, just that down the road,
when the "experimental tree" becomes stable we actually merge it into
the head of the grass module).

So, you can take my post as food for thought and we can revisit this
again when the time is right.

-Carl

PS. I will respond in line to a few points, but we probably don't need
too much more discussion.

 > GRASS is a huge project, we need to make a stable release somehow 
 > and slowly adjust the users that we have now an open development.

I agree here. [Along with several other things I've snipped].

 > >         Think ahead about the
 > > 	  logistical problems involved in turning the grass51 tree
 > > 	  into the "stable" tree, (getting all developers to shift
 > > 	  over, renaming things on web pages, etc.)
 > 
 > It was even messier before.
 > It was not clear what was development code and what is stable.
 > With people regularily pointed to the development versions in the
 > cvs.

I know it was messier before. When I first tried GRASS I was extremely
confused as I was using the head and it was broken in several ways
that no one on the list could explain, (since they were all off on
some branch). We're definitely in a much better situation now than
then.

 > And technically it is easy, just declare check out the
 > grass51 version you want and create a new stable tree, called grass52.
 > No need for renaming.

Ah, but there is renaming. There are web pages now that say:

	grass50 (stable tree)
	grass51 (experimental/development tree)

All such references will have to be chased down and fixed to make the
shift.

 > On the other hand, directory reorganisation within a tree 
 > with CVS is difficult, we had to use subversion or other revision
 > control system for this.

Directory reorganization is painful, yes. But it is not really much
easier to reorganize the code and add it to a new module than to
reorganize it "in place" within one module.

For example, grass51 still doesn't have most of the code moved over. I
think this is because restructuring the organization of something as
large as the GRASS code is fundamentally hard. The extra burden of a
few "cvs remove; cvs add" commands is really in the noise compared to
the real work that needs to be done.

 > > Proposal: Sometime after GRASS 5.0.0 is released, and when the
 > > development community feels the time is right, the experimental code
 > > in the grass51 module should be placed at the head of CVS in the grass
 > > module.
 > 
 > Looses history and is complicated.

I don't see how there is any history loss here.

 > Will not provide enough parallel development possibilities.

My contention is that parallel development should happen on
branches. You've argued that in the eyes of the majority GRASS
development community, branches are still "magic". I accept that. But,
at the same time, the majority of the GRASS development community
doesn't need much parallel development. The few that are actively
doing it, (ie. Radim), could certainly handle working on a branch, no?

 > We hope to get developers to help us to get the stable release out.
 > Next big step is reorganisations and we also hope for more modularisation.
 > Then there will be more room for experiments.
 > 
 > Thus you can :
 > 	a) make your own branch for experimentation on grass5
 > 	if you really must. You will be fully responsible for
 > 	releasing anything of this or folding in at some time.
 > 
 > 	b) help to bring over modules you need to grass51
 > 	(very appreciated)
 > 
 > 	c) help to make the stable release that other people will
 > 	have more time to populate grass51.

Thanks for the concrete suggestions.

In my view, I don't think I can help much with the current release,
(I'd be getting up to speed on things just as it was finishing up).

So, I'll go ahead with option (b) and start bringing over modules to
grass51. I hope I can be of help.

There's no doubt that having to hand-pick through each module will
give us a good opportunity to do some careful cleanup.

I think I'll be wanting to make some posts about how to tackle certain
aspects of the reorganization, (after I digest what's already written
up).

Is this list the correct venue for such discussion? I don't want to
muddle the work on getting the release done.

Thanks again!

-Carl

-- 
Carl Worth                                        
USC Information Sciences Institute                 cworth at east.isi.edu
3811 N. Fairfax Dr. #200, Arlington VA 22203		  703-812-3725



More information about the grass-dev mailing list