Worldwide Developer Survey for 2012

Calling all developers, software management specialists and enthusiasts! WANdisco is currently conducting a worldwide survey of the developer community for 2012. This survey will help us to build a picture of the developer’s perspective on software development, and trends in the software change and configuration control management tools market. At the end of the survey, we will make the results available to everyone who took part, so you can see how your answers compare to the rest of the market, as well as receiving an overview of emerging trends in software management. Don’t forget to enter your contact details, so we can share our findings with you!

Please be assured that the information you provide will only be used in aggregate with the responses provided by other survey participants. We will not disclose your identity or the name of your company to any third party.

Take the survey now!

TortoiseSVN: Getting More out of Log Messages

With TortoiseSVN, it is good practice to write a log message for every change you commit back to the repository. Used correctly, log messages can be an invaluable resource if you run into problems later on, as they provide crucial information on why a particular change was made, by whom, and why.

TortoiseSVN makes it easy to browse these log messages, with its ‘Revision Log Dialog’ option that retrieves all the log messages for you. This dialog can be accessed via the ‘Show log’ option in the TortoiseSVN context sub-menu.

Selecting ‘Show log’ brings up TortoiseSVN’s ‘Revision Log Dialog:’

The ‘Revision Log Dialog’ consists of:

1)Top pane – A list of all the revisions that made changes to files and folders. This list features the date, time, the person who committed the revision, and a snippet from the log message.
2) Middle pane – A text-box that displays the full log message for the selected revision.
3) Bottom pane – An overview of all the files and folders that were changed in the selected revision.

Additional context menu commands can be accessed from the top pane of this dialog. To view these commands, right-click a file from the list.

These additional options include:

Compare with working copy – compare the selected revision with the revision in your current working copy. If there are any differences, TortoiseSVN will automatically launch TortoiseMerge so you can explore these differences.

Show changes as unified diff – this launches the TortoiseUDiff tool, which lists the differences with a few lines of context. (Note that it is typically harder to read than a visual file compare, but more compact.)

If you hold down the ‘Shift’ key and click on the ‘Show changes as unified-diff’ option, a dialog will open that allows you to set the options for the unified diff.
These options are:

1) Ignore EOL changes.
2) Ignore whitespace changes.
3) Ignore all whitespaces.

Compare with previous revision – launches the ‘Changed Files’ dialog that allows you to select exactly which revision, and which file to compare.

Double-clicking on a file will launch TortoiseMerge, where you can explore the changes.

Browse repository - opens the repository browser, where you can explore a particular file or folder, as it was at the specified revision.

Create branch/tag from revision – creates a branch or a tag from a selected revision. Right-click on the desired revision in the dialog, and select the ‘Create branch/tag from revision’ option. This launches the branch/tag dialog. In the dialog, specify the path where the branch/tag will be created, and click ‘Ok’.

Note that before this new branch/tag shows up in your working copy, you will need to run ‘SVN Update’. This will add the new branch/tag to your working copy.

Revert to this revision – reverts your working copy to how it was at a specified revision. Right-click on the revision you wish to revert to, and select the ‘Revert to this revision’ command. You will be asked to confirm this action.

The ‘Revert to this revision’ command is useful if you need to undo a series of changes. Note that these changes are only undone in your working copy, so you must run ‘SVN Commit…’ before the repository is reverted to the previous revision. This command should be handled carefully, as it effectively removes all the changes made after the selected revision.

If after performing this action you need to undo the undo, you can select ‘Revert’ from the ‘TortoiseSVN’ menu, from your working copy.

Merge revision to – allows you to merge the selected revisions into a different working copy. Select the ‘Merge revision to…’ option from the TortoiseSVN menu.

This will bring up a ‘Select merge target’ dialog. Select the folder you wish to merge to, and hit ‘Ok’ to confirm the merge.

‘Select merge target’ is particularly useful if you need to merge selected revisions from one branch to another.

Ready to get started with TortoiseSVN? Download the latest version.

SVN Live: Back for 2012

We’re pleased to announce that, after getting a great response from the Apache Subversion community in 2011, SVN Live is back for 2012!

Last year, SVN Live brought the Subversion community sessions covering everything from SVN’s future, to expert-led best practices workshops focused on getting the most out of Subversion, and a unique ‘Roundtable with the Committers’ session.

This year, SVN Live will take place in San Francisco, Greenwich and London during October. The core Apache Subversion committers will be in attendance, including director of the Apache Software Foundation, Greg Stein, and Apache Subversion Release Manager Hyrum Wright.

Confirmed sessions include:

    • What’s coming in 1.8 with Hyrum Wright, Stefan Fuhrmann, Julian Foad and Philip Martin
    • New Developments in SVN clients
    • Best Practices for Large SVN Deployments
    • Subversion Server Tuning Demo
    • Merge & Performance Improvements
    • Branching & Merging Best Practices
    • Hook Scripts
    • …and more!

 

Registration for SVN Live will be opening soon! Be sure to follow @WANdisco and @uberSVN for all the latest, breaking news on SVN Live 2012.

Subversion Tip of the Week

Extending Jenkins and uberSVN

uberSVN makes Jenkins easy to install, but the standard installation contains only the bare minimum needed by the average developer. At some point, you will want to extend your uberSVN and Jenkins installation with additional plugins. Thankfully, this is made easy in uberSVN.

1) Start by clicking on the ‘Jenkins’ tab in uberSVN. From here, select the ‘Manage Jenkins’ option followed by the ‘Manage Plugins’ option.

2) Select the ‘Available’ tab and check the tick boxes of all the plugins you wish to install.

3) Once you have selected all the plugins you wish to install, scroll to the bottom of the page and hit ‘Install.’

4) The plugin will now be downloaded. Note that Jenkins will need to be restarted for these changes to take effect.

Our Support Engineers are the Sherpas of Source Control Management! Just as traditional Sherpas use their deep knowledge of local terrain to assist mountain climbers in reaching the highest peaks and avoiding pitfalls along the way, WANdisco’s Subversion Sherpas use their extensive experience to guide customers away from problems and enable them to get the most out of Subversion. Our ‘Team Sherpa’ consists of highly skilled support engineers and core Subversion developers who have been working on the Subversion project since it began, and are also uniquely positioned to help you migrate to the latest and greatest releases of SVN. You can hire one of our Subversion Sherpas today, by visiting http://www.wandisco.com/subversion/support

Intro to Subversion’s Working Copy

Apache Subversion (also referred to as SVN) is an open source version control system. Although it’s widely used for managing source code files, it can actually be used to manage any type of file: images, videos and Word documents can all be managed with Subversion. At its core, Subversion allows teams to manage and coordinate the changes being made to a collection of files.

Subversion consists of two major elements. The first is the repository, which is a server where all your files are stored. The most recent revision of the repository is called the Head, although you can access previous versions from the repository. The second element, is the working copy, which we will explore in-depth in this post.

The Working Copy

‘Working copy’ is a term that’s thrown around a lot in Subversion tutorials and guidelines – but what exactly is the working copy, and how does it work? Essentially, a Subversion working copy is a directory tree on a local system that looks like any other ordinary directory full of files, but it provides a developer with their own private work area, complete with copies of the files contained within the repository. Subversion waits for instructions before making your working copy changes public, or incorporating other people’s changes into your workspace. When you’re ready to perform either of these actions, Subversion has the following commands:

  • svn commit – sends changes from your working copy to the repository. Log messages can be added with either the –file or –message switch.

  • svn update - updates your working copy with changes from the repository. The –revision switch can be used to provide a revision, or a range of revisions, to be updated to. If no revision is specified, this command brings your working copy into line with the HEAD (i.e the latest) revision.

The working copy contains all the files that have been checked out from the Subversion repository, but it also contains some additional files generated by Subversion to help maintain the working copy. One of these additional files, is a ‘.svn subdirectory’ which serves as the working copy’s administrative directory, and helps Subversion distinguish which of the versioned files contain unpublished changes, and which files are out of sync with the repository.

If you’ve been using previous versions of Subversion, you’ll notice that the .svn subdirectory underwent a major change in Subversion 1.7. In 1.7, the working copy metadata is stored in a single location, with just one .svn directory in the root of the working copy. Previously, Subversion maintained a .svn directory in every versioned directory of the working copy.

Things to Watch out For

The .svn folders are critical to Subversion’s smooth running. Typically, the best cause of action is to leave them alone, but there are several issues worth bearing in mind, to avoid disrupting these hidden folders:

  • Do not delete! – the .svn file contains the metadata that links the parent folder with the repository, so if you delete .svn, your working copy will be unable to communicate with the repository – Subversion will stop working completely!
  • No nesting – do not try to nest one working copy inside another working copy (regardless of whether the working copies have been checked out from the same repository, or different repositories.) Nesting will confuse the .svn folders, and it is likely they will be unable to communicate with any of the corresponding repositories.
  • Watch out for hidden .svn folders – make sure that when you are adding a folder to your working copy, it doesn’t contain a hidden .svn folder. If you try to copy a folder into a working copy that already contains a .svn folder, you will just get an error. If you really need to add the folder, you must first delete all the extra .svn folders.

9 Ways to Dominate Development with Jenkins

Last month, we were proud to co-host another free training webinar with our friends at CloudBees. ‘9 Ways to Dominate Development with Jenkins’ was presented by WANdisco’s Director of Training, Mike Lester, and CloudBees’ Elite Developer and Architect, Ryan Campbell. Mike covered the essentials of setting up Jenkins through uberSVN, the free, open ALM platform for Apache Subversion, before CloudBees’ Ryan Campbell shared a grand total of nine best practices for using Jenkins with uberSVN.

The tips included how best to backup the Jenkins continuous integration server. Webinar attendees were shown how to locate their configuration data in the $JENKINS_HOME directory. The location of this directory varies depending on how you install Jenkins, but in uberSVN you can check this using the Configure Systems screen. To access this screen, simply click on ‘Manage Jenkins’ in the Jenkins tab of uberSVN.

From here, select the ‘Configure Systems’ option.

This will take you to the all-important Jenkins Home directory, which contains the data you will need to backup.

Webinar attendees also learnt that it’s possible to create a backup while Jenkins is running, as Jenkins makes changes atomically to the cloud system. Whenever you change your configuration, Jenkins writes that configuration file to a temporary file and then moves it over atomically at the operating system level, which means creating a backup of a live Jenkins installation isn’t a problem.

The webinar also shared advice for planning disk capacity for Jenkins, the benefits of native installers, adding additional distributed builds to your Jenkins instance, and more.

Missed the webinar the first time around? The good news is that the entire webinar replay is now available to view on-demand, from our Webinar Replay page. And, if you enjoyed ‘9 Ways to Dominate Development with Jenkins,’ you can sign up for more of our upcoming webinars at http://www.wandisco.com/training/webinars.

WANdisco: Proud Sponsor of the Jenkins User Conference

If you’re a Jenkins user (or even an uberSVN+Jenkins user!) you will no doubt already have heard about this year’s Jenkins User Conference series. After the massive success of 2011’s single event, in 2012 the conference has become a series of events that will take place in six cities: Paris, New York, San Francisco, Antwerp, Tokyo, and Herzelia, Israel.

The Jenkins User Conference brings together Jenkins experts and enthusiasts from around the globe, for a full day of Jenkins-focused learning and all-important networking opportunities. As a proud CloudBees partner, we are excited to announce that WANdisco is an official sponsor of two of this year’s Jenkins User Conferences.

“The Jenkins community has embraced the Jenkins User Conferences for the opportunities they provide to meet other users, face-to-face. The learning offered by informal networking and formal sessions is terrific. It helps users increase their Jenkins knowledge, allowing them to make even better use of continuous integration,” said Kohsuke Kawaguchi, Jenkins creator and elite architect at CloudBees. “We are thrilled to have WANdisco join CloudBees and the other sponsors in supporting the Jenkins community.”

Not only is WANdisco an official sponsor of two of this year’s Jenkins User Conferences, but the WANdisco team will be attending the San Francisco conference on September 30th.

We’re looking forward to meeting the Jenkins community, and our experts will be on-hand to answer all of your questions about uberSVN, using Jenkins with uberSVN, or anything else we can help out with! We’ll also have plenty of freebies to hand out, so if you’re attending the San Francisco event, be sure to hunt out the WANdisco table.

If you’d like to check out our Jenkins integration before the conference, uberSVN is free to download and free to use, simply visit http://www.ubersvn.com/download now to get started.

For more information about the 2012 Jenkins User Conferences or to register, go here.

Subversion Tip of the Week

Revert to a previous revision

As Apache Subversion remembers every change made to its files and directories, it is always possible to roll back to a previous version of your project. This can be a life-saver if new features have turned out to be unnecessary, or even introduced bugs into your project. Simply rolling back to a revision before it all went wrong, can be far quicker and easier than trying to fix all of the problems manually.

Reverting to a previous revision in Subversion, is simply a matter of merging the changes in your current revision, to an earlier revision. To get started with reverting to a previous revision, select ‘Merge’ from the TortoiseSVN menu.

Select ‘merge a range of revisions.’ Click ‘Next.’

Select ‘Show Log.’

Select the revision you wish to roll back to. In this instance, we’ll revert to revision 13.

The selected revision will be automatically entered into the ‘Merge’ dialog. Ensure ‘Reverse merge’ is selected, and click ‘Next.’

This dialog allows you to set a range of options for merging. However, in most instances the default settings can be used. Click ‘Merge.’

Subversion will now roll your working copy back to revision 13.

Tip: Remember that the merge command only changes files in the working copy, so you must remember to commit your changes back to the repository.

Our Support Engineers are the Sherpas of Source Control Management! Just as traditional Sherpas use their deep knowledge of local terrain to assist mountain climbers in reaching the highest peaks and avoiding pitfalls along the way, WANdisco’s Subversion Sherpas use their extensive experience to guide customers away from problems and enable them to get the most out of Subversion. Our ‘Team Sherpa’ consists of highly skilled support engineers and core Subversion developers who have been working on the Subversion project since it began, and are also uniquely positioned to help you migrate to the latest and greatest releases of SVN. You can hire one of our Subversion Sherpas today, by visiting http://www.wandisco.com/subversion/support

Subversion Access Control comes to uberSVN

It’s been a great first year for uberSVN, the open ALM platform for Apache Subversion. Not only has this unique, SVN-based product been awarded the Made in Sheffield mark and Business IT Innovation of the Year medal, it’s also received a positive response from the community, and some fantastic reviews by the IT media. However, we’ve also received requests from large development organizations that want to deploy uberSVN enterprise-wide, but need a fully functional security solution first. That’s why we’re excited to announce an update that combines the full authentication, authorization and audit capabilities of our enterprise-class Subversion Access Control product with uberSVN’s social coding capabilities, easy-to-use interface and uberAPPS store.

Here’s a summary of what the uberSVN Access Control uberAPP adds to uberSVN:

  • An easy-to-use, point-and-click interface that enables you to implement and maintain the most complex security policies with minimal effort.
  • Delegated administration features that allow team administrators to configure access control policy for their team’s members.
  • LDAP integration.
  • Audit capabilities that track every user access attempt at a granular level.
  • Support for environments without internet access.

uberSVN Access Control is available through uberAPPS. Simply click on the uberAPPS tab within your installation to request your uberSVN Access Control free trial license and we’ll help you get started.

Not yet using uberSVN? It’s free to download and free to use, simply visit http://www.ubersvn.com/download to get started.

WANdisco Celebrates uberSVN ‘Chimney House’ Release

As the uberSVN community will already know, uberSVN came out of beta last week with the 12.04 release. This award winning ALM platform for Apache Subversion is developed entirely in Sheffield (and has the Made in Sheffield mark to prove it!) To show our support for the local area, all of our uberSVN releases are named after local Sheffield venues. uberSVN 11.12 was codenamed ‘Blake’ and the just-released uberSVN 12.04 is the Chimney House release, after The Chimney House venue in Kelham Island, Sheffield.

After hearing we were naming our award-winning software after their venue, our friends at The Chimney House were kind enough to put on a private party for the WANdisco team. We all had a great time, and presented our friends at The Chimney House with a very special, uberSVN plaque to mark the occasion.

As this release marks uberSVN moving out of beta testing, we decided to really push the boat out, and ordered our very own uberSVN cupcakes from Sheffield-based cake company, Fancie. We think you’ll agree, Fancie did an amazing job!

We even posted a few boxes of uberSVN cupcakes from Crumbs and Doilies to some lucky recipients – we hope you all enjoyed your cake!

uberSVN 12.04 can be downloaded now. More information is available at the Release Notes.