Tag Archives: DVCS

Ten Helpful DVCS Resources

This is another in our discussion on DVCS and git (see our git category in the right column for more). We see DVCS and git as a major transformation in how software is created. In this post, I want to provide a listing of resources on DVCS. I will list each with a brief description and a link. I hope this is helpful.

Introduction to Distributed Version Control – Simplified illustrated guide that explains the differences, deltas, and benefits between CVS and DVCS. Includes a section providing key concepts in 5 minutes, as well as the advantages and disadvantages of DVCS and links to further resources. By BetterExplained.com.

A Visual Guide to Version Control – General primer on version control. By BetterExplained.com

Centralized vs. Decentralized Version Control: 2010 vs 2012 – A must read blog post and with an excellent review providing statistics on “the great git migration” in process, in the world of development. By Redmonk.

Getting Started with DVCS – DVCS overview guide. By Atlassian

What is Version Control: Centralized vs. DVCS – Blog post on version control with a comparison of centralized vs decentralized version control. By Atlassian

What is Version Control: Diffs and Patches – Blog post that reviews of differences and patches. By Atlassian

Atlassian Ships Major Updates to Distributed Version Control Products, Readies Enterprise for Massive Git Adoption – Press Release by Atlassian about DVCS, Git, Mercurial, BitBucket, SourceTree, and Stash. “Readies Enterprise for Massive Git Adoption…”

git in to Enterprise DVCS – Video (8:49) by Steve Streeting, founder of SourceTree, Atlassian’s free git (and Mercurial) client for Mac describes the advantages of DVCS (vs CVS).

Zero to Hero: Getting started with DVCS – Atlassian Summit 2011 – Video (9.09) discussion on SVN shortcomings, and advantages and ease of a DVCS system/model in code development – be it DVCS hosted (i.e., BitBucket) or Enterprise DVCS on-premise (i.e., Stash).

CVCS vs DVCS and the Pros and Cons of DVCS git – Our post on this blog that covers the basic differences between traditional version control (CVCS) and the newer distributed version control (DVCS) and then discusses the pros and cons of DVCS.

If you have any questions on DVCS and how best to work with git and Stash contact us at: info@appfusions.com.


DVCS git is trending fast in software development futures


RedMonkRedMonk recently posted on Centralized vs Decentralized Version Control: 2010 vs 2012. They mentioned that the inquiries regarding decentralized or distributed version control (DVCS) technologies, such as git, has spiked. RedMonk went on to add that some organizations are considering migrations to such technologies, while others have committed to the move in general, but require data to justify their decisions internally.

gitWe recently covered a tool in this space for the Atlassian community (see Atlassian Stash Powers Enterprise Application Developers with DVCS Git). Stash incorporates the latest and greatest technologies in DVCS source code management and git, allowing you to create and manage repositories, set up fine-grained permissions, and collaborate on code in a secure, fast and enterprise-grade manner. It was released in the Spring of 2012.

In the RedMonk post, they looked at the question of DVCS usage via Ohloh over the past two years. The two most obvious changes from 2010 to 2012 are the decline in CVCS traction (centralized) and the growth of git (decentralized). git’s share, in particular, almost tripled in two years, while CVCS declined by better than 50%.

CVCS vs. DVCS, 2010-2012
CVCS vs. DVCS, 2010-2012

They also presented at chart of the leading repositories. Each decentralized repository, including git, demonstrated growth while the two centralized systems, CVS and Subversion, declined. Second, git substantially outperformed both Bazaar and Mercurial from a growth perspective.

It seems that developers are voting for decentralized git repositories with their feet, or perhaps their keyboard/mouse.

RedMonk showed further data that indicates there is still room for more growth for git. If you look at the absolute numbers, rather than growth, centralized repositories are still in the lead. Their data show that while nearly a third of all projects are now employing DVCS, versus 14% two years ago, almost 70% of projects remain in centralized version control (CVCS).

RedMonk concludes the git is the clear winner over the past few years.

Stash - git repository managementIn line with this trend, Atlassian Stash – Atlassian’s behind the firewall git repository manager – is gaining good traction in the market, as can be expected. BitBucket, their SaaS DVCS offering (supporting both git and Mercurial) is also growing fast – both being yet more alignment to this growing trend.

Source Code Importer for Atlassian StashAppFusions, in further support of this trend, has recently released a Source Code Importer for Atlassian Stash, that is available at the Atlassian Marketplace now. This importer significantly decreases the challenge of migrating SVN to git for use with Stash.

Check it out!

Atlassian Stash Powers Enterprise Application Developers with DVCS Git

Jens Schumacher, Group Product Managerm Atlassian Development Tools

I have written about Atlassian on this blog (see for example: Atlassian Makes Significant Moves into the Enterprise Market). In this post, I focus on Atlassian Stash. It provides Git repository management for Enterprise teams behind the firewall.

I spoke with Jens Schumacher, Atlassian’s Group Product Manager for developer tools. These tools include: Bamboo, Crucible, Fisheye, and Stash. Bamboo provides continuous integration and release management. Crucible supports code review and Fisheye allows you to search out source code artifacts of various source code management flavors and browse commits, files, revisions, or related people. It also integrates seamlessly with JIRA.

Enter Stash! Stash incorporates the latest and greatest technologies in DVCS source code management and Git, allowing you to create and manage repositories, set up fine-grained permissions, and collaborate on code in a secure, fast and enterprise-grade manner.

Jens continued, providing me more background on the development of Stash.

Stash is the latest in Atlassian’s developer tools suite and was released in the Spring of 2012. Atlassian’s existing developer tools are already quite popular in development houses, but still the developers wanted more. They wanted to be able to host code in their own repository behind the firewall.

More – engineers are always pushing the envelope: they wanted Git support, a massively popular and growing DVCS approach used in code development and management these days.

To cleanly meet this need in both a tool and extensibility, Atlassian decided to build Stash from scratch including a ground up extensible API approach, rather than on top of their existing tools.

Stash incorporates code review into the development workflow so the new code gets properly reviewed before it is merged with the existing source code.

To facilitate development, Stash allows developers to set up branches, where code changes can be made in isolation and reviewed before being integrated with the mainline. This separation makes development of new features less complex.

You can easily have new code reviewed while incorporating automated testing tools as well. Stash facilitates the merging of reviewed code into the core source code. This concept of a separate workflow for development is popular with open source efforts and Atlassian has now taken a leading industry position with the Stash offering, enabling this capability inside the firewall.

Integration efforts with Stash are already supported in a number of ways.

  • Per Jens, 80% of the Fortune 500, as well as many many smaller firms, use Atlassian JIRA for issue tracking.Stash is fully integrated with JIRA so you can link code in Stash to a JIRA ticket and track the progress of changes.
  • Stash also natively integrates with enterprise user directory systems, such as Active Directory or LDAP, to make deployment easier within the enterprise.In addition, again, Stash was built with an extensive REST API to make information within Stash easily integrate-able with other tools.

Jens gave me a simple use case. Their customers often want to migrate content from one repository to another or from the cloud to within the firewall. Stash can automate aspects of this common process to simplify the effort.

In the future, Stash will be enhanced with more branch permission capabilities to better ensure that all code gets reviewed before it is merged into the core source code. They are also working hard on scalability requirements to better serve their many large customers. Currently, Stash supports up to 500 user licenses. Finally, they are working on adding enhanced collaboration capabilities for code review.

Jens noted that Atlassian has a massive ecosystem. This is helpful as there already are a number of add-ons for Stash. For example, there is a badge add-on to acknowledge developers’ efforts and skills. Another is a chart add-on to provide statistics. AppFusions built a Stash commenting add-on for Atlassian’s annual CodeGeist competition. Also, add-ons are available to help with different workflows that organizations have in place.

On top of all that, Atlassian’s very popular SourceTree DVCS client further removes DVCS source code tool complexity, and is used to support and guide the process of adding new workflows with proper controls within branching efforts, among other.

Customer response has been very positive since the release of Stash earlier this year. The timing was right for the release, as developers were ready for it.

Jens’ team is now providing new releases every 7 – 9 weeks, with many of the new capabilities coming from customer input.

New needs are always arising in enterprise software development efforts, and many organizations and third party developers want to tackle these needs. Stash provides enhanced support for these efforts.