...
    View Article        

Current Articles | Categories | Search | Syndication

Page: 1 of 5
Previous Page | Next Page
posted @ Monday, May 12, 2008 7:59 AM by SkySigal
Why use Source Control
  • Without source control, you will eventually lose things, step on others work, and lose friends:
    • Team members get really mad at you.
    • Loss of part or all your code.
    • Overwriting changes.
    • Duplicated effort.
    • Inability to go back to a working copy.

      image
  • With source control:
    • Keep track of:
    • Who did what, when, and why
    • Changes between releases
    • Allows remote workers to work safely on code without conflict
    • Find src as previously shipped

 

The Why use Subversion for your Source Control

  • “An open-source revision control system…compelling replacement for CVS".
  • Pros
    • Single changeset checkins: all modified files are checked in as a single transaction, or none of them are. Subversion rolls back a partially completed check-in should a problem occur.
    • Supports check-ins of entire directories as a single commit.
    • Supports metadata—either text or binary—that can be associated with any and all files.
    • Easy, inexpensive branching and tagging.
    • Multiple networking protocols
    • Portable Server: more platforms than CVS, an Apache 2.xmodule , etc.
    • The fact that it's free and open-source is just a bonus.
  • Cons:
    • None? 

ServerSide Installation

  • Installing the binaries:
    • Download from http://subversion.tigris.org
    • Unpack it to c:/Program Files/Subversion
    • Contains several exes (svnadmin,svnserve, etc.)
      • Note: It’s a ‘green’ application (doesn't affect registry) -- so you can move it around later.
  • Designate a server root directory: e:/VC/MyRepos
    • Tip: It should NOT be on your C:\ drive…Its data.
  • Use the CommandLine to create at least one Repository:
    • svnadmin create R:/VC/MyRepos/NETPROJECTS
    • svnadmin create R:/VC/MyRepos/NETSTUDIES
  • Optionally open TCP port 3690 for svn:// protocol

 

BTW: What's in a Repositories?

  • …in the server’s root directory…
  • …you just created two ‘repository’ directories…
  • …what’s in them?
  • Just a set of directories that svnserve manages as a FS DB:

    image   image

    Note:
    one is the DB (your files), one being for configuration

 

Configuring Rights per Repository

  • Each User needs to be first granted Access (even you):
    • Go to the E:/vc/MyRepos/NetProjects directory/repository,
    • In the Repository, find the conf-iguration dir,
    • Within that, find and edit the svnserve.conf INI file,
    • Edit the passwrd file it points to, and add Users (that’s you…):

 

image image

    • The svnserve.conf might be edited to look like this:
    • [general]
      anon-access = read
      auth-access = write

      password-db = passwd

      # authz-db = authz

    • Edit the passwrd file and add Users=Passwords:
    • [users]

      john=happycamper
      betty=happiercamper

            Running the Server

            • The install package’s bin dir contained several exe’s.
              • We’ve already used svnadmin.exe once...
              • And there’s the server itself, called svnservice.exe.
            • It (svnserve.exe) can be started from the command prompt:
              • svnserve -install -daemon –root E:\VC\MyRepos
            • Starts listening for requests to the repos in the specified root dir.
              • Tip: You probably should try it once just to see that you don’t get error messages and clear that up…
            • But what you really want is to install SVNService:


            ServerSide Installation and Configuration Done.

            • At this point, the server side is done. You have:
              • A repository root directory,
              • with one or more repositories in it,
              • a server (svnserve.exe) that is
              • managing access to it (via passwd and authz files)
              • Listening on a TCP port (3690).
              • And a service (SVNService) to start it every time you reboot
            • All its doing now is waiting for someone to ring home…

            Or do it all the easy way…

            image 

            but ... note that it does not support the default svn protocol:

            image

            It's your choice...


            Now on to the clientside of things...

            powered by metaPost
            Page: 1 of 5
            Previous Page | Next Page

            Comments

            Currently, there are no comments. Be the first to post one!
            Click here to post a comment

                         
            Copyright 2007 by Sky Sigal