Syntax* 

Welcome to Pull Digital's technology blog Syntax*.

Source Control for Big Development Projects

When working with customisable websites like Kentico CMS and AspDotNetStorefront Multi-Store, it can be an admin nightmare to keep track of any changes made in the file system. And if the same developer will work over many projects over time (couple of years), it can be challenging for them to remember all the work done across many projects.
 
Among other purposes, source control is for tracking changes to the software and/or XHTML mark-up changes and to facilitate versioning whereby a previous version of code can be looked up and reinstated. 
 
We use the well-established and reputable Subversion source control system and the Visual Studio 2010 client, AnkhSVN, an open source Subversion client.  And we only use it on projects that from investigation are clearly going to be heavily customised in the file system.
 
So, what’s useful about source control?
 
Being wise with upgrades:
 
Working with software from another company comes with an issue: what if a part of the code is improved in some way? And what if we had to modify that particular part? Keeping a log of changes to vendor supplied code is crucial when it comes to upgrades.
 
 
AnkhSVN’s Repository Explorer provides a bird’s eye view of where the customisations have been made, marked by a number count*.  When it comes to applying an upgrade we have accurate an idea of whether the upgrade can be applied without having to undo then redo our changes. If we have changed a code file that has been improved in some way, we will lose our customisations. With source control, we have a record of the changes. So, once the improved code has been put in, source control can be used to reference how our customisations can be put back in, albeit possibly with some modification in light of code changes from the supplier.
 
 * The Revision number is not necessarily indicative of the number of changes made. It represents the latest overall revision that was committed.
 

 
By inspecting one project (example above: “ASPDNSFControls”) we can, based on the Revision number pattern, identify what files have been modified.
 
Indication of how much customisation has been done:
 
 
 

By virtue of the item count in the list, we can see the number of changes made.
 
Team communications - 1:
 
 
Why was the work done?
 
When submitting changes to Subversion, with the AnkSVN Visual Studio 2010 client we can leave a little commentary* on the commit. This allows the developer to provide a workplace/development related note to aid remembering what the change was about.
 
* The developer doesn’t have to, but it’s always helpful if they do.
 
Team communications - 2:
 
 
What files were changed for a task?
 
If files from different parts of the site are involved with a customisation, the developer, when submitting changes, can submit all the different files.  Should a different developer take on the issue in the future, when viewing the commit in the Repository Explorer the developer can find out what files are involved at a glance.
 
This documentation feature can save a lot of time and aggravation. Imagine not using source control in this situation.
 

Some Of Our Clients

  • First-Central
  • Boux-Avenue
  • Conversis
  • John-Lewis
  • EY
  • Kompan
  • Living-Streets
  • Meteor
  • OSI
  • Schwarzkopf
  • GoCycle
  • SSTL
  • Chaucer-Direct
  • TurtleMat
  • UK200Group
  • ASDA
  • Vinci
  • Zoggs

We Deliver Marketing CertaintyTM

Find Out More