Showing posts with label DVCS. Show all posts
Showing posts with label DVCS. Show all posts

Wednesday, May 01, 2013

Git 101 - Beginners guide to groking [command line] Git

DZone - Git Explained: For Beginners

I’m working with Git now for about two years but only for my personal projects and those I have on GitHub. At work we still use TFS and SVN (as of now). Recently Paolo Perrotta came to our company to hold a course about Agile planning and since Git was quite new to most of my mates, he also quickly explained Git in the context of refactoring. I really liked his approach of explaining it and that’s why I’d like to replicate his explanation here.

Just before we start..

How is Git different from other VCS (Version Control Systems)? Probably the most obvious difference is that Git is distributed (unlike SVN or TFS for instance). This means, you’ll have a local repository which lives inside a special folder named .git and you’ll normally (but not necessarily) have a remote, central repository where different collaborators may contribute their code. Note that each of those contributors has an exact clone of the repository on their local workstation.

Git itself can be imagined as something that sits on top of your file system and manipulates files. Even better, you can imagine Git as a tree structure where each commit creates a new node in that tree. Nearly all Git commands actually serve to navigate on this tree and to manipulate it accordingly.  Git is just as legitimate in the enterprise as any other VCS.
As such in this tutorial I’d like to take a look at how Git works by viewing a Git repository from the point of view of the tree it constructs. To do so I walk through some common use cases like

  • adding/modifying a new file
  • creating and merging a branch with and without merge conflicts
  • Viewing the history/changelog
  • Performing a rollback to a certain commit
  • Sharing/synching your code to a remote/central repository




Great introduction to Git for those who want to grok it and it's original command line usage...

Wednesday, January 30, 2013

TFS also gets Git too! As in real Git repositories today in TFService, next TFServer will have it too...

Brian Harry’s blog - Git init VS

Today at the ALM Summit I made a bunch of announcements.  A couple of them warrant a bit of extra comment

Today, I made 2 announcements involving TFS, VS and Git.

  1. Team Foundation Server will host Git repositories – and more concretely, Team Foundation Service has support for hosting Git repositories starting today.
  2. Visual Studio will have Git support – and concretely, we released a CTP of a VSIX plugin for the Visual Studio 2012 Update 2 CTP today.

That’s right, TFS & VS support a full fidelity implementation of Git.  Although this comes as kind of an abrupt announcement, it’s been a long time in the making.  We started talking about having DVCS support for TFS a year or more ago.  I even mentioned at the end of this post over a year ago that DVCS was in our future.  After a few months of investigation (in the middle of working on TFS 2012), we concluded that adding Git support was the right approach.  As I write this, I’m wondering what the reaction among our customers will be but I can say the reaction inside my own team when we first proposed this was quite mixed.  There were certainly plenty of people who wanted to “build a better DVCS system” or integrate DVCS workflows into the existing implementation.  There were others who were concerned about open source and lack of “control” issues.  But, the more we looked at it, the more it looked like the right thing to do.

This post is going to be a bit of a weird post.  I’m going to structure it as a bit of a Q&A to address many of the questions that came up for us and I’m guess some that will come up for readers.  I suspect this post is going to be the beginning of a conversation.  I’m going to be doing a Reddit Ask Me Anything session on Friday if you want to come along and chat about it.

  • Why are we adding DVCS to TFS?
  • Why are we incorporating Git?
  • Does this mean Team Foundation Version Control (TFVC) is dead?
  • But isn’t Microsoft against open source?
  • So is there anything special about our solution?
  • When is this shipping?

“This” has many piece so let’s talk about each one in turn:

  • Team Foundation Service – As of today you can host Git repos in TFService projects.  It is “shipping” now and ready for use.  We still have lots more capabilities to add but it’s ready to use for real.
  • Team Foundation Server – Our plan is to include Git support in the next major release of TFS.  No date has yet been announced.
  • Visual Studio 2012 support – We provided a VSIX today.  It is a “community technology preview” of the Git VSIX on top of a “community technology preview” of VS 2012 Update 2 (VS2012.2).  We’re very pleased with the performance/stability of it but it is not yet officially “go-live”.  You are welcome to try it out but it is a preview release for evaluation, so be aware that there may be issues.  We’ll be releasing updates about every 3 weeks and you should expect it to converge fairly quickly.  I don’t know at this time when it will “RTM” but I expect it to have a “go-live” designation before too long.
  • Visual Studio V.Next – Our Git plugin will be integrated into all editions of Visual Studio V.Next (including Express) and will appear in the various pre-releases and RTM.
  • Older versions of VS & TFS – At this time, we are not planning to include Git integration in older versions of VS or TFS.


Double wow. Seems like they are all in for Git?

Related Past Post XRef:
Visual Studio Gets Git (Visual Studio Team Explorer can talk Git)

Visual Studio Gets Git (Visual Studio Team Explorer can talk Git)

Channel 9 - Git Support Added to Visual Studio and TFS

Martin Woodward dropped in to the studio to share the news that Git is now fully integrated as part of Team Foundation Service and Microsoft has released the Visual Studio Tools for Git. You can now choose which source control system you prefer, either the centralized workflows provided by Team Foundation Version Control (TFVC) or the distributed workflows provided by Git - while maintaining the same integrated experience provided by the Visual Studio ALM tools. You can also connect to any Git repository straight from within Visual Studio using the new Visual Studio Tools for Git.

In this short video, Martin takes us on a lightning tour of these new capabilities...

Visual Studio Tools for Git

The Visual Studio Tools for Git is an extension for Team Explorer that provides source control integration for Git.  This extension enables integration with any local Git repository, and it provides tools to work with third party hosted Git repositories. The extension also enables the use of Team Foundation Service hosted Git projects.


Integration with Projects and Solutions

Integrates with Visual Studio projects to automatically track changes to your active solution. Shows file status in Solution Explorer, and uses context menus to issue source control commands like Commit, Compare, and Undo.

Team Explorer Integration

Connect page

Changes page

Commits page
Branches page
Other features
  • Compare files using the integrated diff tool
  • Resolve merge conflicts using the integrated 3-way merge tool
  • View file and branch history (log)
  • View details for commits

Wow... Damn does this mean I have to finally get into Git

Tuesday, January 08, 2013

Get the new Git if you're using it to get from Team Foundation Service...

Brian Harry’s blog - Git-TF 2.0.1 Released

Today we shipped a new binary release of the Git-TF tools.  We did a deployment of the Team Foundation Service yesterday and one of the things that changed was the way that we do basic authentication.  We are currently doing some work to make talking to TFS easier, this will help people building clients for TFS – especially as we support basic authentication over HTTPS if you have enabled alternative credentials.  However, one of the issues with basic authentication when we started doing a bit of testing is that some clients require the basic authentication realm to be set.  We didn’t have one set and so not every tool could authenticate with our services, so we have now added one.

Unfortunately this broke Git-TF 2.0 from talking to hosted.  The problem was that the TFS SDK for Java assumed that there was not going to be a realm as there never was one before on our hosted server and so it ran into a problem when the realm was added.  We updated the TFS SDK for Java (and also Team Explorer Everywhere) at the end of last year.  We also wanted to update the binary release of Git-TF which has a dependency on the TFS SDK for Java but we ran into some last minute difficulties getting the build out the door and it only just arrived this morning – very sorry about that.  If you are using Git-TF to talk with your account then you will want to upgrade to this latest version ASAP.


While not a Git'er myself yet, given I do a twice a month TFS podcast, RadioTFS, I thought this pretty important to share...

Monday, August 13, 2012

TFS gets GIT with git-tf

Brian Keller - Announcing kanban and git-tf for TFS


The second new capability is designed to help combine the local repository offered by Git with the integration application lifecycle management solution offered by Team Foundation Server.

Git-tf is a new cross-platform bridge which was announced today and allows developers to combine the local repository capabilities of Git with the integrated application lifecycle management tooling of Team Foundation Server.

Now you can use a Git repository locally, and when you're ready to, check in code to TFS. You can even continue to take advantage of integration between work items (such as bugs and requirements) in TFS when you want to enable end-to-end traceability of the relationship between your work and your code changes. This bridge is a cross-platform tool built with Java, so it runs on many operating systems, including OS X, Linux, and Windows. This means that you can use Git clients (such as Xcode) and maintain the ability to check code into Team Foundation Server.


Brian Harry’s blog - Announcing Git Integration with TFS

"Distributed Version Control (DVCS) has a growing following. It enables a set of workflows that can be very handy and Git is an increasingly popular DVCS solution. Today, we are announcing Git-tf, a solution that enables you to work locally with a Git repo – edit, commit, revert, branch, merge, etc. and then “sync up” with a central TFS repository. In this way, you can have the best of both DVCS and TFS.

Git-tf works great in hybrid teams. You may have a TFS project that’s been running for a while. Most of your dev team is using our Visual Studio or Eclipse integration and perfectly happy. At the same time, you’ve got a few people who want or need to use Git. Maybe they are the XCode developers on the team and they like the native Git integration in the XCode IDE. Git-tf allows them to work with XCode’s Git integration and collaborate with other team members through TFS.

The integration takes the form of a new command line tool called “Git-tf”. Git-tf works with a standard Git install and getting started is super easy. Just visit our download page and checkout Git-TF_Getting_Started.html. Installing Git-tf is as simple as unzipping the Zip. At the moment Git-tf won’t work with Team Foundation Service – it will only work with an on premises TFS server – either 2008, 2010 or 2012. However we are working on adding support for Team Foundation Service and I expect it will be available in the next sprint deployment.


Channel 9 Visual Studio Blog - Announcing git-tf: Combining the local repository of Git with the integrated ALM of TFS


Git-tf is a new cross-platform bridge which was announced today and allows developers to combine the local repository capabilities of Git with the integrated application lifecycle management tooling of Team Foundation Server.

Now you can use a Git repository locally, and when you're ready to, check in code to TFS. You can even continue to take advantage of integration between work items (such as bugs and requirements) in TFS when you want to enable end-to-end traceability of the relationship between your work and your code changes. This bridge is a cross-platform tool built with Java, so it runs on many operating systems, including OS X, Linux, and Windows. This means that you can use Git clients (such as Xcode) and maintain the ability to check code into Team Foundation Server.

In this video, Matthew Mitrik, a program manager on the Team Foundation Server team, shows off this new capability.

Source Code:


Microsoft Downloads - Microsoft Git-TF for Visual Studio Team Foundation Server 2012

Git-TF is a set of cross-platform, command line tools that facilitate sharing of changes between TFS and Git.

Quick details

Version: 1.0
Date published: 8/13/2012

Language: English

Git-TF_GettingStarted.html, 17 KB, 12.5 MB
license.html, 24 KB
ThirdPartyNotices.html, 30 KB


Git-TF is a set of cross-platform, command line tools that facilitate sharing of changes between TFS and Git. These tools allow a developer to use a local Git repository, and configure it to share changes with a TFS server. Using the tools, changes made in TFS can be pulled into a local Git repository, and changes made in the Git repository can be checked in to TFS. These tools can be used by individuals or teams collaborating using Git. By downloading the tools from the link below, you accept the Git-TF for Visual Studio Team Foundation Server 2012 license agreement.

Git-TF: Getting Started Guide

Git-TF V1.0

About the tools

Git-TF is a set of command line tools that facilitate the use of a local Git repository with TFS. These tools make it easy to clone sources from TFS, fetch updates from TFS, and to update TFS with changes committed locally in Git.

Release notes

The shelve command is still in development. The command should not be used with production data until it is updated in a future release.


Supported Platforms

Git-TF is supported on the following platforms:

  • Windows 7 (x86, x64), Windows Vista, Windows XP SP3
  • Linux with GLIBC 2.3 to 2.11 (x86, x86_64, PowerPC)
  • Mac OS X 10.5 to 10.6 (PowerPC, Intel)
  • Solaris 8, 9, 10 (SPARC, x86, x86-64)
  • AIX 5.2 to 6.1 (POWER)
  • HP-UX 11i v1 to v3 (PA-RISC, Itanium)
Supported TFS Versions

Git-TF is supported for use with the following versions of TFS (servers):

  • Team Foundation Server 2012
  • Team Foundation Server 2010
  • Team Foundation Server 2008

Any of the following versions of the Java runtime (latest versions available from

  • Sun Java™ 1.5 to 6, or IBM Java™ 1.5 to 6 on Microsoft Windows
  • Apple Java™ 1.5 to 6 on Mac OS X
  • Sun Java™ 1.5 to 6 on Linux or Solaris
  • IBM Java™ 1.5 to 6 on Linux or AIX
  • HP Java™ 1.5 to 6 on HP-UX

It is recommended that the latest version of Git is installed as well. It is not strictly needed to use Git-TF, but it will be useful in working with the local repository created by the tools. Information about the latest Git downloads can be found on:

Installing Git-TF
  1. Extract the contents of to a folder on your local machine, i.e. C:\git-tf on Windows, or /user/git-tf on Mac/Linux.
  2. Add the path where you extracted Git-TF (i.e. C:\git-tf) to your PATH environment variable.
  3. Add the path where java.exe is installed (i.e. C:\Program Files (x86)\Java\jre7\bin) to your PATH environment variable.


I've been hearing some rumbling about TFS and GIT, I wonder if this was it? Anyway, this the best of both worlds or a Franken-beast? I'm going to say that I'm glad to see this and I 'm glad to see Microsoft and the TFS team trying to embrace DVCS.

Oh, you did catch that the source for git-ts is available (well, is in the processing of becoming available) too, right? I actually think that's the coolest thing about this...

Saturday, June 09, 2012

"Git Succinctly" Free/reg-ware PDF/Mobi ebook)

Syncfusion - Git Succinctly

"Are you looking for a new version control system? Perhaps what you're using now is too cumbersome, or you just want to try something new to manage a pet project. With Git Succinctly by Ryan Hodson, you can get up and running with one of the fastest-spreading revision control systems out there. Complete with vivid diagrams, clear code samples, and a careful walk-through of primary features, this free e-book is your quick guide to how Git operates, what its advantages are, and how you can incorporate it into your own workflow.

Git Succinctly will teach you:

  • How to install and configure Git
  • How to create and clone repositories
  • How to use the staging area to organize and manage your commits
  • How to create, manage, and merge branches
  • How to interact with remote repositories

Table of Contents

  1. Overview
  2. Getting Started
  3. Recording Changes
  4. Undoing Changes
  5. Branches
  6. Remote Repositories



If you're trying to get Git this free ebook might be a cool resource for you...


Related Past Post XRef:
jQuery Succinctly - Free eBook (reg-ware, PDF and/or Mobi)

Monday, May 21, 2012

Phil gets Git out - GitHub For Windows v1 Released

You've been Haacked - Introducing GitHub For Windows

For the past several months I’ve been working on a project with my amazing cohorts, Paul, Tim, and Adam, and Cameron at GitHub. I’ve had the joy of learning new technologies and digging deep into the inner workings of Git while lovingly crafting code.

But today, is a good day. We’ve called the shipit squirrel into action once again! We all know that the stork delivers babies and the squirrel delivers software. In our case, we are shipping GitHub For Windows! Check out the official announcement on the GitHub Blog. GitHub for Windows is the easiest and best way to get Git on your Windows box.


If you’re not familiar with Git, it’s a distributed version control system created by Linus Torvalds and his merry Linux hacking crew. If you are familiar with Git, you’ll know that Git has historically been a strange and uninviting land for developers on the Windows platform. I call this land, Torvaldsia, replete with strange incantations required to make things work.

Better Git on Windows

In recent history, this has started to change due to the heroic efforts of the MSysGit maintainers who’ve worked hard to provide a distribution of Git that works well on Windows.

GitHub for Windows (or GH4W for short) builds on those efforts to provide a client to Git and GitHub that’s friendly, approachable, and inviting. If you’re a Git noob, this is a good place to start. If you’re a Git expert on Windows, at the very least, GitHub for Windows can still be a useful part of your workflow. Just visit and click the big green download button.

In this post, I’ll give a brief rundown of what gets installed and how to customize the shell for you advanced users of Git.


Github Blog - GitHub for Windows

GitHub for Windows is a 100% native application that will run on Windows XP, Vista, 7 and even the pre-release Windows 8. Included in the application is a complete installation of msysGit making this the single best way to start using Git on Windows.

Discover, Create and Share

GitHub for Windows is the easiest way to manage your repositories on Clone your repositories right from the app or clone directly from with the new Clone in Windows button.


Under the Covers

The application is written in C# and uses a ton of great open source projects, many of them hosted on GitHub.

  • libgit2 provides a beautiful and fast API for Git repositories and we take advantage of the stellar C# bindings.
  • msysGit fills in the gaps and lets us provide a fully functional version of core Git to distribute with the application.
  • We love PowerShell and have bundled Keith Dahlby's amazing posh-git.
  • We've mashed up the elegant Caliburn.Micro with ReactiveUI to provide a responsive interface and to allow for greater testability.
  • The Reactive Extensions (Rx) for .NET provide the ability to compose asynchronous and event-based code using observable sequences and LINQ-style query operators.
  • Local README rendering is provided courtesy of the Chromium Embedded Framework and the C# bindings.
  • We make heavy use of the GitHub API v3 and leverage James Newton-King's Json.NET and John Sheehan's RestSharp.


GitHub For Windows


Pointy-clicky, me likey...

This does look like a drop dead easy way to get going with Git on Windows. If you haven't got it, Git it...

Thursday, May 17, 2012

DVCS isn't just for OSS anymore... Enter the DVCS Enterprise [Must not insert 1701 joke here...]

InfoQ - Distributed Version Control Systems in the Enterprise

"Every major Open Source project worldwide has already embraced Distributed Version Control Systems (DVCS), will enterprises be next?


Circa 2004 the world of version control (we can also call it Software Configuration Management (SCM), and while it is not exactly the same, most pragmatics among us will say they’re quite close) lived in a status quo. Version control had reached the point where it was just a commodity and the goal was to have one, no matter which one.

ALM Packages (Application Lifecycle Management) that wrapped version control were the ones delivering the core value to the projects, especially in the enterprise. The trend was management oriented, process driven and control centric.

And then everything turned upside down.

The Linux Kernel hackers needed a new version control system and they begged their ├╝ber-guru, Torvalds, for a solution. Git was created, a hacker oriented tool to deal with the fast-changing, collaboratively-developed Linux Kernel sources.

With this, version control switched from commodity to productivity booster; The revolution had begun.

What is distributed all about?

Simply put: DVCS moves the project versioned repositories from a central location into each developer’s machine.


The enterprise question: why should I care?

So far the main benefit of DVCS seems to be getting rid of the central server and hence the potential slow networks across the Internet. What’s the benefit here for the enterprise?

Most enterprise developers will think, "Well, I work on a 1Gbps LAN connected to the main version control server. The connection speed is so high that the network time is not even in the equation, and I benefit from the server huge processing power to make all my version control operations fast". They’re right, since that’s the main reason behind client-server architectures and even the cloud, ultimately.

But, the situation described above doesn’t always match reality, at least not for many software development teams in enterprises. The reasons are:

  • Having teams in different locations collaborating with each other is more and more common. It doesn’t just happen in big companies, even a 30 developer team can be distributed across different locations in different cities, countries or even continents. It sounded close to science fiction decades ago, but it is today’s reality.
  • Companies struggle to find talent and more often than not they hire the best developers wherever they live. Working from home, is also a reality enterprises face.
  • Outsourced teams in separate locations, sharing some of the requisites of internal distributed teams but normally imposing strict access policies to the repositories to keep projects coordinated.

What can DVCS do here? Let’s consider the case of a team with members in different locations as Figure 6 shows. There is a main site, where the central version control server is located, probably the first existing location in the company. Developers have a fast network there, and they’re happy working centralized.

Then there’s a second site, with more developers, connected to the main site through a VPN across the Internet. While their local network can be even faster than the one at the central site, they’re frustrated by the time version control operations take since each roundtrip has to go to the distant central server.

Then there’s the developer working from home, with a network connection that can be at times slow and unreliable.

Two thirds of the sites are losing productivity and motivation due to the centralized setup.



You know what? If we could just get businesses and enterprises finally off of SourceSafe I think we'd have a win, let alone onto something like a DVCS (I think . That said, if you have a distributed development team, DVCS should be something you take a long hard look at. If you are all in the same building, on the same network, I personally think DVCS is overkill. Sure it's the new shiny and all and that's one reason I hesitate... Remember when the new shiny was PVCS? Then CVS? Then SVN? Now it's Git. What will it be tomorrow? [Insert grumpy old man, "who moved my lawn, get off my cheese..." statement here].

Yet another way to look at this change is that's it's agile like continuous improvement (that and if you can't handle continuous change, being a dev is the wrong thing to be...). in the end, when all is said and done, if I had dev's outside of the building, I'd look long and hard at DVCS... It does look like the right (well right'er anyway) tool for the right job.

Thursday, March 22, 2012

CodePlex gets Git! (and Metro'ized too)

bharry's WebLog - The Future of CodePlex is Bright


We intend CodePlex to be the premier site for open source development – particularly for anything related to Microsoft platforms. It’s clear that in the past few years CodePlex has suffered some from lack of care and feeding and the result is that it has fallen behind some of the alternatives. So as we began to layout a roadmap for the future, it became clear that priority #1 is to demonstrate that CodePlex is alive and kicking and we are committed to evolving the service in a direction that our community loves.

So, the first task is to take a look at the CodePlex community feedback. As you can see, the #1 most requested CodePlex feature is Git support. Today, we are unveiling Git support on Codeplex (alongside the existing TFS and Mercurial support). To demonstrate the lack of momentum in recent years, if you look closely, you’ll see that suggestion has been there since 2008. I’m very happy to say that we plan to be much more responsive and you can expect us to continue to work actively on the list of suggestions. I’m not promising we’ll do them all nor that we’ll work precisely in the order of the voting but we will be working to make CodePlex a site you love.

You can read more about the Git support we are introducing today. It is live and you can create your new Git based CodePlex project now.

As we are rolling out the Git enhancements, we are also putting the finishing touches on a new look and feel for the CodePlex site to give it a more modern look that is pleasing to they eye. I’ve included a screenshot here to give you some flavor for the style we are looking at. The design isn’t finished but you should see a draft of it go live on the site in the next few weeks. After that we’ll iterate based on feedback.



Great to see CodePlex move solidly forward like this. Nice!


Related Past Post XRef:
CodePlex expands source control options with distributed version control support (DVCS) via native Mercurial support

Wednesday, January 11, 2012

Getting Going with Git (and GitHub) Resource Round-up

Code Climber - Getting started with Git and GitHub

Now that Subtext, the blogging engine I’m working (or at least I should) on together with Phil Haack, has been officially moved to GitHub (guess the reason why), I finally have a reason to really study git and github.

I already tried starting a few years ago, and even used it a bit lately to work on the conference site (here the conf-oo github repo), but never really studied in depth, and still didn’t fully get the key differences between a traditional source control and a distributed source control.

So I asked around and found some good pointers.

Think Like (a) Git

The most recommended pointer I got is the Think Like (a) Git website, a self-proclaimed “Guide for the perplexed”. It’s a pretty nice tutorial covering all the key concepts of Git.

It also comes with a slideshow and an all-in-one page if you want to print it or PDFize it.

ProGit book and site

The second most popular recommendation I got is the Pro Git book from Apress. The thing that differentiate it from other books is its widespread usage of visuals and samples.

The cool thing is that, while still being a paper book and having a Kindle version, both released on 2009, there is also a Creative Common licensed ebook (PDF, Mobi, ePub) and also available for online reading.

The “code” for the book and his images is available on github and is updated with fixes coming from readers.


Other Git books


Cheat sheets


The GitHub Flow


Some other useful links



Seems like all the kids these days are Git'ing, and this round-up looked like it had a bunch of cool information...

Tuesday, August 30, 2011

GIT Cheat Sheet (and some version control best practices too on page 2) - Git Cheat Sheet & Version Control Best Practices


Here's a snap;


The version control best practices are the common sense ones, but then again, common sense sometimes isn't all that common...

  • Commit Related Changes
  • Commit Often
  • Don‘t Commit Half-Done Work
  • Test Code Before You Commit
  • Write Good Commit Messages
  • Version Control is not a Backup System
  • Use Branches
  • Agree on a Workflow

Wednesday, August 24, 2011

A Git on-ramp for .Net Devs

Code Inside - Entrance into Git for .NET Developer

"If you want to be hip at the Source Control administration you have to take a look on Git or other peripheral Source Code administrations. Git is the most celebrated agent. That the subject DVCS (peripheral version administration) will be Mainstream in the world of .NET world is a fact since the comment of Brain Harry to the next TFS (responsible for the TFS at the Microsoft Corp.):

“I’m certain that about this time, I bunch of people are asking “but, did you implement DVCS”. The answer is no, not yet. You still can’t checkin while you are offline. And you can’t do history or branch merges, etc. Certain operations do still require you to be online. You won’t get big long hangs – but rather nice error messages that tell you you need to be online. DVCS is definitely in our future and this is a step in that direction but there’s another step yet to take.”

For this blogpost it is important, that I only started working with Git so it’s possible that some facts aren’t true. But of course you are welcome to adjust me in the comments below. If you need some more help than take a look at the help side of GitHub.

So let’s have a start….


One of these days I really need to get around to Git... DVSC seems to be a strong contender for the future main stream direction version control, with even reportedly, TFS.Next getting some DVCS like features. hum...

Sunday, August 14, 2011

"Version Control By Example" free dead tree version... as in hold in your hand, free (you don't even have to pay for shipping), printed book

Eric Sync - Free Printed Copies of "Version Control by Example"

"The printed copies of Version Control by Example arrived last week. We moved seven tons of books into our fourth-floor office space and all the tenants on the third floor are still alive.

Now that we have lots of copies, I want to give a bunch of them away.

How do I get one of those free books?

Fill out our book request form at:


Do I have to pay for shipping?


What if I'm outside the United States?

No problem.

I'd prefer to pay for the book. Will the request form accept a credit card number?


Don't you at least have a tip jar?



Why are you giving away books?

Because I want to make this content accessible to more people. Some people like paper. Not everyone reads blogs.



I don't know about you, but I find it hard to read technical books in ebook form. I page around, flip back and fourth, highlight stuff, etc., etc. enough that reading them in PDF or on my Kindle just doesn't work well for me. So while I've already got the PDF version of this book, when I saw that I could get a dead tree version free, as in free, I was a form filling out fool... ;)

I had to laugh at both this post and the form. Go fill it out and you'll see what I mean. Not the usual "marketing" type question phrasing... lol


Related Past Post XRef:
“Version Control By Example” - Free ebook from Eric Sync (Think “226 pages focusing on DVCS, GIT, Mercurial, Veracity and SVN”)

Monday, August 01, 2011

Veracity, do we need another DVCS? (Hint "Yes, because there's still room for innovation for the 3G VCS's...")

Eric Sync - Why Another DVCS?

"The first reaction from many folks when they see Veracity is to ask us why we built another DVCS. Having responded to this question many times now, I have finally learned that it is actually two different questions.

Some folks are trying to ask the following question:

How is Veracity different from Git?

The chart on the front page of contains some answers.

However, other folks are trying to ask this question:

Eric, you clueless idiot, what recreational pharmaceutical were you smoking when you decided to build yet another DVCS that has no chance of survival because Git has won and all other tools will eventually be crushed under the weight of the awesomeness of Torvalds and his disciples?

This question requires a somewhat different answer.



Oh geez. That picture turned out to be somewhat ruder than I intended it. Let me clarify a thing or two:

  • I mean no criticism here of Git. It's an outstanding piece of software in many ways.
  • Any criticism of Git's fans or users is intended to be constructive, accompanied with much brotherly love and support.

Seriously, Git fans, you and I are on the same team here. We're DVCS fans.

But, well, sometimes when I meet some of the more evangelistic Git fans, I just want to tell them to get out more. See a broader perspective.


That Venn diagram made me snort laugh and had all the animals looking at me funny (which is a fairly usual occurrence, but that's beside the point). PLEASE understand that it's a joke, to get a laugh, make a point and maybe snap you out of your "Case of the Monday's..." (I know that that is apparent given how over the top it is, but you never know).

I think DVCS's are an interesting idea and am keeping an eye on them and their progress...


Related Past Post XRef:
“Version Control By Example” - Free ebook from Eric Sync (Think “226 pages focusing on DVCS, GIT, Mercurial, Veracity and SVN”)
Different POV's of DVCS

Monday, July 25, 2011

“Version Control By Example” - Free ebook from Eric Sync (Think “226 pages focusing on DVCS, GIT, Mercurial, Veracity and SVN”)

Eric Sync - Version Control by Example


About the book

This book uses practical examples to explain version control with both centralized and decentralized systems. Topics covered include:

  • Basic version control commands and concepts
  • Introduction to Distributed Version Control Systems (DVCS)
  • Advanced branching workflows
  • Strengths and weaknesses of DVCS vs. centralized tools
  • Best practices
  • How distributed version control works under the hood

Featuring these open source version control tools:

  • Apache Subversion
  • Mercurial
  • Git
  • Veracity

Here my usual PDF snap (so you can get a feel for the contents and proof that it’s downloadable  ;)


(via Eric Sink - Version Control by Example)

Tuesday, June 21, 2011

Mercurial Cheat Sheet

SADev (Robert MacLean) - Mercurial Cheat Sheet

"I am a fan of ALM (application lifecycle management) and an awesome source control tool is Mercurial. It has plugins for VS, Windows (Tortoise HG) and a command line. I use the command line a lot but can’t remember all the commands so below you can find an easy cheat sheet for all the Mercurial commands:



I thought this an interesting cheat sheet layout...


Related Past Post XRef:
Different POV's of DVCS

CodePlex expands source control options with distributed version control support (DVCS) via native Mercurial support

Getting Visual Studio to Get GIT
Get GIT – The “Getting Started with Git” DZone Refcardz

Friday, March 11, 2011

Different POV's of DVCS

Bill Wagner - Distributed Version Control: My reasons for using it

"Distributed Version Control (DVCS) is generating lots of interest, buzz, and rhetoric. You’ve heard of Git, Mercurial (Hg), and Bzr. You’ve probably been told that all the cool kids are using it. Unfortunately, for these tools, and you, too often the proponents of these tools do a terrible job of explaining the benefits (at least in my opinion). This post explains why I like DVCS, from several perspectives. I’ve used Bazaar in the past, and have switched to Mercurial for the past several months.
If I get to choose the version control for a project, I will choose Mercurial. The rest of this post explains why.

The ‘D’ in Distributed Version Control

As a Developer
As a Project Lead
As a Company Owner
DVCS is one of the current high emotion dev meme's recently circulating and one I've not really understood. I've been happy with my central server based VCS and just didn't see what DVCS bought me. Now, after reading Bill's post my understanding the "why" of DVCS is better. I now see why its getting some of the excitement it is. Am I running out and dropping my current VCS? Nope, at least not today... But it's sure got me thinking...

Wednesday, January 05, 2011

4/2011 is? The end of mainstream/free support for SourceSafe… Use this as a kick-in-the-butt to move to a modern version control solution.

MSDN UK Team blog - End of support for Visual SourceSafe

“Don’t forget that mainstream support for Microsoft Visual SourceSafe ends in April 2011. After this date you’ll still be able to access extended (paid for) support, as detailed in this Microsoft Support Lifecycle blog post.

There’s also a wealth of Visual SourceSafe information at your fingertips on MSDN, and if you’d like to find out about migrating from Visual SourceSafe to Team Foundation Server, register for our LiveMeeting on 8th February.[GD: Post leached in full]

I know many of you are going to roll your eyes at this, laugh and say, “BFD, NO one uses that any more do they?” And then there’s going to be many of you, probably business/corporate/etc. dev’s, who secretly say, “Oh, I guess we better finally move off of SourceSafe…”

I know you’re out there. I know that VSS has worked well enough for you to get the job done. Well enough that you couldn’t convince Management/Business Owners/etc. to invest the time to migrate to a modern version control system.

NOW is your chance! Use the end of free VSS support as the lever, ammo, power-up, whatever to migrate off it.

You can do it. It might be painful moving to a new version control system, but if you’re still on VSS, after moving any modern system you’ll probably wonder why you waited so long. VSS has it’s day in the sun, but that day is over… It’s time to join the

You say, “but I’m still supporting VB6 code!” (sigh… Yeah, me too). So? TFS works great for VB6 code (been there, done that and loving using TFS to host my VB6 code base).

Doesn’t matter what version control system you decide on, as long as it’s “modern”. TFS, SVN, a DVCS, like GIT, doesn’t really matter. Look around, play around, but whatever one you finally pick, I think you, and Management/Business owners/etc. will happier in the end. (You’ll get real/true Branching and Merging… ZOMG… lol  ;)

Wednesday, June 02, 2010

Get GIT – The “Getting Started with Git” DZone Refcardz

DZoneRefcardz - Getting Started with Git



Today, developers everywhere are migrating in droves to this exciting platform.  Users reference its blistering performance, usage flexibility, offline capabilities, and collaboration features as their motivation for switching.  Let’s get started with Git.  You’ll be using it like a master in no time at all.


As I’ve been on a tiny Git thing recently, when I saw this I knew I wanted to capture and share it.

It’s the usual high quality quick reference that we’ve come to expect and love from DZone.



Related Past Post XRef:
Getting Visual Studio to Get GIT
CodePlex expands source control options with distributed version control support (DVCS) via native Mercurial support

Saturday, May 29, 2010

Getting Visual Studio to Get GIT

Visual Studio Gallery - Git Source Control Provider

“Visual Studio users are used to see files' source control status right inside the solution explorer, whether it is SourceSafe, Team Foundation Server, Subversion or even Mercurial. This plug-in integrates Git with Visual Studio solution explorer.

image …”

I’ve not jumped on the Git bandwagon yet, but if I did I’d want this free extension… Plus I just couldn’t pass up being able to title a post like this… LOL


Related Past Post XRef:
CodePlex expands source control options with distributed version control support (DVCS) via native Mercurial support