Hi Phil,
Well, in the SVN world, there is no distinction between a tag and a
branch.
Technically yes (or to be even more precise, in SVN
there are not tags, just branches). We have a choice
to decide how we use branches tough. We can use them
as tags, and we can use them as "real" branches.
Tag is just a marker in time.
Branch makes it possible to do parallel development.
Once a branch is set, there is no reason to keep working on the old
branch. If
you continue working on it, then there is no way to go back to it's
original
state at the branch point.
There is, if you request the first revision of it.
It's also easy to create a new branch with the original
content of RC1 (svn -r <rev> copy from to).
We should be working in RC1 branch, and when it is tagged for RC2,
all work
should be done there.
That kind of defeats the purpose IMO, as we're basically
marking a given revision with a name. In this concept it
would be much easier to say that RC1 equals rev 8623.
Of course that's what branches/tags are for, but we should
agree on a concept beforehand to use this properly.
The branch that we left behind when we tagged RC1 was not a main
branch, it
was just a branch with a name, like all the others. It was called
0.0.99r??,
but it was no more or less important than any other branch.
Don't spend a lot of time keeping other branches up to date.
Well my concept was (since I think this is the main
point of branching, moreover we did like this in betas,
too), is that work can be done _in parallel_ in RC1 branch,
which should have been called plain 1.0.0, and do all
the necessary fixes in that branch to release RC1 -> RC2
-> RCn -> final.
In RC phase we suppose there is isn't many need for
self-inducted development, we're essentially releasing
something, waiting for feedback and fixing bugs only.
_While_ this happens - thanks to branching - the
team isn't forced to just sit idle, waiting for bug
reports, but can already implement new features on the
main branch.
Maybe we're too few to be able to really exploit this
method and use it cleanly, but the need is definitely
there.
We should be working exclusively in 1.0.0 RC1.
I think this all depends on the concept we agree on.
Since we didn't really agree on anything, I followed
the method in betas (and my common sense), so I put effort
into retrofitting fixes to RC1, but this turned out to
be a nightmare by now. (just like in betas).
Same would have happened if we continue to work on RC1,
since in that case, we'd have to retrofit everything to
the main branch. Since it's parallel development.
Anyway, since the main branch seems to be okay all in all
(I hope Przemek will take a close look, too), now it
seems better to copy RC2 from main.
It would be also good to hear other thoughts on this,
and get to an agreement whether to do "branching"
(parallel development) or "tagging" (linear). First
needs syncing, allows more dynamic development,
the seconds will slow development, but it requires
less (human) resources.
Brgds,
Viktor
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour