Monday, March 16, 2009

Installing Subversion 1.5.3 on windows

Steps are:

svnadmin create "C:\svnrepo"

  • Edit C:\svnrepo\conf\svnserve.conf and uncomment the following lines:

anon-access = read
auth-access = write
password-db = passwd

  • Edit C:\svnrepo\conf\passwd file:add users in the format username = password one per line and remove the default users.
  • Set environment variable SVN_EDITOR to your favorite text editor (say Textpad.exe).
  • Set Subversion as a service with the following command at cmd prompt:
    • sc create Subversion binpath= "c:\svn\bin\svnserve.exe --service --root c:\svnrepo --listen-port 9999" displayname= "Subversion Repo" depend= Tcpip start= auto
    • Go to service control manager to start the Subversion service or type the following on :
      net start “Subversion Repo”

  • Import an existing project in subversion repo:

svn import C:\myproject svn://localhost:9999/myproject

  • After importing data, note that the original tree is not under version control. To start working, you still need to svn checkout a fresh working copy of the tree.

svn checkout svn://localhost:9999/myproject

  • Install 32 or 64 bit version of tortoise SVN from After installing you will need to reboot your system. Tortoise SVN is a windows shell extension which makes the use of SVN from windows explorer very easy and intuitive.

There's a standard convention in Subversion to start with the "TTB folders" at the root of any project:

Because Subversion uses regular directory copies for branching and tagging (see Chapter 4, Branching and Merging), the Subversion community recommends that you choose a repository location for each project root -- the "top-most" directory which contains data related to that project -- and then create three subdirectories beneath that root: trunk, meaning the directory under which the main project development occurs; branches, which is a directory in which to create various named branches of the main development line; tags, which is a collection of tree snapshots that are created, and perhaps destroyed, but never changed.

So make it a practice to add the trunk, tags and branches directories to your project and all your project files will go under trunk then.

No comments:

Book notes: Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, by Martin Kleppmann

My notes from the excellent book on how software has evolved to handle data from hierarchical databases to the NoSQL -  https://www.goodrea...