• Do not register here on develop.twiki.org, login with your twiki.org account.
• Use View topic Item7848 for generic doc work for TWiki-6.1.1. Use View topic Item7851 for doc work on extensions that are not part of a release. More... Close
• Anything you create or change in standard webs (Main, TWiki, Sandbox etc) will be automatically reverted on every SVN update.
Does this site look broken?. Use the LitterTray web for test cases.

Item5341: Simplify subversion organisation (release blocker for 5.0 only)

Item Form Data

AppliesTo: Component: Priority: CurrentState: WaitingFor: TargetRelease ReleasedIn
Engine   Urgent Closed   n/a  

Edit Form Data

Reported By:
Applies To:
Current State:
Waiting For:
Target Release:
Released In:


Execution Plan

  1. Backup the current server - DONE - SD
  2. Backup the svn repostitory locally - DONE - SD
  3. upgrade server - DONE we're now at svn 1.4.6 SD
  4. do an svnadmin dump (yes that 3 redundant backups in different forms - I really don't feel like losing our Source code)
  5. make script that does the svn mv's (pseudo-code below) DONE SD
    • svn mv trunk branches/historical
    • svn mv branches/MAIN/twikiplugins trunk
    • svn mv branches/MAIN trunk/core
  6. test the script, and write documentation for howto migrate DONE - SD
  7. send email with timetable and migration docco DONE - SD
  8. wait a day or so smile - DONE - SD
  9. lock / take down svn - DONE - SD
  10. run script - DONE - SD
    1. svn mv http://svn.twiki.org/svn/twiki/trunk http://svn.twiki.org/svn/twiki/tags/PreSvn -m "Item5341: Simplify subversion organisation"
    2. svn mv http://svn.twiki.org/svn/twiki/branches/MAIN/twikiplugins http://svn.twiki.org/svn/twiki/trunk -m "Item5341: Simplify subversion organisation"
    3. svn mv http://svn.twiki.org/svn/twiki/branches/MAIN http://svn.twiki.org/svn/twiki/trunk/core -m "Item5341: Simplify subversion organisation"
  11. change the group permissions for svn - DONE - SD
  12. re-enable svn - DONE - SD
  13. send out success email - with migration docco - DONE - SD
  14. update all mentions of svn on twiki.org - I think this basically DONE - SD
  15. update svn scripts on develop DONE CC
  16. Test and port BuildContrib DONE CC
  17. Test and port pseudo-install.pl DONE CC
  18. add pseudo-install to trunk dir NOT DONE, NOT REQUIRED CC
  19. Find, test and port any other scripts that assume twikiplugins DONE CC
  20. port & update release build system (Sven) - this may happen in the next weeks DONE

I tested the change on a server at home using a backup of our svn repository:

twikistats:~/un/twiki# svn mv file:///root/repos/twiki/trunk file:///root/repos/twiki/branches/PreSvn -m "simplify svn"

Committed revision 16359.
twikistats:~/un/twiki# svn mv file:///root/repos/twiki/branches/MAIN/twikiplugins file:///root/repos/twiki/trunk -m "simplify svn"

Committed revision 16360.
twikistats:~/un/twiki# svn mv file:///root/repos/twiki/branches/MAIN file:///root/repos/twiki/trunk/core -m "simplify svn"

and then to switch my working MAIN checkout..

twikistats:~/un/MAIN# cd twikiplugins/
twikistats:~/un/MAIN/twikiplugins# svn switch file:///root/repos/twiki/trunk

note this checks out a core dir 

twikistats:~/un/MAIN/twikiplugins# rm -r core
twikistats:~/un/MAIN/twikiplugins# cd ..
twikistats:~/un/MAIN# mv twikiplugins/ ../TWikiTrunk
twikistats:~/un/MAIN# cd ..
twikistats:~/un# mv MAIN TWikiTrunk/core
twikistats:~/un# cd TWikiTrunk/core
twikistats:~/un/TWikiTrunk/core# svn switch file:///root/repos/twiki/trunk/core
twikistats:~/un/TWikiTrunk/core# cd ..
twikistats:~/un/TWikiTrunk# svn up

If you have been developing Plugins by just checking out the individual Plugin's directory:

twikistats:~/un/MyTWikiPlugin# svn switch file:///root/repos/twiki/trunk/MyTWikiPlugin

if you try to update from an unswitched repository, you will get the following error

twikistats:~/un/MAIN_backup# svn up
svn: Cannot replace a directory from within

-- TWiki:Main.SvenDowideit - 11 Feb 2008


So. the single most important thing to do, is to run

svn diff > ../PreSwitch.diff

from your MAIN checkout.

you will thus be able to apply any changes that you have made to local 

Next, find out if there are any files that you have added that you need 
to keep, by running

svn stat

backup your TWiki MAIN checkout,

cd ..

cp -r MAIN MAIN_backup

and then you are ready to _try_ the switch.

svn diff > ../PreSwitch.diff

cp -r twikiplugins ../TWikiTrunk

cd ../TWikiTrunk

svn info

#(shows [[http://develop.twiki.org/svn/twiki/branches/MAIN/twikiplugins][http://develop.twiki.org/svn/twiki/branches/MAIN/twikiplugins]] on 
my checkout)

#(if svn info shows a different host url, you need to change the switch 
commands to match)

svn switch [[http://develop.twiki.org/svn/twiki/trunk][http://develop.twiki.org/svn/twiki/trunk]] 
#(note this checks out a core dir )

svn up

cd core

patch -p0 < ../../PreSwitch.diff

the other, safer option, is to backup your checkout, check out a new 
shadow, and then patch it with your changes

svn co [[http://develop.twiki.org/svn/twiki/trunk][http://develop.twiki.org/svn/twiki/trunk]] 

-- SvenDowideit - 17 Feb 2008

i think my bit is done; at least, I don't think anyone is waiting for me to do something, so taking my name off the Waiting For list.


yup, its 'just' the build scripts and the automated build system todo

-- TWiki:Main.SvenDowideit - 19 Mar 2008

I've been running the trunk builds for about a week now.

-- SvenDowideit - 01 Jun 2008

Summary Simplify subversion organisation (release blocker for 5.0 only)
ReportedBy TWiki:Main.CrawfordCurrie

SVN Range TWiki-5.0.0, Wed, 23 Jan 2008, build 16283
AppliesTo Engine

Priority Urgent
CurrentState Closed

Checkins TWikirev:16354 TWikirev:16355 TWikirev:16356 TWikirev:16415 TWikirev:16416 TWikirev:16417 TWikirev:16418 TWikirev:16419 TWikirev:16573
TargetRelease n/a

Edit | Attach | Watch | Print version | History: r25 < r24 < r23 < r22 < r21 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r25 - 2008-06-01 - SvenDowideit
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback