SlideShare a Scribd company logo
Basics of branching, tagging and packaging 
for product release management with SVN 
Ted Steinmann 
APPLICATION 
VERSIONING
About Me 
 Building & Deploying CF Web apps for 4 years 
 ImageTrend, Inc. Lead Developer 
 Employee 3+ years 
 cf.Objective() attendee 3 years running 
 MAX 2008 (San Francisco) Attendee 
 Avid hiker, snowboarder & single-track rider
Experience 
 Involved, at some point, in most stages of the 
ColdFusion based development, design, 
implementation & support of large scale enterprise 
applications for ImageTrend’s Emergency Data 
Systems solutions 
 EMS, Fire, Trauma, Emergency Preparedness, 
Licensing 
 Strong proponent of SVN, versioning and iterative 
release processes using the unstable branching 
strategy who has been involved with company 
wide implementation throughout various projects.
Summary 
 Why SVN? 
 Environmental 
Considerations 
 Branching 
 Strategies 
 Branching 
 Tagging 
 Versioning 
 Packaging 
 Publishing
Why SVN? 
 Open source/free 
 Widely used & supported 
 Many Eclipse plugins 
 Supports 
 Remote disconnected development 
 Continuous/Synchronous development 
 Distributed Development 
 Extendable integrations 
 Properties such as bug tracking id 
 Atomic commits 
 Project wide undue button
Environmental Considerations 
 Development 
 Alpha 
 Beta 
 Staging 
 Production 
 Source control server 
 SVN 
 Visual SVN 
 Source control client 
 Tortoise SVN 
 Build Script 
 Automated deployment 
Application 
Environments 
Supporting Environments & 
considerations
Environmental Considerations 
 Developers copy 
 Checkout – Trunk 
 Alpha 
 Checkout – Trunk 
 Auto update – post-commit-hook 
 Beta 
 Checkout – Release Branch or Trunk (switch) 
 Staging or production 
 Export from tagged release
Alpha Auto Update 
 DEMO 
 Code 
 post-commit-hook.bat 
 Environments 
 http://tsteinmann.samples/svn/project1/trunk/src/ 
 http://tsteinmann.samples/svn/alpha/project1/
Branching 
 Enables independent lines of development 
 Share a common history with the mainline/trunk 
 New feature development, release 
prep/management 
 Isolated development environments 
 Copy of another branch/trunk at a point in time
Branching Strategies 
 The Unstable Trunk 
 Serial Releases 
 The Stable Trunk 
 Parallel Releases 
Branching strategies can be 
intermingled, but choosing one and 
sticking with it creates transparency, 
simplicity, & consistency. 
Strategies are suggested usage or best 
practices but not enforced by 
subversion. 
 The Agile Branching Strategy 
 Delayed definition 
 Features that may never 
make it into the product 
All strategies support Agile 
development practices, agile 
branching supports more 
reactive undefined chaotic 
development and places 
more time & effort on 
branching & merging than 
development.
Unstable Trunk Strategy 
 Trunk 
 Main line development of a product 
 On going development for next release 
 Feature branch 
 Safe place for development of features in isolation 
 Development delivered later, NOT for next release 
 Copy of branch (or Trunk) at a point in time 
 Release Branch 
 Stable releasable/feature complete code set 
 created to prepare for release 
 Bug/defect fixes development performed or merged here 
 Tags are created from here 
• Simplest most 
usable 
• Payload 
development 
• Serial development
Unstable Trunk Diagram
Tagging 
 Snap shot of a repository at a point in time 
 Commonly a version number 
 REL-1.0 
 A tag is effectively the same thing as a branch 
 Best practices suggest NEVER committing to a 
tag 
 Tortoise will warn you but not prevent 
 You can tag a branch & branch a tag 
 It’s easier to just create a branch from a branch 
(or the trunk) at a revision that lines corresponds 
to a tag.
Versioning 
 Wikipedia: 
 Software versioning is the process of assigning 
either unique version names or unique version 
numbers to unique states of computer software. 
 Generally numeric, and increasing order 
 Every subsequent version contains all fixes & 
enhancements from previous versions 
 Versioning needs to make sense for 
developers, marketing & existing customers
Packaging 
 Gathering artifacts that make up a product 
 Source Code 
 Store version info in source code 
 Database scripts 
 Store version info in database 
Write scripts to be re-runnable 
 Repeatable process 
 Automated/Scripted build & delivery
Packaging (continued) 
 ANT 
 Another Neat Tool 
 Built into Eclipse 
 svn.exe 
 command line utility 
 CollabNet (one of many) 
 SVNKit 
 Java Library 
 Database script compilation or versioning
Packaging (continued) 
 Steps 
1. Compile database scripts 
2. Export code from a tag 
3. Strip out any un-necessary config or logs 
4. Deliver package
Packaging 
 DEMO 
 package.bat 
 build.xml
Merging 
 Copy differences from between 2 trees, and 
applying to a working copy for commit 
 Feature Branch 
 Feature complete 
 Expected in next release 
 Release Branch 
 Merge when tagged 
 Apply hot fixes to on going dev in Trunk
Merging (continued) 
 Range of revisions 
 Reintegrate Branch 
 Merge two different trees 
 DEMO – Time Permitting
Pointers 
 Merge as often as possible 
 The longer a branch exists in isolation the more 
difficult the merge 
 KISS 
 Do EVERYTHING from a working copy 
 If you find yourself doing the same thing over 
and over… script it… most of us are 
developers.
Questions?
Resources 
 Branching Strategy Questioned (Bob w/Collabnet) 
 http://blogs.open.collab.net/svn/2007/11/branching-strat.html 
 Pragmatic version control using subversion 
 http://www.pragprog.com/titles/svn2/pragmatic-version-control-using-subversion 
 Tortoise SVN Docs 
 http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html 
 Wikipedia (Software Versioning) 
 http://en.wikipedia.org/wiki/Software_versioning 
 Collabnet SVN (download) 
 http://www.open.collab.net/downloads/subversion/ 
 Eclipse – ANT & External tools tutorial 
 http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.user/gettingStarted/qs- 
80_ant.htm 
 SVNKit (Java Library Integration – Jared Rypka-Hauer) 
 http://www.alagad.com/blog/post.cfm/svnkit-coldfusion-and-you--very-cool-java-cf-stuff

More Related Content

PPTX
Selenium
komalpreethi
 
DOCX
Versioning guidelines for product
Lalit Kale
 
PPTX
Jenkins advance topic
Gourav Varma
 
PPT
SVN Usage & Best Practices
Ashraf Fouad
 
PDF
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
Novell
 
PDF
ASP.NET on zLinux: A New Workload
Novell
 
PPT
Mike Taulty Beyond Silverlight With W P F
ukdpe
 
PPTX
SVN Basics
Shiva Somvanshi
 
Selenium
komalpreethi
 
Versioning guidelines for product
Lalit Kale
 
Jenkins advance topic
Gourav Varma
 
SVN Usage & Best Practices
Ashraf Fouad
 
How to Port Your .NET Applications to Linux Using Mono Tools for Visual Studio
Novell
 
ASP.NET on zLinux: A New Workload
Novell
 
Mike Taulty Beyond Silverlight With W P F
ukdpe
 
SVN Basics
Shiva Somvanshi
 

What's hot (20)

PPTX
SVN Best Practices
ESRI Bulgaria
 
PDF
Version Control with Subversion
Guy K. Kloss
 
PPT
SVN Tool Information : Best Practices
Maidul Islam
 
PPTX
Getting Started With Subversion
Jordan Hatch
 
PPTX
Software Quality Assurance on VLC
Shoaib Haseeb
 
PPTX
Software Quality Assurance on VLC Player
Shoaib Haseeb
 
PPTX
ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...
Cyber Security Alliance
 
KEY
SVN Best Practices
abackstrom
 
PPT
2009-04-21 - Alfresco and Maven NXP case study
Symphony Software Foundation
 
ODP
Svn Basic Tutorial
Marco Pivetta
 
PPTX
Version Control System
TechAhead
 
PDF
Society Pro
hirosopro
 
PDF
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
Eric Smalling
 
PPTX
Subversion
Tomy Ismail
 
PDF
Model For Applying Unit Test
Hieu Le Trung
 
PDF
Automating development-operations-v1
Sumanth Vepa
 
PPTX
TYPO3 & Composer
Armin Vieweg
 
PPTX
About .net
joeyparkker
 
TXT
Release Notes
cosmeli
 
PDF
Svn tutorial
Albertz Ace-Red
 
SVN Best Practices
ESRI Bulgaria
 
Version Control with Subversion
Guy K. Kloss
 
SVN Tool Information : Best Practices
Maidul Islam
 
Getting Started With Subversion
Jordan Hatch
 
Software Quality Assurance on VLC
Shoaib Haseeb
 
Software Quality Assurance on VLC Player
Shoaib Haseeb
 
ASFWS 2013 - Advances in secure (ASP).NET development – break the hackers’ sp...
Cyber Security Alliance
 
SVN Best Practices
abackstrom
 
2009-04-21 - Alfresco and Maven NXP case study
Symphony Software Foundation
 
Svn Basic Tutorial
Marco Pivetta
 
Version Control System
TechAhead
 
Society Pro
hirosopro
 
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
Eric Smalling
 
Subversion
Tomy Ismail
 
Model For Applying Unit Test
Hieu Le Trung
 
Automating development-operations-v1
Sumanth Vepa
 
TYPO3 & Composer
Armin Vieweg
 
About .net
joeyparkker
 
Release Notes
cosmeli
 
Svn tutorial
Albertz Ace-Red
 
Ad

Viewers also liked (20)

PPTX
ColdSpring the basics
Ted Steinmann
 
PDF
Accelerate Application development with WSO2 App Factory
WSO2
 
PPTX
Application Lifecycle Management using Microsoft Team Foundation Server Train...
Mihails Galuška
 
PDF
Application Lifecycle management Utilizando ferramentas Microsoft
Luís Cesar Teodoro
 
PDF
Multiple projects, different goals, one thing in common: the codebase! at Agi...
Carlos Lopes
 
PDF
XP In the Real World
Carlos Lopes
 
PDF
Cognitive Biases
Carlos Lopes
 
PDF
The .NET Platform - A Brief Overview
Carlos Lopes
 
PDF
Refactoring Strategies: Beyond the Basics
Danilo Sato
 
PPTX
Continuous Delivery Overview
Luca Minudel
 
PDF
Trunk Based Development Explored
Carlos Lopes
 
PPTX
Web Vulnerabilities - Building Basic Security Awareness
Gurpreet Luthra
 
PDF
Lessons from Deploying an EMR in Rural India
Gurpreet Luthra
 
PDF
Trunk Based Development
Carlos Lopes
 
PDF
TDD and more than 9000 tries to sell it to a customer
Anuar Nurmakanov
 
PPTX
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
Nicole Forsgren
 
PDF
Continuous Delivery: Making DevOps Awesome
Nicole Forsgren
 
PDF
Branching Strategies: Feature Branches vs Branch by Abstraction
Chris Birchall
 
PDF
Multiple projects, different goals, one thing in common: the codebase!
Carlos Lopes
 
PDF
Merge hells - Feature Toggles to the rescue
Leena N
 
ColdSpring the basics
Ted Steinmann
 
Accelerate Application development with WSO2 App Factory
WSO2
 
Application Lifecycle Management using Microsoft Team Foundation Server Train...
Mihails Galuška
 
Application Lifecycle management Utilizando ferramentas Microsoft
Luís Cesar Teodoro
 
Multiple projects, different goals, one thing in common: the codebase! at Agi...
Carlos Lopes
 
XP In the Real World
Carlos Lopes
 
Cognitive Biases
Carlos Lopes
 
The .NET Platform - A Brief Overview
Carlos Lopes
 
Refactoring Strategies: Beyond the Basics
Danilo Sato
 
Continuous Delivery Overview
Luca Minudel
 
Trunk Based Development Explored
Carlos Lopes
 
Web Vulnerabilities - Building Basic Security Awareness
Gurpreet Luthra
 
Lessons from Deploying an EMR in Rural India
Gurpreet Luthra
 
Trunk Based Development
Carlos Lopes
 
TDD and more than 9000 tries to sell it to a customer
Anuar Nurmakanov
 
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
Nicole Forsgren
 
Continuous Delivery: Making DevOps Awesome
Nicole Forsgren
 
Branching Strategies: Feature Branches vs Branch by Abstraction
Chris Birchall
 
Multiple projects, different goals, one thing in common: the codebase!
Carlos Lopes
 
Merge hells - Feature Toggles to the rescue
Leena N
 
Ad

Similar to Application versioning (20)

PDF
Versioning for Developers
Michelangelo van Dam
 
PPT
Subversion
wiradikusuma
 
PPTX
SVN Information
RAHUL TRIPATHI
 
PDF
Oracle ADF Architecture TV - Development - Version Control
Chris Muir
 
PPTX
Source version control using subversion
Mangesh Bhujbal
 
PPTX
JavaEdge 2008: Your next version control system
Gilad Garon
 
ODP
Subversionn Introduction at SuperMondays 2009-09-01
Alex Kavanagh
 
PDF
Version Control with SVN
PHPBelgium
 
PPTX
Maven, Archiva, Subversion and Team City
Boy Tech
 
PPT
Introduction to Subversion and Google Project Hosting
Philip Johnson
 
PPT
Part 4 - Managing your svn repository using jas forge
Jasmine Conseil
 
PDF
Version control 101
Michelangelo van Dam
 
PPTX
[Mas 500] Software Development Strategies
rahulbot
 
PDF
Git vs Subversion: ¿Cuando elegir uno u otro?
Paradigma Digital
 
ODP
Practical SVN for PHP Developers
Lorna Mitchell
 
PPTX
Team Foundation Server - Source Control
Dhirendra Singh
 
PDF
SQL Server DevOps Jumpstart
Ori Donner
 
PDF
Git your life for fun & profit
Geeks Anonymes
 
PPTX
Subversion
thebdot1
 
Versioning for Developers
Michelangelo van Dam
 
Subversion
wiradikusuma
 
SVN Information
RAHUL TRIPATHI
 
Oracle ADF Architecture TV - Development - Version Control
Chris Muir
 
Source version control using subversion
Mangesh Bhujbal
 
JavaEdge 2008: Your next version control system
Gilad Garon
 
Subversionn Introduction at SuperMondays 2009-09-01
Alex Kavanagh
 
Version Control with SVN
PHPBelgium
 
Maven, Archiva, Subversion and Team City
Boy Tech
 
Introduction to Subversion and Google Project Hosting
Philip Johnson
 
Part 4 - Managing your svn repository using jas forge
Jasmine Conseil
 
Version control 101
Michelangelo van Dam
 
[Mas 500] Software Development Strategies
rahulbot
 
Git vs Subversion: ¿Cuando elegir uno u otro?
Paradigma Digital
 
Practical SVN for PHP Developers
Lorna Mitchell
 
Team Foundation Server - Source Control
Dhirendra Singh
 
SQL Server DevOps Jumpstart
Ori Donner
 
Git your life for fun & profit
Geeks Anonymes
 
Subversion
thebdot1
 

Recently uploaded (20)

PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Doc9.....................................
SofiaCollazos
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Software Development Methodologies in 2025
KodekX
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 

Application versioning

  • 1. Basics of branching, tagging and packaging for product release management with SVN Ted Steinmann APPLICATION VERSIONING
  • 2. About Me  Building & Deploying CF Web apps for 4 years  ImageTrend, Inc. Lead Developer  Employee 3+ years  cf.Objective() attendee 3 years running  MAX 2008 (San Francisco) Attendee  Avid hiker, snowboarder & single-track rider
  • 3. Experience  Involved, at some point, in most stages of the ColdFusion based development, design, implementation & support of large scale enterprise applications for ImageTrend’s Emergency Data Systems solutions  EMS, Fire, Trauma, Emergency Preparedness, Licensing  Strong proponent of SVN, versioning and iterative release processes using the unstable branching strategy who has been involved with company wide implementation throughout various projects.
  • 4. Summary  Why SVN?  Environmental Considerations  Branching  Strategies  Branching  Tagging  Versioning  Packaging  Publishing
  • 5. Why SVN?  Open source/free  Widely used & supported  Many Eclipse plugins  Supports  Remote disconnected development  Continuous/Synchronous development  Distributed Development  Extendable integrations  Properties such as bug tracking id  Atomic commits  Project wide undue button
  • 6. Environmental Considerations  Development  Alpha  Beta  Staging  Production  Source control server  SVN  Visual SVN  Source control client  Tortoise SVN  Build Script  Automated deployment Application Environments Supporting Environments & considerations
  • 7. Environmental Considerations  Developers copy  Checkout – Trunk  Alpha  Checkout – Trunk  Auto update – post-commit-hook  Beta  Checkout – Release Branch or Trunk (switch)  Staging or production  Export from tagged release
  • 8. Alpha Auto Update  DEMO  Code  post-commit-hook.bat  Environments  http://tsteinmann.samples/svn/project1/trunk/src/  http://tsteinmann.samples/svn/alpha/project1/
  • 9. Branching  Enables independent lines of development  Share a common history with the mainline/trunk  New feature development, release prep/management  Isolated development environments  Copy of another branch/trunk at a point in time
  • 10. Branching Strategies  The Unstable Trunk  Serial Releases  The Stable Trunk  Parallel Releases Branching strategies can be intermingled, but choosing one and sticking with it creates transparency, simplicity, & consistency. Strategies are suggested usage or best practices but not enforced by subversion.  The Agile Branching Strategy  Delayed definition  Features that may never make it into the product All strategies support Agile development practices, agile branching supports more reactive undefined chaotic development and places more time & effort on branching & merging than development.
  • 11. Unstable Trunk Strategy  Trunk  Main line development of a product  On going development for next release  Feature branch  Safe place for development of features in isolation  Development delivered later, NOT for next release  Copy of branch (or Trunk) at a point in time  Release Branch  Stable releasable/feature complete code set  created to prepare for release  Bug/defect fixes development performed or merged here  Tags are created from here • Simplest most usable • Payload development • Serial development
  • 13. Tagging  Snap shot of a repository at a point in time  Commonly a version number  REL-1.0  A tag is effectively the same thing as a branch  Best practices suggest NEVER committing to a tag  Tortoise will warn you but not prevent  You can tag a branch & branch a tag  It’s easier to just create a branch from a branch (or the trunk) at a revision that lines corresponds to a tag.
  • 14. Versioning  Wikipedia:  Software versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software.  Generally numeric, and increasing order  Every subsequent version contains all fixes & enhancements from previous versions  Versioning needs to make sense for developers, marketing & existing customers
  • 15. Packaging  Gathering artifacts that make up a product  Source Code  Store version info in source code  Database scripts  Store version info in database Write scripts to be re-runnable  Repeatable process  Automated/Scripted build & delivery
  • 16. Packaging (continued)  ANT  Another Neat Tool  Built into Eclipse  svn.exe  command line utility  CollabNet (one of many)  SVNKit  Java Library  Database script compilation or versioning
  • 17. Packaging (continued)  Steps 1. Compile database scripts 2. Export code from a tag 3. Strip out any un-necessary config or logs 4. Deliver package
  • 18. Packaging  DEMO  package.bat  build.xml
  • 19. Merging  Copy differences from between 2 trees, and applying to a working copy for commit  Feature Branch  Feature complete  Expected in next release  Release Branch  Merge when tagged  Apply hot fixes to on going dev in Trunk
  • 20. Merging (continued)  Range of revisions  Reintegrate Branch  Merge two different trees  DEMO – Time Permitting
  • 21. Pointers  Merge as often as possible  The longer a branch exists in isolation the more difficult the merge  KISS  Do EVERYTHING from a working copy  If you find yourself doing the same thing over and over… script it… most of us are developers.
  • 23. Resources  Branching Strategy Questioned (Bob w/Collabnet)  http://blogs.open.collab.net/svn/2007/11/branching-strat.html  Pragmatic version control using subversion  http://www.pragprog.com/titles/svn2/pragmatic-version-control-using-subversion  Tortoise SVN Docs  http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html  Wikipedia (Software Versioning)  http://en.wikipedia.org/wiki/Software_versioning  Collabnet SVN (download)  http://www.open.collab.net/downloads/subversion/  Eclipse – ANT & External tools tutorial  http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.user/gettingStarted/qs- 80_ant.htm  SVNKit (Java Library Integration – Jared Rypka-Hauer)  http://www.alagad.com/blog/post.cfm/svnkit-coldfusion-and-you--very-cool-java-cf-stuff