Monthly Archive for July, 2012

WANdisco’s July Roundup

As an active member of the ASF and Apache Subversion communities, this month we were excited to announce that our sponsorship of the Apache Software Foundation will continue for a second year in a row. As an ASF sponsor WANdisco joins companies such as Google, Facebook, Yahoo!, HP and IBM.

The ASF Sponsorship Program is the official avenue for substantial, non-directed monetary contributions to the ASF, and funds raised through this program help the Foundation maintain leadership in the developer and open source communities.

Not content with continuing and upgrading our sponsorship, we increased the number of full-time Subversion committers by hiring two of the most experienced Subversion engineers in Branko Čibej and Stefan Fuhrmann. Branko Čibej joined the Subversion project in May 2000 and has been an active member of the community since then. He will take up the role of Director of Subversion at WANdisco.

“Apache Subversion is entering an interesting phase in its development,” said Branko. “The changes in the latest release have laid the groundwork for a slew of important new features, and I’m grateful to WANdisco for giving me the opportunity to work full-time on the project as their Director of Subversion.”

Also joining WANdisco as a full-time Subversion developer is Stefan Fuhrmann. Stefan has been involved in the Apache Subversion project since 2010, and has worked on the TortoiseSVN project since 2003.

We also saw two IBM veterans – Paul Hewitt and Scott Rudenstein –join WANdisco’s sales management team. Paul Hewitt brings more than 25 years of software industry experience to his new position as WANdisco’s Sales Director for EMEA. Paul spent 10 of those 25 years at IBM Telelogic where he rose from the rank of Principal Account Manager to become UK Managing Director and Senior Vice President for Western Europe. After assuming this leadership position, Paul was able to grow Telelogic’s revenue by more than 50%.

Meanwhile, Scott Rudenstein brings over 20 years of industry experience to his new position as Director of Technical Sales and Services at WANdisco. Scott spent over 5 years as a Senior Sales Engineer in the IBM Rational Software Group specialising in software development tools. Scott was a member of the Rational Software team that was acquired by IBM for $2.1bn in February 2003. Scott has also held various Sales Director positions at US-based software companies such as Quest Software and Surgient.

We’d like to take this opportunity to welcome all our new starters to WANdisco! Want to join them? There’s still plenty of job opportunities at our Careers page.

This month, we set out to investigate which Apache Subversion client is most popular, with a poll that asked what clients – if any – the SVN community are using. The results are in and, according to respondents, there’s a clear winner in this popularity contest as over 60% of respondents said they were using TortoiseSVN.

TortoiseSVN is a free Windows client for Subversion – if you want to find out more about what TortoiseSVN has to offer, why not take a look at our ‘Top Ten Reasons To Try TortoiseSVN’ blog post? If you want to find out what all the fuss is about for yourself, we also have a handy starter guide: ‘How to Install TortoiseSVN and Make Your First Repository Change.’

After the success of 2011’s conference, Subversion Live is back for 2012! Subversion Live 2012 will take place in San Francisco (October 10th & 11th) Greenwich, Connecticut (October 16th & 17th) and London (October 23rd & 24th) and for a limited period registrants can get a 25% discount with our Early Bird offer.

This series of two-day conferences will feature a unique mix of expert-led best practices workshops, live Subversion demos and invaluable networking opportunities with experienced peers. Attendees will also have the opportunity to meet core Subversion committers, including Greg Stein, Stefan Fuhrmann, Julian Foad and Philip Martin.

Registration is now open – and don’t forget to enter the ‘earlybird’ code to claim your 25% discount.

After more training, but can’t wait until Subversion Live 2012? After getting plenty of requests from the community for more webinars on branching and merging, not only have we added another free training webinar on branching and merging but we’ve created some handy Subversion refcards.

Introduction to Merging in Apache Subversion’ starts with the basic question of ‘what is merging,’ before showing you how to perform the different types of merges, including reverse merges, and finally sharing some best practices to help you avoid merge hell, while ‘Introduction to Branching in Apache Subversion’ covers the essential know-how you need to get started with branching. This refcard covers:

  • What is a Branch?
  • How to Create a Branch
  • Identifying Branches
  • Deleting Branches

We’ll be adding more refcards over the coming weeks, so keep checking back for even more free training content.

Subversion Live 2012: Early Bird Registration Now Open!

Early bird registration for Subversion Live 2012 is now open!

After getting a great response from the Apache Subversion community in 2011, Subversion Live is back for 2012, bringing the Subversion community sessions covering everything from Subversion’s future, to expert-led best practices workshops, as well as the unique opportunity to meet the core Subversion committers. This year’s conference series is even bigger than last year, with events taking place in San Francisco, Greenwich CT, and London.

We’re currently running a very special early bird offer: register now using the ‘earlybird’ code to get a 25% discount (note, the early bird offer ends 10th August, so you better be quick!)

As part of Subversion Live 2012, WANdisco’s Product Manager Rich Smolenski and Rob Budas, Vice President of Product Management, will deliver a session on Apache Bloodhound. Apache Bloodhound is an exciting new project that was voted into the Apache Incubator in December, 2011. In this interview, we find out more about Apache Bloodhound, including what the future holds for Bloodhound, and get a sneak preview of what Subversion Live attendees can expect from this session.

Can you give us an introduction to the new Apache Bloodhound project?

Rich Smolenski: Apache Bloodhound is a tool for managing software development. Its strengths lie in a close tie in between Apache Subversion source control and a powerful ticket system, built on the shoulders of Trac. If you need to track defects or feature requests, this is your tool.

In your opinion, what will Apache Bloodhound’s stand-out feature be?

Rich Smolenski: Other tools in this area take a generic project based approach. This makes it difficult to keep track of your code base over time as projects end, and new ones start. We recognise that you create software products, whether you use them internally or sell them to clients. These products won’t change as quickly as the projects needed to modify them. Therefore our approach provides a much better reflection of your actual code base.

At Subversion Live, you will present a session on Apache Bloodhound. Who would benefit from attending?

Rob Budas: Anyone that produces and/or maintains software, especially if they use Subversion or uberSVN to do so.

What topics are you going to cover in your Bloodhound session?

Rich Smolenski: The main topics we’ll cover in these sessions are the key UI and functional differences between Apache Bloodhound and the Trac project, and where Bloodhound fits into the Apache Subversion ecosystem. We’ll also cover practical aspects such as setting up users, projects, groups and permissions, and ticket management.

In your opinion, where is the Bloodhound project heading?

Rob Budas: A fully featured software development platform. It will run on your own infrastructure or in the cloud, depending on your needs. It should be quick to pick up for non-technical users without training, but also not hold back the experts.

Registration for Subversion Live is now open – and don’t forget to enter the ‘earlybird’ code for a 25% discount.

Although WANdisco are sponsoring some of the initial committers, one of the major aims of Apache Bloodhound is to create a vibrant developer community, and any interested committers are able to contribute to the project. Interested in getting involved? Check out the Bloodhound webpage for more info.

Commitment to the Cause

“There’s a difference between interest and commitment. When you’re interested in doing something, you do it only when circumstance permit. When you’re committed to something, you accept no excuses, only results.”

I think it’s a wonderful quote, primarily because it’s true.  There really are only two options regarding commitment, you’re either in or you’re out. There’s no such thing in life as inbetween.  WANdisco is very much “in” when it comes to Apache Subversion.

Today we made a couple of very important announcements.

  1. We upped our sponsor level of the ASF from Bronze to Silver.
  2. We increased the number of full-time subversion committers by hiring two of the most experienced Subversion engineers in Branko Čibej and Stefan Fuhrmann.

The ASF is a non-profit, volunteer-run foundation and this will help aid organizational, legal and financial support for a broad range of Apache licensed projects including Subversion. We continue to be extremely grateful to the ASF.  This is a ‘safe home’ for Subversion.  Apache have led the way in community open source development since 1999 and they are no stranger to mature, pervasive open source technology like Subversion.

Branko and Stefan are two wonderful software engineers with lot’s of experience in the SVN community.  Branko has been involved in the project since 2000 and he has always worked on some of the most difficult and complex problems.  Karl Fogel told me a long time ago that he could really help deliver the branching and merging improvements we hope to make.

Stefan has worked on the Subversion client TortoiseSVN since 2003 and now spans both client and server.

I think this is great news for the community as a whole.

This announcement coincides with the second year of our Subversion Live Conferences.

The first year we ran the events they were a huge success.  It presented a unique opportunity for Subversion users from a wide spectrum of organizations to interact with each other and the core Subversion developers.  Registration is now open here:  http://www.wandisco.com/svn-live-2012

avatar

About David Richards

David is CEO, President and co-founder of WANdisco and has quickly established WANdisco as one of the world’s most promising technology companies.

Since co-founding the company in Silicon Valley in 2005, David has led WANdisco on a course for rapid international expansion, opening offices in the UK, Japan and China. David spearheaded the acquisition of Altostor, which accelerated the development of WANdisco’s first products for the Big Data market. The majority of WANdisco’s core technology is now produced out of the company’s flourishing software development base in David’s hometown of Sheffield, England and in Belfast, Northern Ireland.

David has become recognised as a champion of British technology and entrepreneurship. In 2012, he led WANdisco to a hugely successful listing on London Stock Exchange (WAND:LSE), raising over £24m to drive business growth.

With over 15 years’ executive experience in the software industry, David sits on a number of advisory and executive boards of Silicon Valley start-up ventures. A passionate advocate of entrepreneurship, he has established many successful start-up companies in Enterprise Software and is recognised as an industry leader in Enterprise Application Integration and its standards.

David is a frequent commentator on a range of business and technology issues, appearing regularly on Bloomberg and CNBC. Profiles of David have appeared in a range of leading publications including the Financial Times, The Daily Telegraph and the Daily Mail.

Specialties:IPO’s, Startups, Entrepreneurship, CEO, Visionary, Investor, ceo, board member, advisor, venture capital, offshore development, financing, M&A

Subversion Tip of the Week

Apache Subversion: Basic Workcycle

In Apache Subversion, the basic workcycle follows the ‘checkout-edit-update-commit’ format.

A ‘Checkout’ is the process of pulling all the files from your repository onto your local machine, where it becomes known as a ‘working copy.’ You can then work on these files in isolation, before sharing your work with the rest of the team by ‘committing’ back to the repository.

In this week’s tip, we’ll provide a handy introduction to this basic workcycle.

Checkout

To checkout a working copy, run the ‘svn checkout’ command, followed by the URL of your repository and the location where you wish to create the working copy.

In this example, we’re creating a working copy on the desktop, in a file called ‘Repo’:

Tip, if you’re using the free uberSVN platform, you can easily find out your repository’s URL by opening the ‘Repositories’ tab.

You can now edit the files and folders in your working copy.

Update

You may be ready to share your changes with the rest of your team, but it’s good practice to perform an SVN update first. This will pull any changes your colleagues may have already committed, into your working copy, ensuring your changes fit with the most up-to-date version of the project.

To perform an update, run the ‘svn update’ command, followed by the location of your working copy.

svn update (working copy location)

Commit

Let’s assume any changes your team committed are compatible with your changes, and go ahead with the commit. When performing a commit, you should leave a log message and include as much information as possible, as this can be an invaluable source of information if you ever need to revisit this revision. When performing a commit, the log message is entered in the “–m” format (for example, -m “added ReadMe file.”)

The commit itself is performed using the ‘svn commit’ command, followed the log message and the location of the working copy.

svn commit -m “log message” (working copy location)

In this example, we are performing a commit with the log message “added Admin Guide text.”

Need more Subversion know-how? After getting a great response from the Apache Subversion community in 2011, Subversion Live is back for 2012, bringing the Subversion community sessions covering everything from Subversion’s future, to expert-led best practices workshops, as well as the unique opportunity to meet the core Subversion committers. We’re currently running a very special early bird offer: register now using the ‘earlybird’ code to get a 25% discount (note, the early bird offer ends 10th August, so you better be quick!)

Bringing Order to Your Jenkins Jobs

Once you’ve been working with Jenkins and uberSVN for a while, you may find yourself in a situation where you have several jobs that need to run in a specific order, for example:

  • Job 1 and Job 3 can run simultaneously.
  • BUT Job 2 should only start when Job 1 and Job 3 have finished running.
  • AND Job 4 should only start when Job 2 has finished.

How can you implement this complicated setup? This is where Jenkins’ ‘Advanced Project Options’ and build triggers come in handy. In this tutorial, we’ll walk through the different options for scheduling jobs using Jenkins and uberSVN, the free ALM platform for Apache Subversion.

Note, this tutorial assumes you have already created a job and configured it to automatically poll your Subversion repository.

1) Open the Jenkins tab of your uberSVN installation and select a job.

2) Click the ‘Configure’ option from the left-hand menu.

3) In the ‘Advanced Project Options’ tab, select the ‘Advanced…’ button

4) This contains two options that are useful for ordering your jobs:

  • Block build when upstream project is building – blocks builds when a dependency is in the queue, or building. Note, these dependencies include both direct and transitive dependencies.
  • Block build when downstream project is building – blocks builds when a child of the project is in the queue, or building. This applies to both direct and transitive children.

If this option doesn’t meet your needs, you can explicitly name a project (or projects) that must be built before your job is allowed to run. To set this:

1) Scroll down to the ‘Build triggers’ tab on the configure page.

2) Select the ‘Build after other projects are built’ checkbox. This will bring up a text box where you can list any number of projects.

Utilized properly, the build triggers and advanced project options should allow you to organize your jobs into a schedule. Tip, if you need even more control over your build schedule, there are plenty of scheduling plugins available. To add plugins to Jenkins, simply:

1) Open the ‘Manage Jenkins’ screen.

2) Click the ‘Manage Plugins’ link.

3) Open the ‘Available’ tab and select the appropriate plugins from the list.

Not yet using uberSVN? It’s free to download, free to use, and is seamlessly integrated with Jenkins. Simply visit http://www.ubersvn.com/ to get started. A professional support option for Jenkins is also available.

Apache Subversion: Access Control Options

Subversion Access Control is a security solution for Apache Subversion that goes well beyond what SVN can provide on its own. To fully understand the benefits of Subversion Access Control, we’ll first look at the fundamental technical differences between Subversion’s built-in security functionality, and WANdisco’s Subversion Access Control product.

Apache Subversion…….

In Apache Subversion, user authentication is performed either through a local passwd file or from an LDAP or Active Directory server. Apache also provides an Authorization Layer for defining more granular control of repository objects, but managing text based rules through the Authz file can become difficult as the number of users and repositories inevitably increases.

…..v.s Subversion Access Control

Subversion Access Control is implemented as a proxy from the local Subversion server. It works directly with your LDAP or Active Directory, meaning you can keep your existing setup.

But what can Subversion Access Control offer you? Here are our ten top features of Subversion Access Control:

1) Easy to install, with no retraining required! Subversion Access Control requires no changes to clients or backend servers, meaning that you can continue to use the Subversion technology you’re familiar with.

2) Easy to use, point and click interface.

3) Access control made easy! The ability to implement and maintain complex security policies with minimal effort.

4) Audit capabilities – every repository access attempt down to the file level is reported, showing user ID, Subversion command, date and time, IP address of the client machine used, and whether access was allowed or denied

5) Unlimited access control – Subversion Access Control can support any size of development organization with any number of repositories and access control rules.

6) Delegated admin – this option allows the root administrator to create teams and delegate admin authority to team leaders.

7) Automatic LDAP synchronization – Subversion Access Control automatically picks up LDAP user and group membership changes and assigns new users to the Subversion team that corresponds to their LDAP group.

8) Instant alerts – your security administrators receive immediate alerts for any access violations.

9) Integrated seamlessly with Subversion MultiSite – Subversion Access Control can be implemented standalone, or in combination with Subversion MultiSite for distributed development teams. With Subversion MultiSite, security policy changes made at one location are immediately replicated to every other to enforce consistency across all sites.

10) Available for uberSVN! – uberSVN is the free, open ALM platform for Apache Subversion that has won a string of industry awards and received an overwhelmingly positive response from the Subversion community. For those who want to combine this award winning platform with a fully functional security solution, Access Control is available through the uberAPPS store.

Here’s just some of the benefits of deploying this enterprise-level Access Control functionality with uberSVN:

  • Full authorization/authentication
  • Define Access Control rules through a simple point-and-click interface
  • Delegated admin control
  • Define control within each Team/sub-Team to a granular level
  • Assign Team Leaders
  • Audit capabilities
  • Support for ecosystems without internet access

Interested in finding out more about access control options? We’ll be running a free Subversion training webinar on November 15th that covers the pros and cons of the following methods of access control:

  • Apache Subversion access control
  • Hook scripts
  • uberSVN
  • Subversion Access Control from WANdisco

Visit the ‘Access Control Options with Subversion’ webinar page now to register. Remember that spaces are limited, so register now to avoid missing out.

Poll Results: Which Subversion Client Do You Use?

There’s no shortage of clients for Apache Subversion, each with its own combination of functionality, integration capabilities, and target platforms. But which client is the most popular with the SVN community? We recently ran a poll to find out and, after getting a great response, the results are in and there’s a clear winner…

Over 60% of respondents said they used TortoiseSVN, an SVN client for the Windows operating system.

It’s easy to see why TortoiseSVN is so popular with the community: not only does its context-sensitive menu integrate seamlessly with Windows shell, but it allows users to see the status of their files at a glance, thanks to its handy icon overlays. And, of course, just like Subversion it’s an established open source project with the option of professional support, for those who need some extra help with their implementation.

The poll also revealed the popularity of Subversion clients in general, with less than 5% of respondents saying they do not use a client.

Thank you to everyone who took part in our poll and if there’s a question you’d like to pose to the Subversion community, don’t hesitate to contact us with your ideas and we’ll try to feature them in future polls.

If you want to find out more about what TortoiseSVN has to offer, why not take a look at our ‘Top Ten Reasons To Try TortoiseSVN’ blog post? If you want to find out what all the fuss is about for yourself, we also have a handy starter guide: ‘How to Install TortoiseSVN and Make Your First Repository Change.’

Polling Subversion with Jenkins: The Quiet Period

Ever hit ‘Enter’ on your ‘SVN Commit’ command only to realise you’ve forgotten to include some files? In Apache Subversion, it’s not unusual for one commit to be quickly followed by another, as users realise their mistake. If you’ve configured Jenkins to poll Subversion for changes, this can result in broken builds and premature email notifications about build failures. Thankfully, if you’re a Jenkins user, there’s a ‘quiet period’ feature that can be activated to provide some breathing space between performing a commit, and Jenkins generating a build. If you’re using uberSVN, this is simply a matter of checking the right tickbox.

Note, uberSVN is free to download and free to use. If you’re not already using uberSVN, you can get it for free from http://www.ubersvn.com/

To introduce a ‘quiet period’ to your Jenkins workcycle, you must first create a job and configure it to automatically poll your Subversion repository. Once your job is up and running:

1) Open the Jenkins tab of your uberSVN installation and select the job you want to add the ‘quiet period’ to.

2) Click the ‘Configure’ option from the left-hand menu.

3) In the ‘Advanced Project Options’ tab, select the ‘Advanced…’ button.

4) Select the ‘Quiet period’ box and enter the number of seconds Jenkins should wait before generating a build.

Your Jenkins job will now schedule a build, but then wait 20 seconds before actually beginning to build.

Want to learn more about Jenkins jobs and polling? We have plenty of free tutorials you may be interested in:

Getting Started with Jenkins in uberSVN
Polling Subversion with Jenkins
Advanced Subversion Polling with Jenkins: File Fingerprints
Polling Subversion with Jenkins: More Options

If you need extra help with Jenkins, we also offer a professional support option that includes 24-by-7 online, phone and email support, guaranteed response times and automated delivery of fixes and upgrades.

Subversion Tip of the Week

Cleaning up your Working Copy

Before Apache Subversion begins modifying your working copy, it creates a “to do” list and locks the relevant part of the working copy while it performs an update. When Subversion has completed its modifications, it releases the lock and cleans up the “to do” list. However, if this process is interrupted (for example, the network connection is lost, or your computer crashes) then the “to do” list isn’t deleted. Before you can continue working on your project, you must run an ‘SVN Cleanup’ that instructs Subversion to complete any outstanding items on its “to do” list and finally, remove the lock on the working copy.

1) To run an ‘SVN Cleanup,’ select ‘Clean up…’ from the TortoiseSVN menu.

2) ‘Clean up working copy status’ is the basic option that will attempt to get your working copy into a workable and usable state. But, TortoiseSVN will present you with some additional options:

  • Revert all changes recursively – reverts all the local modifications that have not yet been committed to the repository. Tip: if you need to specify exactly which files to revert, you should use the ‘TortoiseSVN – Revert’ command.
  • Delete all unversioned files and folders – sends all files not under version control to the recycle bin.
  • Delete ignored files and folders – moves all ignored files/folders to the recycle bin.
  • Refresh shell overlays – one of the useful features of TortoiseSVN, is that it overlays repository files with status icons that tell you the current state of each file.

Sometimes these overlays won’t display the most up-to-date status. In this situation, ‘Refresh shell overlays’ should be used to force a refresh.

3) Once you have selected your options, select ‘Ok.’ You should now see a message informing you that your cleanup has been successful.

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. Find out how our Sherpas can help you!

Polling Subversion with Jenkins: More Options

Not only does uberSVN, the open ALM platform, make Apache Subversion easy, but users can leverage the functionality of other tools without even leaving their uberSVN installation. We’ve already looked at configuring Jenkins to poll an Apache Subversion repository, and using Jenkins’ file fingerprinting functionality. In this post, we’ll show how Jenkins’ polling functionality can be further configured to perform the following tasks:

  • Automatically sending out email notifications about broken builds.
  • Archiving specified artifacts whenever a new build is created.

Email Notifications

Jenkins can be configured to send email notifications whenever a build becomes unstable, fails, or returns to stable. uberSVN makes this configuration easy:

1. To get started, select the ‘Jenkins’ tab followed by the Jenkins job you previously setup to poll Subversion.

2. Select the ‘Configure’ option from the Jenkins side-menu.

3. Select the ‘E-mail Notification’ checkbox, enter the appropriate email addresses and click ‘Save.’

And that’s it! Now, whenever there are problems with your builds, Jenkins will automatically send out email notifications, allowing you to identify problems early.

Archive Artifacts

Jenkins can also be setup to archive certain ‘artifacts’ (i.e any results of your build process) whenever a new build is created. The advantages of archiving artifacts is that they’re easily accessible via uberSVN’s interface, and you only have to setup backup on your master.

1. Repeat steps 1 and 2 to open the ‘Configure’ screen of the Jenkins job that will be in charge of archiving.

2. Select the ‘Archive the artifacts’ option.

3. Now it’s time to specify which artifacts to archive. If you just want to archive one file, enter that artifact’s name and location. For example, to archive the Project Wiki text file in the trunk directory, enter:

trunk/Project Wiki.txt

Alternatively, you can configure Jenkins to archive every file of a particular format. If you wanted to archive every text document in the trunk directory, you would enter:

trunk/*.txt

Or, if you wanted to archive every .zip file in the tags directory, the command is:

tags/*.zip

4. At this point, you can optionally instruct Jenkins to overwrite previous artifacts by selecting the ‘Discard all but the last successful/stable artifact to save disk space’ option, which is accessible through the ‘Advanced’ menu.

5. Once you are happy with the changes you have made, click ‘Save.’

6. To see archiving in action, make some changes to the files you’ve configured Jenkins to archive and commit them back to the repository.

7. Once Jenkins has polled Subversion and created a new build, you will see new artifacts at the job’s status page.

8. Click on an archived item, to see its contents.

Need some extra support with your Jenkins+uberSVN installation? We offer Professional Support for Jenkins that provides:

  • 24-by-7 online, phone and email support.
  • Guaranteed response times.
  • Automated delivery of fixes and upgrades.
  • …and more!