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