Subscribe by Email

Your email:

Blog Updates

Get the latest Codesion blog articles on your site.

Now on Twitter!

Current Articles | RSS Feed RSS Feed

The Best of Subversion 1.7

Posted by Mark Bathie on Fri, Feb 05, 2010
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 
 There are a few cool features and enhancements scheduled for the next major release of Subversion (1.7). I'd like to quickly review some of them and explain the advantages and what it means for Subversion users. We can expect to see Subversion 1.7 in the "first half of this year", according to Hyrum K. Wright, Director of Open Source, WANDisco. As with all open source software, it will be done when it's done. Some of the cool new features are:
  • New protocol for Subversion (HTTPv2)
  • New working copy library (libsvn_wc)
  • Early obliterate support
  • Augmented diff representation (svn patch)
HTTPv2 protocol 

Early in this history of Subversion, the decision was made to base Subversion on Apache + WebDAV/DeltaV. There were a number of advantages to this including zillions of Auth options via Apache, standardized encryption (SSL), excellent logging, ability to go through corporate firewalls, and caching with intermediate proxies. This turned out to be limiting in some respects, including DeltaV being complex and inefficient. The overall performance of Subversion suffered as a result. 

The Subversion folks have decided to write a new protocol (HTTP v2), which will presumably maintain the positive side effects of using WebDAV/DeltaV while offering more speed and efficiency. The main advantages are that it will reduce the number of round trips per operation (which is useful on high-latency links), it'll be easier for future developers to extend, and it allows better caching with web proxies.
 
I'm sure all Subversion users will be happy with this news, and we can all look forward to a much faster Subversion. Check out the Subversion issue tracker for more details.
 
New working copy library 
 
Another performance enhancement planned is a new working copy library. Most Subversion users will be familiar with those ".svn" directories which are stored on the client side (your workstation / developer box). Subversion maintains one of these directories per directory in your working copy to store meta data about your repository.
 
The main problem with this model is that Subversion relies on the existence of cached, pristine files in ".svn/text-base/", meaning that it's more suited to storing small text files (your source code). Of course the usage patterns of Subverison users has changed substantially, and at Codesion we now see many customers storing a wide range of binaries and digital assets beyond source code, such as videos, business/technical documents, Photoshop files, etc. Of course the obvious answer to this problem is to buy a larger disk, but thats not ideal of course.
 
Work is underway for 1.7 which will see a new working copy library with centralized metadata, so instead of using the filename as a key to reference a file, it will use a generated index key and avoid case sensitive file name issues we see often under NTFS. It will be based on SQLite DB for storage, store properties in the DB, introduce a new concept of a workqueue instead of the current log files, more friendly API for GUI developers, faster locking, ability to remove deleted directories, shared text-bases which reduces disk usage for working copies with shared branches, and aims to be backwards compatible with the current libsvn_wc. Check out the Subversion issue tracker for more details. 
 
Obliterate support 
 
This one is pretty simple. Currently in Subversion there is no way to really delete a file or directory: the delete operation merely flags a file as 'deleted', but it's never actually removed from disk on the server side. This is beneficial in that you can rollback to any point in time in your project history before a file was deleted, and not lose any dependencies or history that other files may have with that deleted file.
 
However there is a case for an "obliterate" function which completed annihilates a file or directory. Say for example you accidentally committed a massive file, or wish to hide private data that was committed by mistake, or just remove one file in a revision. Having this ability allows you to reduce the disk storage requirement on the server side and maintain privacy in the unfortunate even you commit something you shouldn't have, or you just simply made a mistake. Julian Foad, Senior Subversion Committer, says there will be an audit trail of some sort which will log who, what, when for each obliteration, and sysadmins will be able to add authorization via hooks. Initially there will only be support to remove the youngest revision of a file, but this will be extended. Of course we'll be enabling access to this feature via our interface, so there will be no need for our customers to write hooks.
 
Augmented diff representation (svn patch)
 
Most Subversion users will be familiar with 'svn merge', which is a very powerful and core tool in Subversion used to keep your trunk in synch with a branch, or more generally to merge changes from one tree to another. This requires that both trees be stored in Subversion. The Subversion maintainers are planning to introduce 'svn patch' which would allow you to merge a patch file, much like the output from Linux 'diff', to your Subversion working copy, without the need for the source of the patch to exist in another Subversion branch. There isn't too much published about this feature on the Subversion site, but one would assume you'd be able to do something like this eventually,
 
  "svn patch < diff.txt"
 
in your working copy, or
 
  "svn diff http://official.svn.org/trunk | svn patch ."
 
to apply changes from an entirely separate repository. If this feature is pushed far enough it might provide a kind of 'lite' implementation of what's core in distributed SCMs like Git.
 
We're all looking forward to Subversion 1.7!
 
 

0 Comments Click here to read/write comments

The Dude Abides No More- Say Hello to Codesion!

Posted by Guy Marion on Mon, Feb 01, 2010
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

As of February 1, 2010, we are excited to announce that CVSDude is now Codesion - "Bringing cohesion to code control." Feel free to check out our name change comic, the first few frames of which are shown above. This comic paints a picture of our history, our growth, and our long-debated decision to move beyond CVSDude.

Codesion ushers the next phase of our growth, which will expand from Subversion hosting (and CVS/Trac/Bugzilla/DAV) to a range of software development services, all of which are centrally managed from the FrogSAFE Platform. 

Picking the Right Name

After weighing up many different names, we opted to invent a new word - Codesion. We considered three primary criteria in selecting this name. First, we did not want to be tied to a particular technology (i.e. SVN, CVS, SCM, git, etc)- long a concern we've faced with the name 'CVSDude' (yes, 95% of our customers use SVN, not CVS). Second, we wanted it short and sweet - seven characters or less is considered a best practice, and although Codesion is eight characters, we felt it was close enough. Finally, we sought a name that did link back to code, software, or a related technical aspect, while still being catchy and fun. 

With Codesion, we have satisfied all three - and the Frog is still included in our logo, just slimmed down. This represents our strategic shift into high value yet "slimmed down", on-demand Enterprise class solutions.

What happens next?

In the coming weeks, all areas of our online presence(s) will switch from CVSDude to Codesion - including the Community Help Center, our Blog, Server Status Reporting, and all of our reply email addresses.

Customers repository URLs will not be affected by this name change in any way - nor will your use of the system in any way. Please do not change your repository URLs when checking out CVSDude-hosted repositories. Any eventual changes we make in repository URL syntax will be fully backwards compatible with CVSDude. 

We hope you like "Codesion" - please tell us what you think below!

34 Comments Click here to read/write comments

Team Synchronization with Eclipse and Subversion

Posted by Mark Bathie on Mon, Jan 25, 2010
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

Eclipse is a popular IDE initially created for Java, but which now has specific builds for most popular languages including, C, C++, PHP, etc. This article discusses how you can use Eclipse with Subversion.

Background

In order to safeguard your precious source code, the old approach of simply cracking open Eclipse and starting coding, while saving everything to your local hard disk, just doesn't cut it in today's world. What happens if you break your build, your hard disk crashes, or you want to collaborate with two or more developers on the same project? You never need to worry about these issues when you store your code under hosted Subversion repositories. Fortunately Eclipse has a plugin that you can download and install and get cranking with Subversion in no time.

This guide was written using Eclipse 3.5.x.

Step 1: Install the Subversive SVN plugin

1.1 Fire up Eclipse and click on "Help" -> "Install New Software".

1.2 Select "All Available sites" from the pull down, and check "    Subversive SVN Team Provider (Incubation)".


1.3 Click "Next" and follow the steps to complete the plugin installation. Then restart Eclipse.

 

Step 2: Start a new project using Subversion.

2.1 Click "New" -> "Project". Then select "SVN" -> "Project from SVN" 

2.2 Install Subversive connector. Choose SVN Kit (latest). At the time of writing SVN Kit 1.3.0 is the latest. 

2.3 Check the box beside SVN Kit 1.3.0, click finish and follow the steps (you may need to restart Eclipse again).

2.4 Enter your repository URL + credentials. We used a repository at CVSDude. https://demonstration.svn.cvsdude.com/demo, but you can use any Subversion repository URL, and click "Next".


2.5 Eclipse will communicate with the remote Subversion repository, and then ask you which resource (we choose Head Revision) for our demo. Next click "Finish". Eclipse will again communicate with the Subversion repository. 

2.6 Next it will ask you to tie your checkout, "check out as", to a local Eclipse project. We choose "Check out as a project as configured using the New Project Wizard". Click "Finish" and follow the steps, and your new project will be "tied" to your remote Subversion repository.

 

Step 3: Saving changes to your remote Subversion repository.

3.1 After each time you create new, modify, delete. If you want those changes to be synchronized remotely, you must do so manually by right-clicking the file (or containing folder) in the project explore, and select the "Team" option.

3.2 You'll see a bunch of options including:

Commit: Save changes remotely. Use this if you want to share, or save your changes to the remote SVN repository.

Update: Suck down any changes your colleagues may have made, and update your local working copy. Use this if you need to update your local copy with any changes other team members have made since you last did an update. As a rule of thumb, you should be performing an update a number of times each day, to avoid messy conflicts later on.

Synchronize with Repository: A Wizard for sending updates and receiving updates.

 

Happy Coding! 

Check out the Eclipse doco for further reading and general use of Eclipse, or the Subversive home page.

 

0 Comments Click here to read/write comments

The Invisible Launch: Threaded Setupdude Speeds Up Subversion

Posted by Sarah George on Thu, Jan 07, 2010
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

In late December, we implemented a core system upgrade that significantly increased the speed of all processes handled by CVSDude, as well as introduced the concept of job prioritization. And while you may have noticed the system acting more quickly, you probably didn't even notice this launch of "threaded SetupDude". I'd like to share with your some of the technical story.

SetupDude allows 2X to 10X increase in jobs performance

SetupDude an invisible part of our system, a daemon responsible for the actual setup of svn, trac, and all our other services across our distributed system. Whenever you make a change in the UI, setupdude is notified and makes sure the configurations are all updated. If you delete a project, guess who makes it go away? Setupdude also handles a range of deferred tasks including email notifications of commits.

To make sure that changes in the UI are reflected in our services as quickly as possible, we've given Setupdude an overhaul: it is now "threaded". This means it can run several jobs at once, using as many CPU cores as we can throw at it.

For most of our servers that's 8 cores, plus we make sure each core has a second thread it can switch to if it has to wait on anything (for example, hard disk access or a response from another server). Also, some jobs stack well (for example, if there are several changes to apply to one config file). We were already stacking these jobs, but now we do it more easily and can "stack higher" to get the most out of it.

This graph illustrates the relationship we found between number of cores and the optimal number of threads, ignoring IO and memory limitations. We find that overall system speed increases by at least 2x, and under certain conditions by up to 10X.


Job Prioritization for Professional Edition accounts

CVSDude's finely tuned engine means your service setups will be lightning fast. In the rare event that we're flooring it (eg, if we're rolling out a feature that requires setup changes to every account) we've made sure our Professional Edition customers get the quickest possible delivery by adding a prioritization scheme. Don't worry -- Team Edition customers will still see a significant speed up as the new threading capabilities far outweigh the job prioritization for Pro customers.

It's also reliable. In testing we randomly killed worker processes. It was like a shooting gallery! Many, many worker processes were harmed in the making of this feature :). Like Terminator 2 the system absorbed it all, re-generated and kept on coming.

To be a Perl fork or DudeFork?

Perl geeks might be curious to know that we ended up creating our own variant on the "forks" library for this. Actual perl threads were too co-dependent - they render the ARLM signal unusable for timeouts, have issues with db handles and some other perl libraries, and when you start looking into their "all variables are local to the thread" feature you find its not copy-on-write doing that, they really copied every variable, making this feature not as lightweight as we've come to expect from threads in other environments.
 
Perl's "forks" library solves some of these problems but goes out of its way to emulate others so that it can be a "drop-in replacement" for threads. The "fork()" system call won't work as expected in forks, and the inter-process communication turns out to be via shared variables that are emulated via sockets... so why not just use forks and sockets in the first place? So we wrote "DudeForks", which works a bit differently and offers a lightweight, robust way to manage a set of worker processes.

Thanks to our development and testing staff for making this upgrade go so smoothly that you probably didn't even notice it.

 

0 Comments Click here to read/write comments

How to Build a World-Class Distributed Workteam Over the Web

Posted by Guy Marion on Tue, Dec 15, 2009
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

Get $25 Credit at oDeskOrie Zaklad, Sr. Manager at oDesk, shares tips on how to build a distributed workteam by hiring, managing, and paying experts online.

CVSDude and oDesk are very focused on making distributed development affordable and seemless. In fact, oDesk has recently migrated Subversion customers to the CVSDude Platform,  while CVSDude regularly turns to oDesk for website and development work.

As a CVSDude user, you’re set-up to support a distributed development team and there is a good probability that you already have team members working from far-flung locales.  On oDesk you can hire, manage, and pay professionals ranging from web developers to customer service and SEO specialists.

One of the most frequent questions we’re asked is…
 
How do I get started?

Post a jobGreat Job Description. A successful relationship with an online worker start with writing a killer job description. Don’t skimp on the details – a specific job description will deliver you a more refined list of quality candidates to choose from. Also, remember to spell check your work, and be professional in your posting; qualified contractors, or service providers, are drawn to professional companies. Take the time to examine the profiles of those who apply for your position; provider profiles in marketplaces like oDesk are structured to convey a significant amount of information that often equals or surpasses what you might learn in a traditional interview, all without even sending one note to the candidate. Of course, you’d never hire someone sight-unseen, so once you have a short list of top candidates, you can move to the interview process (detailed below).

Expert Tip: Over 40% of oDesk hires are candidates that were invited by the employer to interview for the job. Just search the marketplace and use filters to target providers that are a good match for your job and work style.

Selecting the right contractor

Select a contractorEmail communications are the preferred method to begin the interview process. Aside from the convenience factor, provider candidates generally offer more information in an email format. Since you’ll be drawing from a worldwide talent bank, time zone considerations or language barriers aren’t an issue. Email also serves to keep the conversation on track, and it gives each provider an equal chance to shine.

Common questions to ask a candidate in the interview include their availability for your project, experience with similar projects, client interaction, potential setbacks, and - if you’re looking for a long-term provider - how committed they are to the work relationship. For some, email communications alone are enough to make a decision, but scheduling a real-time interview (over telephone or a video chat) at least one time is usually a good idea.

Taking the test drive

Test DriveSome savvy buyers take their top candidates for a “test drive.” We know because we do it ourselves. If you want to take the test drive route, hire your top candidates to your team room, and give them a short task that is indicative of the work they will be required to do. Because they are in your team room, you can limit their work to roughly 2-3 hours and leverage the oDesk work diary to gain full visibility into what they are doing, how they are thinking about the assignment, and what they are spending their time on. This will help you decide who is the best fit for your job and then you can keep that provider on board for your full assignment.

How about a $25 credit?

So, you want to give online work professionals a try? Tap hard working, highly qualified online contractors, oDesk, the leading marketplace for online work. We guarantee to buyers like you that every hour billed is an hour worked, and to providers that every hour worked is an hour paid. In a special offer to you Dudes, join oDesk and get a credit for the first $25 you spend there! Take advantage of this special deal by clicking here, and sign up today!

If you have any questions about building a world-class distributed workteam, I would be happy to answer them below.

0 Comments Click here to read/write comments

How to use versioned and non-versioned online cloud storage

Posted by Mark Bathie on Thu, Dec 10, 2009
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 
In addition to our SaaS Subversion, Trac, and Bugzilla hosting services, CVSDude offers secure online storage that allows customers to store, share, and back up any file. Web developers or project managers can store images, videos, or documents in a non-versioned environment, using an easy drag and drop interface.
 
This is achieved by setting up a CVSDude "WebDAV" drive, which uses the open source Web-based Distributed Authoring and Versioning protocol (DAV). Your CVSDude DAV drive can also be linked to a Subversion repository, allowing you to auto-commit after every file change, keep a history of all revisions, and recover in case or error or corruption. The following two sections describe how to set up a) versioned and b) non-versioned DAV drives on CVSDude. 

A. Setting up 'Easy SVN' (Cloud Storage with revision history)
 
CVSDude "EasySVN" allows you to map a Subversion Network Drive as a generic network drive on your Windows / Linux / Mac machine. This makes it easy for non-developer users to keep a complete history of all changes, while working in the normal Windows or Mac interface.

Step by Step

1. To use CVSDude's 'Easy SVN', you must first turn it on via our admin UI (see Fig 1).



Fig 1: Enabling 'Easy SVN'. Click Services -> General Subversion Settings -> then check "Allow DAV writes to Subversion repositories".

2. Once you have enabled 'Easy SVN', you must then navigate to your project page and locate the Subversion access URL (see Fig 2). If you haven't created a project yet, please click on the Project tab and NEW, to create a new project. By default projects are created blank (with no services attached), so make sure you have added the "Subversion" service to your new project.



Fig 2: Locating your Subversion access URL. Click Projects -> select your project name (or new if you haven't created one).

3. Ok, now that you have your Subversion access URL, copy-n-paste it. Next you have to map your network drive in your operating system.

3.1 Instructions For MAC:

Click on the background of your desktop -> Go (menu item) -> Connect to Server. Then enter your Subversion URL. You'll then be prompted for you CVSDude username password.
Fig 3: Mapping a network drive on OSX

3.2 Instructions for Windows:

Click on My Computer -> Add a network place -> Next -> Choose another network location -> Next -> Enter the Subversion access URL -> Next -> enter your CVSDude username and password -> OK.


Fig 4: Mapping a network drive in Windows

3.3 Instructions for Linux:

KDE: Open the KDE Run Command dialog and enter knetattach -> Run -> Select WebFolder -> enter your Subversion access URL, username / password, port 443 and your done

Gnome: Open Places -> Connect to Server -> select Secure WebDAV (HTTPS) under service type -> enter your Subversion access URL, username / password, port 443 and your done

Command Line: To access your DAV drive using the Linux Console, you will need to install support for the WebDAV Linux File System (davfs2). More information can be found at http://dav.sourceforge.net

Ok, that's how to setup an "Easy SVN" drive (cloud storage with revision history). Next, we show how those who aren't concerned with keeping a history of file changes, or who may want to limit their online storage requirements by not keeping a record of changes (if you have some very large files for example).

B. Setting up a DAV Network drive (Cloud Storage with no revision history)

To use our Network DAV drive, all you need to do is create a new CVSDude project and add the "DAV" service to that project. If you haven't created a project yet, please click on the Project tab and NEW, to create a new project. By default projects are created blank (with no services attached), so make sure you have added the "DAV-DRIVE" service to your new project.




Fig 5: Creating a new CVSDude project with the DAV-DRIVE service enabled. Cut-n-paste the access URL.

Once you have created your project with the DAV-DRIVE service enabled, grab the access URL, i.e. https://ORG.dav.cvsdude.com/PROJECT_NAME and then map a network drive in your operating system. Please follow step 3 (above) for how to map a network drive in your operating system.
 
If I've missed anything, or you have suggestions, please comment below.

4 Comments Click here to read/write comments

Subversion Visual Studio integration guide

Posted by Mark Bathie on Tue, Dec 01, 2009
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

    This is a guide to help you get started integrating Subversion with Visual Studio and connecting it to a CVSDude hosted Subversion repository. CVSDude uses a popular Visual Studio plugin called AnkhSVN to bring the power of Subversion version control to developers working in the Microsoft Visual Studio environment. Below the video is a written step-by-step guide.



This guide was written for Visual Studio 2010.

Step 1:

Install AnkhSVN

a) Go to the Downloads page and download AnkhSVN

b) Run the Downloaded Installer

c) Open up Visual Studio

Step 2:

Create a CVSDude project and add the Subversion service.

Step 3:

Add Visual Studio to CVSDude Subversion Account

a) Open Visual Studio 2010 and browse to the solution/project that you wish to add to your subversion enabled CVSDude account. Once the solution/project is open, select the solution/project from the Solution Explorer, right click and select "Add Solution to Subversion".

 

Fig 1:  Adding your solution to Subversion

 

b) Enter in the Subversion URL (fig 3) to your repository you created in Step 1. To locate your repository URL (fig 2), login to the CVSDude admin site and click on Projects -> Select your project -> Copy the Subversion URL under the project quickview heading. If you don't see the Subversion URL, then make sure you've added the Subversion service to your CVSDude project.

 

Fig 2: locating your Subversion URL in the CVSDude admin site

 

Fig 3: adding your Subversion URL to Visual Studio

 

c) Enter your username and password and click OK.

d) Enter your commit message

Fig 4: Final step in connecting Visual Studio

 

e) You can now see that all the files have the subversion lock status icons against the files that were added to your repository from the previous step.

Enjoy your coding!

 

Further reading:

For more information relating to the usage of the AnkhSVN plug-in for Visual Studio, see the AnkhSVN documentation

 

 

2 Comments Click here to read/write comments

EngineYard Roadshow Wrapup - Inside Scoop

Posted by Willie Wang on Mon, Nov 23, 2009
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

I recently returned from visiting five cities as part of Engine Yard's Roadshow (read the recap)- Boston, Chicago, Austin, Los Angeles, and Seattle. The focus of the roadshow was on Ruby-on-Rails Performance in the Cloud. So, how is CVSDude related to Ruby on Rails, and why was I invited? I describe that in the article below.

But first, learn more about CVSDude's plans for git and security architecture in the video below.

Rails' performance on the Cloud is not only about application performance, for which Engine Yard provides a fully automated, turnkey solution.  Rails performance is also influenced by the development process itself, that is, the speed at which teams can code and deploy their apps. 

In this regard, CVSDude's Enterprise Source Control solution helps by enabling fast startup times, ensuring high availability to online code repositories, and providing comprehensive security, disaster recovery, and support. 

The internet has opened new opportunities to leverage global teams and collaborate in real time, and the new generation of technology companies are simply less competitive if they don't adopt such services (full disclosure: CVSDude uses nearly all cloud-based apps). During the Roadshow, a number of themes emerged around why Enterprises often stumble in adopting a Cloud-based provider for mission-critical systems. I would like to discuss those below.

Can you Trust the Cloud?

In certain cases, there are legitimate business requirements that will prevent an organization from leveraging the Cloud. But should the rest of us necessarily store all our data on our own locked down laptop with disk level encryption and no internet access? 

No- but before selecting a Cloud vendor, one should ask, does the Cloud vendor have documented, multi-tiered security processes that span every aspect of the service?  Can a cloud vendor have similar if not better security processes than internally hosted systems? 

At CVSDude, we build our systems and processes to deliver the highest level of security that our development team and business experience in serving thousands of customers can produce.  That is why we partner with a SAS-70 compliant hosting vendor and have spent much of the last year upgrading our platform and infrastructure.

Expect the Unexpected- Planning for the 0.1%

As Engine Yard noted, nobody can guarantee 100% uptime. Software and SaaS applications will break at some point. Therefore, even though cloud vendors do their best to achieve perfection, it is incumbent on the prospective customer to ask the tough questions - what support systems and contingency plans has the provider built-in, to ensure that they are prepared for the 0.1% of the time when things do go wrong?

At CVSDude, we have published an industry-first Code of Conduct. In case of any incident, we first ensure that no data is lost or affected on production servers by running extensive tests.

We have built repeatable, quick ways of restoring service.  This is why CVSDude has focused so much of its engineering resources to developing our over-the-top backups features and strategies, and now provide users the ability to recover complete repository backups from the past 100 days.  We also store backups in multilple datacenters (Dallas, Washington DC, Seattle). 

In addition, we architect our system for quick recovery, with redunancy in all areas of our architecture.  The bottom line is, internal hosted data center is not immune to downtime, and I would argue that with vendors, like CVSDude, who focuses all their energy and expertise on Source Control solutions, we have a more reliable system, battle tested, than internal hosted solution.

Fear of Vendor Lock-In

One should always be concerned about whether committing to a particular cloud vendor will leave them at the vendor's mercy (are you "locked-in"?). At CVSDude, our strategy is to leverage open source tools for our platform, making them Enterprise secure, integratable, and supported. A customer who uses our hosted Subversion can easily schedule downloads of their SVN repository dump (backup) files, and reload them on internal servers. 

This means that customers can always migrate their data somewhere else.  Of course, any migration requires effort.  However, with CVSDude's open source-based cloud approach, the cost is less. We believe that by working hard to offer a secure, reliable service, we can earn our customers' trust- a belief that is supported by the fact that we acquire far more customers each month than we lose.  CVSDude compete on offering the best service at the best price, not on vendor lock-in.

Making the World More Productive

As Enterprises make decisions on how to achieve their source control mangement requirements, many have traditionally differentiated between core and non-core assets.  For example, an Enterprise may decide to keep their core software technology assets in house, while using providers like CVSDude to manage non-core developments like web sites, one-off client software, and other web applications. 

What we are seeing in 2009 is that as Enterprise recognize the agility, reliability, security, and cost effectiveness that can be achieved by leveraging the cloud. In doing so, more and more are trusting their core technology to the cloud, which is no doubt helping make the world more productive. At CVSDude, we are looking forward to refine our platform, products, and services to provide better capabilities to serve our customers.

2 Comments Click here to read/write comments

Cloud-Based Version Control Gets Serious

Posted by Guy Marion on Tue, Nov 10, 2009
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

In March 2008, CVSDude released the new FrogSAFE Platform- which has been re-architected to deliver Enterprise-class Subversion and integrated tools in a secure cloud-based environment. 

This week, we are announcing the second phase of our Enterprise expansion strategy by releasing CVSDude Professional Edition. Designed for companies doing mission-critical development using CVSDude, Professional Edition allows customers to leverage cloud-based services, best practices, and best-of-breed open source in implementing their source code management system. 

Enterprise-class reliability. All CVSDude Professional Edition customers are covered by our 99.9% Uptime SLA, backed by 24x7 emergency support. Automatic server monitoring and experienced engineers (based in the US, Europe, India, and Australia) help guard against downtime. Instant-chat support, available through the VIP Room in CVSDude Support, offers direct access in case of emergency. And...all technical staff are full-time employees, bound by Confidentiality Agreements and a positive working environment, to ensure the security of customer code. 

Enterprise-class security. CVSDude Professional Edition exclusive security features include IP-based access restrictions (IP Whitelists), and Organization-wide roles-based permissions management. 

Using the Roles-Based Permissions System, for the first time you to quickly and easily control organization-wide security from our web-based app. You can:

  • Control user or group-based permissions to all CVSDude-hosted apps- Subversion, CVS, Trac, Bugzilla- from our GuardFrog interface. No more fiddling with Trac's obscure interface! 
  • Create unlimited roles (such as "Project Manager", "Developer", or "Collaborator), so that you can quickly add new users and ensure that they fit with pre-defined permissions profiles
  • Scale your team easily with role heritability that conform to the hierarchy in which they are located. This means that can create a "Manager" role, for example, that has different permissions at the Project Level than at the Account level   

Disaster Recovery. CVSDude Professional Edition includes a multi-tiered backup and recovery system that offers over-the-top redundancy schemes. System highlights include:


  • New! Push Backup system, which permits daily, weekly, or monthly scheduled backups pushed to your server of choice
  • Flexibility to push backups using SFTP, rsync, svnsync, Amazon EC2, depending on your preferences and repository size
  • On-Demand access to daily repository compiles (dump files) for the past 100-days
  • Data storage and backups taken in offsite SAS-70 compliant datacenters, and prioritized technical support resources in case of emergency

A Note About Pricing

Having served over 60,000 users since 2002, CVSDude has deep experience in delivering secure CVS and SVN hosting services to small teams through to 600+ user organizations.

Professional Edition caters to an emerging segment of software, consulting, and design companies who regularly use SaaS products (e.g. Salesforce, Google Apps, billing) to run their businesses. They often only have five to 50 employees, but require an Enterprise-class level of service, including SLAs and reliability guarantees, branding flexibility, live support, as well as a more custom service such LDAP authentication integration.

Industry reflections

Jason Seed (CEO) recently noted that in launching Professional Edition, we are "not forgetting the Dudes." This is an important message. We recently surpassed 3,000 customers, and are thankful to have played a role in the rapidly-matured Software as a Service (SaaS) industry. The availability of cloud-based services like Google Apps, Salesforce, and CVSDude is helping this new generation of internet-based companies get up to speed without the huge upfront costs and capital requirements of an earlier generation of startups.

We are now seeing return customers who are using CVSDude in their second or third companies. For example, David Barret, CEO of Silicon Valley-based Expensify ("Expense reports that don't suck!") recently told me that CVSDude is the "first name" that he turns to for version control, after having used it in previously startups, the service has only gotten better.

And it is not uncommon to attend to industry events or universities in the US, Australia, or Europe, and bump in CVSDude developers. 2010 will be the year of building on this web of history- through  online knowledge sharing, summits & meetings, webinars, and of course, many many new features on our FrogSAFE Platform. What would you like to see next?

Please add comments or thoughts below.

0 Comments Click here to read/write comments

Trac and Bugzilla Rolled Out to All CVSDude Customers

Posted by Guy Marion on Tue, Nov 10, 2009
Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

We are pleased to announce that all customers now have access to all CVSDude-hosted applications. This means that existing Developer Edition customers, who previously had a source control-only (SVN or CVS) service, are upgraded (free) to Team Edition. All CVSDude customers can now access:

Trac- the leading open source wiki and issue track tracking tool. Use Trac to create a team, community, or client wiki, or to track jobs, milestones, and task delegation. Trac screenshots

Bugzilla- the popular open source bug tracker. Bugzilla is a hosted database that helps teams assign, track, and resolve bugs and coding conflicts. Bugzilla screenshots

DAV- the Distributed Authoring and Versioning (DAV) is a set of extensions allows CVSDude customers to map their own cloud-based storage using CVSDude. Set up a DAV drive in Windows or Mac, and add large files without using up versioned storage quota

By merging Developer Edition into Team Edition, CVSDude offers three classes of services (see our product comparison table):

  • Team Edition- Affordable Subversion, Trac, Bugzilla hosting
  • Professional Edition- Enterprise-class services with organization-wide security, disaster recovery, flexible integrations & branding
  • Enterprise Solution- custom built plan upon request

We hope all CVSDude customers enjoy the added functionality!

4 Comments Click here to read/write comments

All Posts | Next Page