yysun's space

Branching and Merging Presentation in TFS and Git

Posted on: February 5, 2010

My branching and merging presentation to developers went really well. I demonstrated the 3-way merging (using KDiffs), then branching and merging in TFS and in Git.

Here is the scenario. There are conflicts in V1.1 and V 2.0.

branching-merging-scenarios-1

Using 3-way merging, conflicts are automatically resolvable. That is something cannot be done using the 2-way merging.

3-way-merge-kdiff3 

I mentioned my one of my two big disappointments in TFS merging. By default TFS dose 2-way merging, not 3-way. The above scenario requires manual resolutions to the conflicts.

Update: after the presentation, I was able to set KDiff3 as the diff and merge tool in team explorer, followed this tips from this blog post.  It then can automatically resolve the above conflicts. But I am still not sure if TFS will be as good as Git in more complicated scenarios.

Next, I compared TFS and Git on branching. TFS creates a copy folder for the new branch. For big projects, it could be slow.

branching-merging-scenarios-3

I don’t really care about branching, but merging must be good.  Here is my second disappointment about TFS. By default TFS can only merge branches that are direct parent or child. I cannot merge V 1.1 to V 3.0.

We still like the project management/work item tracking and build features of TFS.

How to use Git with TFS? My suggestion during the presentation was to check out TFS projects as master and use Git locally. Like it is described here. The source control binding information in solution and projects are headache to deal with though.

I tried git-svn and TFS SVN Bridge against codeplex. It works well. I am waiting svnBridge’s new lease that supports TFS 2010.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


  • None
  • Pk: The horizontal view is a pleasure to use! Good thinking
  • randyburden: A valiant and commendable effort. Your use of Tuple is a little weird but it offers a feature that most other microORMs don't. Your use of a static Gu
  • reav: great work done on Rabbit Framework. just started to learning it, and by now i think it will solve all my problems and questions, that i had in webpag

Categories

%d bloggers like this: