Hi,
On Mar 24, 2007, at 10:18 AM, Aeris wrote:
Hi,
I think that common practice is to develop new versions in the main
line, and use branches for bugfixes of the old ones. You shouldn't
branch to make a stable version in it, but rather label version in
the main line as stable and later create bugfix branch if necessary.
The strategy that I've always seen followed in other projects is to
use trunk for the latest and greatest version (1.1 in our case) and a
branch for the rest.
Now I would have preferred us to have more automated tests and use
trunk for 1.0 and not do any work on 1.1 yet (which is what is
happening in practice anyway...). This works best when you have good
automated suite of tests so that regressions are not introduced at
the last moment when you're trying to release a version.
I think using svnmerge.py should make the merge easy except that I
need to understand how it works...
Thanks
-Vincent
Vincent Massol wrote:
Hi,
Our 1.0 branch is quite a mess... As I said when we voted to
create it has 2 drawbacks:
"
Cons:
* Requires more discipline. People must be careful to commit on the
right branch/trunk.
* We absolutely need to merge to trunk whenever someone commits to
the 1.0 branch as otherwise merging is a big pain later on.
"
I've just done a quick review of commits and I can see the
following are not on the 1.0 branch where they should be:
2404
2405
2406
2439
2349
2332
2254
2209
2122
In addition the following are also on trunk but not on the 1.0
branch. However it's possible they're not on the 1.0 branch
because we don't want them there but I doubt it. The reason I
doubt it is because 1) they're all related to GWT and we've
already committed GWT stuff on the 1.0 branch and 2) I'm pretty
sure projects using GWT and XWiki will need a released version of
XWiki before 1.1 comes out. I may be wrong. Let me know if we
really don't want them on the 1.0 branch. They are:
2460
2475
2438
2403
2402
2351
2237
2236
2235
2225
2210
2124
2123
Note: The 1.0 branch was created at revision 2017.
Notes:
- I haven't done a comprehensive study (way too long). I only did
with a search with some heuristics.
- I haven't checked for commits on the 1.0 branch but not merged
back to the trunk
As a consequence, it's very likely there are commits other than
the one listed above that may be lost.
Last, I did today a merge of the skin rename from 1.0 branch to
trunk (in rev 2479) and I've noticed that changes on trunk which
were done on skin files but that had not been merged to the 1.0
branch have been lost. I find this is very dangerous and I don't
understand why SVN did not warn about this and fail the merge. IMO
it should have. I think this only affects commits done in skin
files in revs 2404, 2405, 2406 and 2439 (fixes for the Exo
integration) but I can't be sure. I'll manually recommit those. If
you see anything amiss please let me know.
Last, I've discovered a nice tool call svnmerge.py (http://
www.orcaware.com/svn/wiki/Svnmerge.py and
http://kenkinder.com/
svnmerge/) which makes it easy not to loose stuff and easily merge
all changes from one branch to another. Only issues are:
- it seems to work only after you start initializing it. I've done
that on the xwiki/xwiki/trunk directory, telling it to track
changed with the 1.0 branch
- I tried to iniitialize it on the 1.0 branch to tell it to track
changes from the trunk but it fails mysteriously. If someone knows
why or how to fix it, I'll be glad to hear
- I tried runnning it on xwiki/xwiki/trunk to merge 1.0 branch
changes and I got lots of skipped files and lots of conflicts. As
I don't full understand what it does I didn't pursue it.
I still feel it's a good tool. If it works as expected I think we
wouldn't have to have everyone do manual merges and the branch
manager could run it from time to time (at least before each
release). I would be happy to do that. However as I haven't been
able to make it work yet, we shouldn't do that right now.
So the question now is: What do we do? I'll try to clean up the
above (For the record it took me the whole afternoon and more to
do the detective work and it'll take me another half day to do all
the merges) but what do we do after? Do we continue with a 1.0
branch? Do we remove it and work on trunk for the 1.0 release?
My feeling is that we should try using this svnmerge.py script and
get it working. However I'll have to spend some time to get to
that state.
WDYT?
In the meantime it would be good if everyone could check his own
commits since rev2017 and verify that everything has been
correctly merged in both directions.
Thanks
-Vincent
---------------------------------------------------------------------
---
--
You receive this message as a subscriber of the xwiki-
dev(a)objectweb.org mailing list.
To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
For general help: mailto:sympa@objectweb.org?subject=help
ObjectWeb mailing lists service home page: http://
www.objectweb.org/wws
--
You receive this message as a subscriber of the xwiki-
dev(a)objectweb.org mailing list.
To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
For general help: mailto:sympa@objectweb.org?subject=help
ObjectWeb mailing lists service home page:
http://www.objectweb.org/
wws