CollabNet
Submerged - CollabNet's Subversion Blog
CollabNet Community

Categories

  • Administration (7)
  • Client Tools (13)
  • downloads (2)
  • General (36)
  • Non-Developers (2)
  • Subversion Client (34)
  • Subversion Events (5)
  • Subversion in the Enterprise (25)
  • Subversion Server (21)
  • Web/Tech (1)

Past 6 Months

  • January 2010 (1)
  • December 2009 (1)
  • November 2009 (3)
  • September 2009 (1)
  • August 2009 (1)
  • July 2009 (2)

Archives

All Archives...
May 2009

Subversion Is Not Just For Developers (Part 2)

In my first post Subversion Is Not Just For Developers (Part 1), I shared the stories of folks who emailed CollabNet about how they were using the platform for projects other than software development. In this blog, I want to clear up some confusion about the mention of discussion forums and other tools, and introduce TeamForge .

Subversion is software that enables you to keep track of many versions of a document or entire project, and to allow for team collaboration. This is useful not just to software developers, but for people in many walks of life. You can, for instance, have many iterations of a single document, or for the parts of a complex project such as all that's involved in coordinating an orchestra concert, or scripts to a play.

In Part 1 of this blog, I also mentioned some folks who used discussion forums and wikis. Subversion itself does not provide those tools, but TeamForge does. When you add TeamForge to Subversion, you get a wonderful suite of tools that allow communication for collaboration, notes, documentation, as well a visual interface that makes all of that easy to use.

Below is a diagram that illustrates how Subversion , TeamForge, and the tools fit together:

Collabnetplatform

In the diagram above, you see what you get when you are using TeamForge. You start with your Workspace, which allows you to get to Community & Projects that includes all the tools you see listed down the right hand side of the image. Underlying this is Subversion (shown in the middle), a repository that allows for code, or artifacts kept in another database. and whatever components make up your project. In addition, the tools also provide a task tracker, real-time reports and project status, a wiki, and a documents areas which can store 300+ file types.

The TeamForge platform makes it easier for non-developers to use this software for any kind of project, to communicate with others who contribute to the project, and ways of tracking the project components.

More Information:

  • OCN Community
  • Subversion
  • TeamForge

Posted by Dana Nourie | Date: May 29, 2009 | Permalink | Comments (0) | TrackBack (0)

Subversion Is Not Just For Developers (Part 1)

Recently I read through examples from users of Subversion who had written to CollabNet. Not surprisingly, many were developers, but what fascinated me were that many of the folks are using this software for other creative purposes.

 The ability Subversion gives one to track and rollback document versions, to allow for team collaboration, to have discussions, share related documents, and to track changes all in one application is not only important to developers, but to people of all walks of life.

All of the stories were interesting, but here are a few I thought I’d share:

  • A composer and orchestrator uses Subversion for the daunting task of keeping track of all the musical elements in a production, starting with the composer’s sketches, incidental music, when the orchestrator adds orchestrations, or when the copyists prepare parts for the orchestra.
  • A garage band uses Subversion to track contributions from their home recording studios.
  • A family with relatives spread across the US, uses Subversion to share photos, documents, wiki blogs, all based on a central server set up by one of the family members.
  • A well-known university uses Subversion to include institutional research projects, their annual Quality Issues Forum, and to maintain the materials for their training programs. In addition, they manage the development of the next iteration of the University's strategic plan, with discussions using the forums.
  • A teacher is using it to allow her students to create projects, include research notes and documentation, as well as to have discussions about each student project. It is a virtual classroom in combination with her in-person classroom.

These and other stories made me realize the wonderful potential Subversion has for business uses to track important documents, court cases, and for hobbyist projects, family vacations, not to mention my own work as Community Manager.

I’m looking at the CollabNet site now and seeing that we have not sufficiently addressed the non-developer user of Subversion, and I hope we can encourage developers to keep non-developers in mind when they create add-ons and integrations for Subversion.

I welcome your ideas on how we can make the non-developer users of Subversion a part of our community, and I’d like to hear from non-developers so we can better address their needs on the website.

To learn about the discussion forum and other tools, read Subversion Is Not Just For Developers (Part 2)

dnourie @ collab.net (no spaces)

 

 

Posted by Dana Nourie | Date: May 27, 2009 | Permalink | Comments (3) | TrackBack (0)

CollabNet Subversion Server and Client v1.6.2 for Multiple Platforms

We've been publishing the releases for the Subversion Server and Client v1.6.2 for various platforms over the past week, and now the release is ready for multiple platforms:

  • Windows
  • Solaris
  • Red Hat
  • MAC

There are many exciting fixes and updates in this release, a few of which I've listed below:

  • Improvement to memory usage with
    svn merge
  • Resolve naming collisions with
    static stat() function in svnserve
  • Avoid unnecessary server query during reverse merges

See all changes specific to each version.

Subversion 1.6 is a superset of all previous Subversion releases, and is considered the current "best" release. Any feature or bugfix in 1.0.x through 1.5.x is also in 1.6, but 1.6 contains features and bugfixes not present in any earlier release.

Download Subversion 1.6.2

Posted by Dana Nourie | Date: May 20, 2009 | Permalink | Comments (0) | TrackBack (0)

Building an OS X based Subversion Server

Overview

This article explains in-depth how to build a Subversion server on OS X.  While building a Subversion server is the purpose of this article, a lot of the information you learn is operating system agnostic. So, whether you're building a Linux-based Subversion server or a Windows-based Subversion server, a lot of the same rules and procedures will apply. That being said, let's get started.

Installation

The first order of business is to install Subversion.  As of OS X 10.5 (Leopard), Subversion is shipped with the core operating system.  Whether you are looking to upgrade the 1.4.4 version installed with Leopard or you need to install for Tiger, there is a full-featured Subversion binary for  OS X offered on openCollabNet.  We just released the Subversion 1.6.2 binary last week.  If you're new to the binary, let me tell you a few of its most important features:
  • The binary provides a complete Subversion installation
  • The Subversion installation is a 4-way universal binary (i386, ppc, x86_64 and ppc64) 
  • Works on any version of OS X, 10.4.x+
  • Includes the Apache modules and svnserve built with SASL support
  • Includes both repository data stores (Berkeley DB and FSFS) 
  • Includes the Subversion language bindings maintained by the Subversion team (Java, Perl, Python and Ruby)
  • Packaged in an easy-to-use graphical installer package
  • Completely isolated and does not interfere with any other installed Subversion binary 
As you can see, this binary is quite complete and being packaged in an installer makes the installation simple.  How simple?  Just download, open the .dmg file, double-click the .pkg and follow the instructions.  The only thing left is to make the newly-installed Subversion the default Subversion by updating your PATH environment variable.  This can be done a multitude of ways and differs based on the terminal you use but if you're using the default, you can append the following to your /etc/profile file:

export PATH=/opt/subversion/bin:$PATH

Once you've done this, you should be able to launch Terminal.app, run "svn --version" and see the information from your new Subversion installation.  Now that we've got Subversion installed, let's go ahead and create a few Subversion repositories so we can serve them from our new Apache-based Subversion server.

Creating repositories

Since we plan on serving multiple Subversion repositories, let's create a container directory for those repositories.  To do this, run the following:

sudo mkdir -p /opt/repos/svn

Once you have the container directory created, you can then create your repositories using the "svnadmin create" Subversion command like so:

sudo svnadmin create /opt/repos/svn/test

Change the path and repository as needed and then repeat the process until you have all of your repositories ready.  If you already have repository you'd like to serve, just move them to your new repositories container.

Setting up the Server

Most of the time when people setup Subversion servers, the first problems they run into is related to file system permissions.  Whether you use Apache or svnserve, your file system permissions need to be so that the user that Apache or svnserve run under has the proper permissions to access the repository file system structure, since Subversion repositories are nothing more than a directory structure.  For this example, we'll be running Apache and we need to fix the permissions so that the default Apache user and group can read/write the file system.  To do that, run the following:

sudo chown -R www:www /opt/repos/svn

Now that we have the file system permissions fixed, we can setup Apache to serve our repositories.  Below is a very simple example of how you might do that.  If you want a more in-depth example, please review my earlier blog entry titled "Subversion with Apache and LDAP".

# Load Subversion Apache Modules
LoadModule dav_svn_module /opt/subversion/lib/svn-apache/mod_dav_svn.so

# Work around authz and SVNListParentPath issue
RedirectMatch ^(/repos/svn)$ $1/

# Enable Subversion logging
CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION

<Location /repos/svn/>
# Enable Subversion
DAV svn

# Directory containing all repository for this path
SVNParentPath /opt/repos/svn

# List repositories collection
SVNListParentPath On
</Location>

You can also use the excellent Apache documentation on authentication, authorization and access control.  The only remaining thing let to mention is something I ran into when building a Leopard-based Subversion server on a 64-bit system.  Basically Apache is built and ran as a 64-bit application in Leopard.  When you start up Apache after installing the binary linked to above, you might see an error about missing/undefined symbols.  The reason for this is that Apache on Leopard uses /usr/sbin/envvars when you start up Apache and it is built to set the DYLD_LIBRARY_PATH to pick up libraries from /usr/lib.  Well, since our version of Subversion installs to /opt/subversion, you end up with the Apache modules attempting to use old/missing libraries.  To fix this, just update /usr/sbin/envvars to prepend /opt/subversion/lib to the DYLD_LIBRARY_PATH and you'll be good to go.  (Note: I've been told that this step causes another issue where Apache tries to use the APR shipped with the OS X binary.  To avoid this, make sure both lines, the definition of DYLD_LIBRARY_PATH and the export line, are commented out.)

To test, open Terminal.app and run the following:

sudo apachectl -k start

You can then open your browser to http://localhost/repos/svn and you should see a listing of your repositories.

Summary

As you can see, installing Subversion and configuring it for OS X is very simple.  While there are a few things that you need to know to guarantee a smooth installation, for example filesystem permissions and the Apache modules issue, everything else is relatively simple.  I hope this article helps those of you building OS X based Subversion servers.

(Updated on 06/04/2009 to fix a typo and to add a note about /usr/sbin/envvars.)

Posted by Jeremy Whitlock | Date: May 19, 2009 | Permalink | Comments (64) | TrackBack (0)

CollabNet Subversion 1.6.2 is available!

Hello,

My name is Dana, and I'm the new Community Manager for CollabNet. It's great to be on board, and I'm happy to announce that the binaries for CollabNet Subversion 1.6.2 are now available for:

  • Windows
  • Red Hat Linux (32 bit)

Get the download: certified CollabNet Subversion downloads

Have questions or want to join discussions with fellow developers? Visit the CollabNet Subversion discussion forums.

Dana Nourie is interested in virtual communities and social networks. She is also a writer, photographer, nature lover. and Second Life citizen, including role playing in the Star Wars SIMs.

Posted by Dana Nourie | Date: May 12, 2009 | Permalink | Comments (5) | TrackBack (0)

RSS Syndicate this blog

OnCollabNet Blog

About all topics CollabNet, including community management, Agile ALM, managing distributed teams, and more.
Read the blogs . . .


Recent Submerged Posts

  • Energizing Subversion…
    Posted by C. Michael Pilato
  • Subversion's Operational Logging: What It Is, and W…
    Posted by C. Michael Pilato
  • Where Did That Mergeinfo Come From?…
    Posted by pburba
  • ©2010 CollabNet Corporation
    • Site Feedback
    • Terms of Use
    • Privacy Policy
    • Copyright & Trademark