How do I create a local SVN repository for my buildout on the server?
Preceedings
Install svn from the tarball or via apt-get as described in the Ubuntu support area.IMPORTANT: You do not need to install Subversion as a server to use it locally on the filesystem!
You can use the same way for non buildout contents.
More infos on:
http://subversion.tigris.org
Creating the repository
- Create a folder i.e. "svndev" in your users home directory holding the repository or more repositories.
 cd ~ 
 mkdir svndev
 cd svndev
- Create a repository "boarepos" inside
 svnadmin create ./boarepos 
- Take a look inside the repository (but never touch manually!)
 ls -la boarepos and get i.e. 
 total 36 
 drwxr-xr-x 7 boa users 4096 2007-12-09 18:55 .
 drwxr-xr-x 3 boa users 4096 2007-12-09 18:55 ..
 drwxr-xr-x 2 boa users 4096 2007-12-09 18:55 conf
 drwxr-xr-x 2 boa users 4096 2007-12-09 18:55 dav
 drwxr-sr-x 5 boa users 4096 2007-12-09 18:55 db
 -r--r--r-- 1 boa users 2 2007-12-09 18:55 format
 drwxr-xr-x 2 boa users 4096 2007-12-09 18:55 hooks
 drwxr-xr-x 2 boa users 4096 2007-12-09 18:55 locks
 -rw-r--r-- 1 boa users 229 2007-12-09 18:55 README.txt
- Copy your current code to temporary location, where "~/instances/boaweb" is the current source and maybe add or delete as needed. 
    mkdir -p ~/tmp/boaweb 
 cd ~/tmp/boaweb/
 cp ~/instances/boaweb/bootstrap.py ./
 cp ~/instances/boaweb/buildout.cfg ./
 cp -R ~/instances/boaweb/products ./
 cp -R ~/instances/boaweb/src ./
- Import your code from the temporary location into your local repository.
 svn import /home/boa/tmp/boaweb file:///home/boa/svndev/boarepos/boaweb -m "initial import" 
- Check out from the new repository to test if all is there.
 mkdir ~/test 
 cd ~/test
 svn co file:///home/boa/svndev/boarepos/boaweb
- Check out from the distance via ssh
 - You need a working ssh account with access to the repository to do this!
- To use http or WebDAV you need to setup the SVN-server!
 svn co svn+ssh://boa@88.198.8.232/home/boa/svndev/boarepos/boaweb boaweb 
Optionally use your checkout of the buildout
- Initialize "bootstrap" your buildout
 path/to/your/python bootstrap.py 
- 
    Run your buildout 
 bin/buildout -v
- 
    Run Zope in the foreground to debug your installation bin/instance fg when everything is OK shutdown with ctrl-c and then run permanent: 
 bin/instance start 
Modify your code and check in revisions
- Always update your local working copy before you start to modify code
 svn up 
- Check for modifications
 svn stat 
- Look for files marked with M, C, A, ?
 where
 - M = modified
- C = conflict (file on server was modified since latest update! Needs merging the changes manually or reverting with "svn revert ..." !)
- A = added file that was not checked in yet! Use "svn checkin" or "svn ci" for this
- ? = unknown – file not under version control! Add these if necessary or modify the "svn ignore" policy file.
 Usually python bytecode files with endings "*.pyc" are not useful to be under version-control i.e.
 
- Add files with
 svn add [path to your file(s)] 
- Check In changes with comments (best file by file, change by change)
 svn ci [path to your file(s)] -m "Comment" 

 
                             
                            

 
             
             
                         
                        