Monthly Archive for December, 2012

Subversion Tip of the Week

Getting More Out of SVN Log

Apache Subversion‘s ‘SVN log’ is a useful command, allowing you to view the entire history of a directory, including who made changes to the directory, at what revision, the exact time, and any accompanying log messages.

In it’s most basic form, a simple ‘SVN log’ command will give you a printout of everything that’s changed in your entire directory, across all revisions:

svn log

However, there’s plenty of options if you need to tailor ‘SVN log’s output. If this is far too much information, you can specify a particular revision:

svn log -r14

svn log 2

Or, if you’re after all the available information about this particular revision, add the verbose option to your command:

svn log -r14 -v

svn log 3

Alternatively, if you do not need to review the log message, you can add the quiet option to suppress this piece of information:

svn log -r14 -q

svn log 4

Of course, both of these options can also be applied to an entire directory:

svn log -q
svn log -v

When the two options are combined, ‘svn log’ prints just the file names:

svn log -q -v

svn log 5

Looking for an easy-to-use cross platform Subversion client? Claim your free 30 day trial of SmartSVN Professional by visiting: www.smartsvn.com/download

Problem-centric Products

Some businesses have a better understanding of their company’s products than they do of their customers’ problems. That’s understandable because it’s easier to focus on the thing you build, you control, you sell. Customer problems are slippery, complex, and sometimes uncomfortably unrelated to your product. The result can be a very product-centric message. Ever go to a website full of product features and information, and have a hard time figuring out what the thing is supposed to do?

One problem with a product-centric message is that the hard work of mapping problems to your product is left up to your customer. If it’s too hard to figure out if a product actually will solve my problem, I may just give up. That’s why it’s so important to deeply understand the challenges faced by your customers, and speak to the problems first whenever possible.

Of course nothing is new; a search quickly turned up this nice example: “Sell the Problem” by Seth Godin.

I’m using these principles to create a new product I’m working on for WANdisco. Listening to people tasked with solving specific problems gives me a clear idea of the challenges they face. We can then take a deep look at the technologies we have at our disposal for creating products that solve those problems. Then we also hope there’s a measure of inspiration with the perspiration, as Edison suggested: can we wrap up everything we’ve learned into a solution that goes past solving problems and into enabling previously unrevealed possibilities?

That’s the high bar we hope to reach: transformative solutions inspired by real problems.  Although it’s likely to be powered by WANdisco’s transformative replication technology, you’ll know from the start, YOUR problems were where we started looking first.

The problems we know best have to do with global and local multi-site, replication, high availability, and scalability.  If you are experiencing this with an existing application, let us know!

Happy Holidays from WANdisco!

wandisco-christmas-2012-blog (1)

2012 has been an amazing year for WANdisco: a successful flotation, a patent approval, two acquisitions, a global series of WANdisco-organized Subversion conferences and upgrading our sponsorship of the Apache Software Foundation were just some of the highlights of the past twelve months.

We have plenty of exciting announcements planned for 2013, but for now we’d just like to thank everyone who has used our products, joined us for a webinar, eTraining or enterprise training session, picked us for your support needs, or provided us with the crucial feedback we need to make our products and services even better.

And, of course, we’d like to wish you a very happy holidays from the WANdisco Team!

Subversion Tip of the Week

Intro to Subversion Switch

When working with branches, Apache Subversion provides a useful shortcut for switching your current working copy to a new branch’s location, without the overhead of checking out a fresh working copy containing the targeted branch. Leveraging this functionality, it’s possible to build a working copy that contains data from a range of repository locations, although these locations must originate from the same repository.

To achieve this, enter the ‘svn switch’ command, followed by the URL you wish to switch to:

svn switch repository-URL

svn switch

Users of SmartSVN, the cross-platform graphical client for SVN, can perform a switch simply by opening the ‘Modify’ menu and selecting the ‘Switch…’ option.

svn switch 2

In the subsequent dialog, enter the new URL – or select the ‘Browse’ option to view the different branches – and specify whether you’re switching to the latest revision (HEAD) or a particular revision number.

svn switch 3

Tip. Use the ‘Select…’ button to view more information about the different revisions.

Not yet started with SmartSVN? Claim your free 30 day trial at www.smartsvn.com/download

 

 

WANdisco’s December Roundup

2012 has been an amazing year for WANdisco, but we still had a few more announcements for you this month, including news that we are extending our suite of service and support offerings to include the Git distributed version control system.

“Expanding our support offering to include Git is an obvious step to enable you to deploy and support the trending as well as the leading SCM tools,” said James Creasy, WANdisco’s Senior Director of Product Management in his ‘Supporting Git to Support You’ blog.

Our Git support includes:

  • Guaranteed response times
  • Availability 24 hours a day, 7 days a week
  • Contact via email or toll-free telephone

Git support is available immediately, please contact sales@wandisco.com for more information.

This news comes hot on the heels of our Big Data and Apache Hadoop announcements last month. WANdisco CEO, David Richards, and core creators of Apache Hadoop Dr. Konstantin Shvachko and Jagane Sundar recently conducted a webinar that covered how WANdisco sees the future of big data, following our acquisition of AltoStor.

This 30 minute webinar discussed:

  • The cross-industry growth of Hadoop in the enterprise.
  • How Hadoop’s limitations, including HDFS’s single-point of failure, are impacting the productivity of the enterprise.
  • How WANdisco’s replication technology will alleviate these issues by adding high-availability, data replication and data security to Hadoop.

If you missed out on the webinar, you can still find out all about WANdisco, Hadoop and Big Data by checking out the webinar slides on SlideShare.

The Subversion community also found the time for one more release before the holiday season. Subversion 1.7.8 features plenty of fixes and enhancements, including:

  • Adding missing attributes to “svn log -v –xml” output
  • Fixing a hang that could occur during error processing
  • Fixing incorrect status returned by 1.6 API
  • Adding Vary: header to GET responses to improve cacheability
  • Subversion 1.7.8 ignores file externals with mergeinfo when merging

A full list of everything that’s new in Subversion 1.7.8 is available at the Changes file. Free binaries of Subversion 1.7.8 are available to download through the WANdisco website. Users of SmartSVN, the popular cross-platform client for Subversion can also grab an update: SmartSVN 7.5.3 features plenty of improvements and bug fixes, including:

  • Refresh option to ask for master password, if required
  • Support launching on Solaris
  • Fix for an internal error that could occur after removing Tag
  • Special characters (e.g ‘:’) no longer cause problems in URLs

More information on the latest changes, is available at the SmartSVN changelog. If you haven’t tried SmartSVN yet, remember you can claim your 30 day free trial of SmartSVN Professional by visiting www.smartsvn.com/download

There’s been plenty of new content at the blog this month, including the first blog from Hadoop core creator Jagane Sundar, WANdisco’s new Vice President of Engineering of Big Data.

In his ‘Design of the Hadoop HDFS NameNode: Part 1 – Request processing’ post, Jagane demonstrates how a client RPC request to the Hadoop HDFS NameNode flows through the NameNode.

hadoop namenode

When you think of “the cloud”, what comes to mind? In his first WANdisco blog, Director of Product Management James Creasy takes a fresh look at one of IT’s biggest buzzwords. He argues that most of the applications used by enterprises were not originally architected for cloud infrastructures, and looks at how this problem could be overcome by “putting the cloud into a virtual eyedropper.” In his second blog, ‘Planned Downtime Is Still Downtime’ James argues that planned outages of critical applications aren’t inevitable:

Through the 20th century and into the 21st we’ve gritted our teeth against this inescapable cost. We’ve built massive failover servers, concocted elaborate master/slave replication schemes, and built businesses around High Availability and Disaster Recovery scenarios (HADR). We thought we were doing the best we can.

And we were, until recently.”

You can read the ‘Planned Downtime is Still Downtime’ post in full at the WANdisco blog.

We also had some new team photos taken by our friend and neighbour at our Electric Works offices, Matt Lollar. We even managed to get some shots outside in the Sheffield sunshine.

wandisco team

Finally, to celebrate the holiday season, we had a little ‘Decorate Your Desk’ competition in the Sheffield office. We even had a roaring log fire!

christmas fire

We have plenty of exciting announcements planned for 2013, but for now we’d just like to thank everyone who has used our products, joined us for a webinar, eTraining or enterprise training session, picked us for your support needs, or provided the crucial feedback we need to make our products and services even better. And, of course, we’d like to wish you a very happy holidays from the WANdisco Team.

 

 

Apache Subversion 1.7.8 Released

It may be nearly the end of the year, but there’s still time for one more release of Apache Subversion. SVN 1.7.8 features plenty of fixes and enhancements, including:

  • Adding missing attributes to “svn log -v –xml” output
  • Fixing a hang that could occur during error processing
  • Fixing incorrect status returned by 1.6 API
  • Adding Vary: header to GET responses to improve cacheability
  • Subversion 1.7.8 ignores file externals with mergeinfo when merging

A full list of everything’s that new in Subversion 1.7.8 is available at the Changes file. Free binaries of Subversion 1.7.8 are available to download through the WANdisco website.

Looking for a cross-platform Subversion client? Claim your free 30 day trial of SmartSVN Professional by visiting www.smartsvn.com/download

Subversion Properties: Needs Lock

Apache Subversion is built around a ‘copy-modify-merge’ model, but there are times when a ‘lock-modify-unlock’ model may be appropriate (for example, when you are working on image files, which cannot easily be merged.) Once you’ve mastered locking and unlocking, you may want to look at Subversion’s dedicated lock property, which is useful to help prevent time wasted working on files that have already been locked by others.

If present on a file, the ‘Needs Lock’ property reminds users that they should lock the file before starting work on it. The SmartSVN Subversion client automatically sets files which require locking (due to this property) to read-only when checking out or updating. When a lock token is present, the file becomes read/write. This prevents users from making changes that are difficult to merge, on a file that is also being edited in another working copy (for example, two users simultaneously editing an image file.)

To add this property to a file using SmartSVN, select a file and click the ‘Change Needs Lock’ option in SmartSVN’s ‘Locks’ menu.

smartsvn needs lock

SmartSVN will automatically add this property to the selected file.

smartsvn properties change

To remove the ‘Needs Lock’ property, repeat the process: selecting ‘Change Needs Lock’ for a file that already contains this property, will remove the property instead.

Looking for a cross-platform graphical client for Apache Subversion? Claim your free 30 day trial at www.smartsvn.com/download

 

Subversion Tip of the Week

Intro to Branching in Subversion

For developers who aren’t familiar with version control, getting to grips with Apache Subversion’s branching functionality can be daunting. But, when used correctly, branching can be one of Subversion’s most powerful and useful features.

What is a Branch?

Put simply, a branch is a line of development that exists independently of another line.

intro to branching

 

Every project is different, but there are some common reasons why developers might choose to create a branch:

  • To isolate development – This is often called a ‘concurrent development branch,’ and is the most common reason to create a branch.
  • To experiment with new technology – Branches can be used to test a new technology that might not necessarily become a part of the main branch. If the experiment works out, the new code can easily be merged into the trunk.
  • To tag a project and keep track of released code – This is often called a ‘release branch.’ Upon completing a release, it is a good idea to create a branch and tag it with a name that is meaningful to that release (for example, “release-2.0.”) This serves as an easy-to-retrieve record of how your code looked, in a certain release.
  • To fulfil a particular customer’s need – This is often called a ‘custom branch,’ and is useful when you need to modify your project for a particular customer’s requirements.

Creating Your First Branch

To create a new branch, use the ‘svn copy’ command followed by a log message (-m) and the URL of both the resource being branched, and the location where you want to create your new branch:

svn copy -m “Creating a new branch” folder-being-branched location-of-new-branch

In this example, we are creating a new branch called ‘bug fix branch’ inside the ‘branches’ folder, that will contain all the files in the trunk:

branching-from-the-command-line

Looking for a cross-platform graphical client for Apache Subversion? Claim your free 30 day trial at www.smartsvn.com/download

Supporting Git to Support You

I can only hope that today’s press release sparked a water-cooler conversation or two:

“WANdisco announces enterprise Git support? I thought they were a Subversion company.”

Of course, we still are a Subversion company, empowering the leading version control system with global scalability and high availability.  Subversion’s dominance of the SCM market has been so great, three times the share of the next most used tool according to a 2009 Forrester Research survey, that one could be forgiven for seeing Subversion as the defacto “face of SCM.”

However, here at WANdisco, we take a strategic view of the industry to provide products and solutions for wherever your version control and SCM needs take you. Scanning the crowd of faces, new and old, in the SCM marketplace is part of our job. Clearly there is one important newcomer that has proven its mettle in open source and is now knocking on the door of the enterprise: the Git distributed version control system.

Expanding our support offering to include Git is an obvious step to enable you to deploy and support the trending as well as the leading SCM tools.  And if you’ve discovered other challenges deploying Subversion or Git in your environments, we’d love to hear about them.

Answers to questions from the Webinar of Dec 11, 2012

 Download the webinar slides here.

Question 1: Are there any special considerations or support of Spring technologies for this (i.e. Spring-Data, Spring-Integration, Spring-Batch)?

Answer: We are continuously looking at technologies that make Hadoop easier to use and program. Spring-Data, Spring-Integration and Spring-Batch show promise. When sufficient momentum is gathered by these projects, we will work with the Spring community to include a tested version of these technologies in the AltoStor Appliance.

Question 2: What is the hadoop version underneath the appliance?

Answer: Hadoop 2. We intend to remain close to the latest version of Hadoop at any given point in time, modulo fixes and changes for bug fixes.

Question 3: Will the pricing model based on number of name nodes or size of the cluster?

Answer: Pricing decisions have not been made yet. We will announce pricing in the first quarter of 2013.

Question 4: Can you comment on how load balancing is resolved across active nodes? Is there a load balance router concept?

Answer: We do not require/depend on any specialized hardware such as load balancers or NFS filers. By “load balancing” we simply mean that application requests (read or write) can be directed to any NameNode based on its proximity to the client or available resources. Thus NameNodes can share the workload and provide higher overall cluster performance compared to active-standby architecture.

Question 5: How does Active-Active replication impact processing time relative to current Hadoop architectures?

Answer: Active-Active replication will result in load balancing of clients across many NameNodes, i.e. fewer clients will be serviced by each NameNode. Since NameNodes share the workload on a busy cluster, you should expect faster response time for clients. Generally, more active NameNodes can perform a proportionally larger amount of work.


avatar

About Jagane Sundar