Subversion Best Practices - Quick Notes

This is a quick set of guidelines for making the best use of Subversion in your day-to-day software development work including why and when to branch, learn about merging.

I was trying to know a bit more about Subversion folder management myself. While looking around, I found a quick and to-the-point article at Subversion Best Practices. I decided to profile a Quick-View version for my reference.

BASIC

  1. REPOSITORY: Official recommendation is to have three folders/subdirectories under the Project Root - “trunk”, “branches” and “tags”.
  2. COMMIT WISELY: Commit to reflect a single purpose.
  3. ISSUE-TRACKER: Create 2-way links between Subversion changesets and issue-tracking database.
  4. TRACK MERGES MANUALLY: Write descriptive log message that explains your merge.


WHEN, WHAT AND WHY TO BRANCH, TAG

  1. NEVER BRANCH: Small project, small team. It is easy to follow, have low barrier to entry but this is a chaotic development, might break /trunk often.
  2. ALWAYS BRANCH: Big team, Big project, dedicated management and supervision. The /trunk remains safe and is always the stable version but this will isolate coders from one another, sometimes can create conflicts and requires users to know how to use SVN effectively with extra merging lessons.
  3. BRANCH WHEN NEEDED: Perhaps the best and my favorite. The /trunk is still the stable version, branches and tags are created as and when required. However, this needs a bit more work in managing the SVN and a sync between developers. Lots of testing before merging, committing.


SO …

  • Main branch is of course the /trunk
  • Create branches at /branches/~theBranches to work separately off the main trunk and merge later.
  • Tag out releases or major versions etc at /tags/~theTags

UPDATES

1st Oct, 2007: Kalid Azad has A Visual Guide to Version Control.


Don't like it? There are lots of published articles, pick a random one.

oCricket

Brajeshwar posted this article on Thu, Apr 5th, 2007 at 4:38 pm
Categorized under Management, Technology and has the following tags

Prev Article: Lorem Ipsum Wordpress Theme

Next Article: Flash 99% Good


Possibly Related Articles

Archives: Visit the Archives for more articles.

Comments Post Yours

There are 2 responses so far. You can follow any responses to this entry through the RSS feed. You can leave a response, or trackback from your own site.

  1. Different teams follow different ways to branch and maintain mainline (trunk)…

    There is entire arcticle on that, somewhere online..

    But it really helps understanding some of the fundamentals, either by working with different teams at same or different companies, that’s how I learnt..

    -abdul

  2. Thanks for the article, nice to get a direct summary on something that many people make horribly complicated.

Post yours

Sidenotes

Quick notes, scribbles, somehow related to this website and to what I do. Or perhaps I'm just plain lazy to make them into a full article.

Introduction to Adobe AIR (NetTuts)

Nettuts have a nice Introduction to Adobe AIR which focus on using HTML/JS to build an AIR Application. It covers -- Adobe AIR Architecture, How to install AIR, Get the development SDK, Configurations, gets on to ...2nd Oct, 2008

Decide Team Type from Books

What do you think of the "Team-Type" if they got these books recently? What "Team-Type" do these books suggest? ( surveys) 29th Sep, 2008

What do investors look for in a startup?

A great video Interview with Venture Hacker Naval Ravikant answering the age-old question: What do you look for in a startup? Investors look for two things that are paramount above all: # Great team: It's obvious. It's a ...27th Sep, 2008

You don't mess with the 'Englineer Bother'

(Via: Hiring Horror) 24th Sep, 2008

Dear Adobe

Do you have a gripe with the Adobe Softwares that you use? Do you have complaints about Adobe Softwares? Please visit Dear Adobe to file your informal gripe with Adobe. 15th Sep, 2008

View the Sidenotes Archive

Play the Penguin Game

Recommended

  • My Special Job My Special Job is a place where you can look for your weird necessities, strangely superb employees, when your need are more of those hackers, geeks, and ultimate rockstars in the Internet Technology.
  • oCricket oCricket is about Cricket and people enthusiastic about it.
  • ActionScript 3.0 Reference Flash/Flex ActionScript 3.0 Reference.
  • Not Safe for Work Ever clicked a link and felt embarrassed with the content in front of your co-workers? Ever caught unaware because the funny link your friend sent was a little beyond funny? Let’s minimize that with NSWF.
  • Ode to Apple Dedicated to Apple - Mac, iPhone, iPod, iTunes, Quicktime, Apple TV and all the awesome softwares for the Apple Mac.
  • o! Just Me Of colorful cultures, entertainment, media, life hacks, music, books and movies from hollywood & bollywood.
  • Forum Oinam’s technical discussion forum where developers and designers can discuss all technical topics.

Download free Brajeshwar Wordpress Theme

Brajeshwar

Brajeshwar I firmly believe in keeping things simple, easy for users and I envison pushing the technical envelop time and again for the betterment of viable commercial and practical applications. More about me.

Brajeshwar Personal Identity Portal powered by VeriSign Labs

Brajeshwar's affinity with Adobe

My Photos

More photos on Flickr

Member of 9rules Network

Since its inception on 11th June, 2001, "Brajeshwar" has 863 Articles and 6,003 comments, contained within 20 categories and 1,233 tags.