Rename TWikiRelease04x00 Branch to MAIN - Completed on 08 Oct 2006
One step of implementing
SingleBranchPluginDevelopment is pending: The primary
SVN branch is still called TWikiRelease04x00 and should be renamed to MAIN. This is to indicate that we are working on one main branch for the work in progress releases, and scratch branches for experimentation.
Freezing TWikiRelease04x00 & creating MAIN needs to be coordinated so that developers know when to switch over their local checkout.
Action items:
- Decide if to rename or to freeze the old branch
Decision: Copy current TWikiRelease04x00 to MAIN and freeze TWikiRelease04x00
- Decide on switch over date
Switch is Sunday 08 Oct 2006 at 12:00 UTC
- Announce switch over date
Done
- Create doc for developers on how to switch local checkout
Done See below
- Switch over:
-
Establish MainBranch
-
Freeze TWikiRelease04x00
-
Fix Bugs:WebHome
installation
-
Fix twiki.org links
- Fix local checkouts - up to developers
This change is tracked in
Bugs:Item2956
.
Instruction for developers how to switch over
Step 1 - Change directory to the root directory of the SVN checkout you currently use. Let us say that it is /var/www/twiki4
cd /var/www/twiki4
That was easy.
Step 2 - Now we change this directory to point to the new MAIN branch.
svn switch http://svn.twiki.org/svn/twiki/branches/MAIN .
NOTE the little dot at the end after MAIN.
That was also easy
That is it. For more details check the
SVN online manual:
http://svnbook.red-bean.com/en/1.2/svn-book.html#svn.ref.svn.c.switch
Which branch is what after Sunday 08 Oct 2006
After the change it is business as usual.
The DEVELOP and TWikiRelease04x00 branches are dead. (RIP). They remain in the repository for tracking and history. It is essential that we have the full history when we search for bugs. You are welcome to commit code on TWikiRelease04x00 branch until noon Sunday noon.
--
Contributors: PeterThoeny,
KennethLavrsen - 07 Oct 2006
Discussion
Lets discuss this at
EdinburghReleaseMeeting2006x10x02
--
PeterThoeny - 30 Sep 2006
We don't need to rename the branch. All we do is merge the current TWiki Release04x00 branch to the existing MAIN branch. Bugs web is a one-line fix for the branch name, once that is done. Local checkouts are up to individuals.
--
CrawfordCurrie - 02 Oct 2006
There is no existing MAIN branch. Maybe you mean trunk?
Local checkout can be changed with
svn switch
--
KennethLavrsen - 02 Oct 2006
I'm just coming up to speed on the branching and how it is used however I thought I would add a suggestion (thought it may be too late since I see you have reached a decision point). The model we follow in development is to have a MAIN branch that is always the latest code. As you approach a release, you create a release specific branch from MAIN. In the release specific branch you can finish development, testing, and continue maintenance after release. After creating the release specific branch, you can start work on the next version in main. All developers are required to put all changes into main. If there are changes in any other branches (other than experimental work in a test branch), those change need to get integrated into main as well. This branching process we used is based on this document:
http://www.perforce.com/perforce/life.html
.
This approach would seem to support the goal of a
SingleBranchPluginDevelopment better that what I read since plugins could always be developed in Main with no cross integration unless they also require separate versions for a specific release. The approach that is planned (unless I misunderstood) has plugins being developed in main but having to integrate them into DEVELOP or risk getting their changes lost when DEVELOP gets copied to MAIN. This process would also simplify the branching process in my opinion (but maybe I'm biased since we have been using this approach for years).
--
RickMach - 03 Oct 2006
The current decision is the result of a very long debate and reflects what the active developers find suits the need best. DEVELOP used to be the active branch and
TWikiRelease04x00 was a release branch just like you propose. We have been there. It did not work - because if the Plugins - which is special to the TWiki project.
But actually what we are implementing now is not that far from what you propose.
The MAIN (which actually becomes trunk in practical to follow the standard way proposed by
SVN) always carries the development from major/minor release to major/minor release. Ie. from 4.0 to 4.1 to 4.2 etc etc.
Patch releases will starting from 4.0.5 be released from a Patch branch which is the STABLE shipping branch. So we actually implement something not that far from what you describe. But in a way that suits the broad wish in the TWiki community not to branch plugins.
If you read
PatchReleaseMaintenanceSVN and see this in context with the MAIN (trunk) branch then you will understand how we are progressing from now on. I think it will work very well.
--
KennethLavrsen - 03 Oct 2006
Thanks for the clarification. I think I now have a better picture of how the branching structure is being used. I also agree it is very similar to what I was suggesting. This is the type of info that was not clear to me as a new developer when I started walking through the documentation in
SoYouWantToBeATWikiDeveloper. I think it might be useful to add references to
SingleBranchPluginDevelopment and
PatchReleaseMaintenanceSVN to that page to help with the understanding unless I just overlooked them as I read through the info.
Just to make sure I understand about some changes I am making to a plugin to fix some bugs. These changes will go into the
TWikiRelease04x00 branch (or MAIN after the rename). I will also merge these changes into the DEVELOP branch so that it is updated as well for the future release. Correct?
--
RickMach - 03 Oct 2006
No. DEVELOP is dead.
Plugins are ONLY maintained on MAIN which will be the
SVN trunk. (until the move is done use the
TWikiRelease04x00 branch)
DEVELOP is dead. RIP.
In the Patch releases we only update those plugins that are shipped with Twiki and only when the bug is severe.
--
KennethLavrsen - 03 Oct 2006
Thanks again. Based on my understanding now, this is exactly like I originally suggested but I just misunderstood the approach due to various documents I read. I would suggest clarifying that DEVELOP is dead in the
SingleBranchPluginDevelopment since it is from there I got the idea it is not dead unless that topic is now OBE. Is there some basic developer docs I am overlooking that would have clarified all of this? I'm reluctant to jump in and make changes to these topics until I am confident I understand the structure and the complete picture of the process.
--
RickMach - 03 Oct 2006
Apparently more doc cleanup is needed. Please feel free to help on that.
This change is tracked in
Bugs:Item2956
.
--
PeterThoeny - 04 Oct 2006
We are back to the original plan.
TWikiRelease04x00 is frozen and copied to a branch called MAIN on 08 Oct 2006 12:00 (noon) UTC. See updated topic above.
--
KennethLavrsen - 07 Oct 2006
Thanks Kenneth, Crawford and everybody who helped make the switch!
--
PeterThoeny - 09 Oct 2006
in 17 Feb 2008, TWiki's core and extensions development moved to
http://svn.twiki.org/svn/twiki/trunk/
- see
SingleBranchPluginDevelopment and
RefactorSubversion fo rthe discussion, and
TWikibug:Item5341
for the implementation.
--
SvenDowideit - 17 Feb 2008