Showing posts with label GIT. Show all posts
Showing posts with label GIT. Show all posts

Thursday, December 04, 2014

Getting Git and a GitHub VS Extension too!

You've Been Haacked - Git and GitHub Resources

Learning Git and GitHub can be daunting if you're new to it. I recently gave a small presentation where I pretty much firehosed a group of people about Git and GitHub for one hour. I felt bad that I could only really scratch the surface.

I thought it might be useful to collect some resources that have helped me understand Git and GitHub better. If you only read one thing, read Think like a git. That'll provide a good understanding and maybe motivate you to read the others.


Visual Studio Gallery - GitHub Extension

Manage GitHub issues for repositories that you have commit access to. You can filter and view issues for a repository, edit issues, add comments and close issues.

Access and manage GitHub issues for repositories that you have commit access to. You can filter and view issues for a repository, edit issues, add comments and close issue.

This is a beta release, more features are coming. For more information, to report bugs or to suggest features, see this project on GitHub.


  • To view a list of open issues, go to View | Other Windows | GitHub Issue List (Ctrl+W, Ctrl+G)
  • Log in to GitHub by clicking the logon icon at the upper right of the issue list window
  • Open the issue window by double clicking an issue in the list, or by going to View | Other Windows | GitHub Issue Window (Ctrl+W, Ctrl+H)
  • Add a new issue to the selected repository with the + button in the issue list, or from Tools | New Issue on GitHub (Ctrl+W, Ctrl+I)
  • Edit an issue with the edit button on the Issue window
  • Add comments to, or close and issue with the comment button on the issue window

Two Factor Authentication

We do not currently support GitHub's Two-Factor Authentication system. However, you can generate a Personal Access Token to log in to your GitHub account instead.




Getting Git'd is at the top of my dev to-do list. And GitHub is the new shiny, so I need to cache these two posts for near future reference. And the GitHub VS Extensions being open source too is icing on the ....

Tuesday, November 18, 2014

Google goes Git and GitHub with Go

Info - Go Language Moves to Git and GitHub

Rob Pike, lead designer of Go at Google, announced on Go's Google Group that Go language is moving to Git and GitHub. "All data will be preserved," said Rob, but GitHub will not be used to handle pull requests and code reviews. Google's own Gerri will be used instead because it fits better the requirements of a large project such as Go, explained Google engineers.


The main reasons behind the decision to adopt Git and GitHub, says Rob, are the availability of a Git-based code review system that fits the Go team workflow and the fact that a large part of the Go community is currently using Git and GitHub. As mentioned, a Google-hosted instance of Gerri will be used for code reviews. In a separate discussion about the use of Gerri, Andrew Errand, Google Go engineer, explained that Gerri has several advantages over Godthab's code review tool:



Mostly I just wanted a post with that title... :P

But I did find it interesting how much uptake Git and GitHub are getting. Microsoft and Google both on GitHub? I have to wonder, who's going to buy GitHub?

Wednesday, November 12, 2014

Microsoft gets wild on GitHub - Repo-repo of the Day:





Now that's allot of repo's. I had to smile that the code behind is, of course, hosted on GitHub.



So do you believe yet that Microsoft, well at least DevDiv, is going all OSS out?

Thursday, September 04, 2014

git tf whining about ".. not a valid URL"? Richard Fennel shows how to kick its ASCII

But it works on my PC! - Getting ‘… is not a valid URL’ when using Git TF Clone

I have been attempting to use the Git TF technique to migrate some content between TFS servers. I needed to move a folder structure that contains spaces in folder names from a TPC that also contains spaces in its name. So I thought my command line would be

git tf clone “http://tfsserver1:8080/tfs/My Tpc” “$/My Folder”’ oldrepo --deep

But this gave the error

git-tf: “http://tfsserver1:8080/tfs/My Tpc” is not a valid URL


The answer was to use the ASCII code ...



I've run into this a few times during my Coding4Fun blogging quests and end up being lazy and getting the code other ways. In this post Richard shows just how lazy I really was...

Wednesday, July 30, 2014

Did you know you could update/contribute to some (OpenXML for now) MSDN Doc's via a GitHub repo?

When writing my last post,Using the OpenXML SDK Productivity Tool to "decompile" Office documents (Turn *X files into the C# OpenXML SDK code that would generate them),  I came across this;


I'm like, "What?" No...



Contains content from that is openly editable by the public.

Ways to contribute

You can contribute to Office developer documentation in a few different ways:

*We're only taking documentation contributions for the OpenXML Conceptual content at this time

Repository organization

The content in the office-content repository is grouped first by article language, then by topic. The file at the root of each topic directory specifies the structure of the articles within the topic.

Article within each topic are named by MSDN GUID rather than title name. This is a side effect of our document management process and cannot be changed at this time. We highly recommend using the table of contents within each topic directory (see links below) to navigate to the files you wish to view or edit.

Articles in this repository

Open XML

Before we can accept your pull request



Now that's cool...

Monday, June 02, 2014

ALM Ranger Version Control (fka Branching and Merging) Guide v3 now out (in three parts, "Branching Strategies", "Team Foundation Version Control", "Dependency Management with NuGet")

Willy's Reflections - Version Control Guidance v3.0 flight has landed delivering three great guides and lots of visuals

We are pleased to announce that the v3.0 of the Version Control (ex Branching and Merging) Guide has shipped, after Bill Heys completed the intensive copy-editing.

what’s new?

Third version of this blockbuster guidance has been split into separate topics as summarized below, allowing you to pick the “world” (guide) you are interested in. This release delivers a new crisper, more compact style, which is easier to consume on multiple devices without sacrificing any content. The content is updated and aligns with the latest Visual Studio technologies and incorporates feedback from the readers of the previous guidance.


Branching Strategies
Practical guidance on a number of (not all) common Branching Strategies and usage thereof.

  • Branching concepts
  • Branching strategies
  • Walkthroughs

Team Foundation Version Control (TFVC)
Practical guidance on how to use Team Foundation Version Control (TFVC) features.

  • Workspaces
  • Merging
  • New features, i.e. Code Lens
  • Walkthroughs

Dependency Management with NuGet
Practical guidance on dependency management, using NuGet with Visual Studio.

  • Managing shared resources
  • Dependency management
  • Walkthroughs


lots of visuals!

All illustrations used in the guidance and the quick reference posters are included in the ZIP package. Re-use the images in your presentations, documentation, etc.


what’s cooking?

  • The Git for TFVC user guide is still under development and not included in v3.0.

... [Click through for the download link]

Must have resource for anyone serious about TFS... (or NuGet or branching source in general...)


Related Past Post XRef:
Branching and Merging Guide v2 for Visual Studio 2012 RTM has RTW'd
Visual Studio Team Foundation Server Branching and Merging Guide, v2 [Beta] for Visual Studio 11 released

Visual Studio TFS Branching Guide 2010, aka Team Foundation Server Branching Guide III, released (by guess who? Yep,the ALM Rangers…)
Team Foundation Server Branching Guidance v2 Released
Branching Guidance on CodePlex

Wednesday, October 30, 2013

Welcome OctoGit... I mean, Octokit.Net for GitHub

You've Been Haacked - Introducing Octokit.NET

Today on the GitHub blog, we announced the first release of


GitHub provides a powerful set of tools for developers who build amazing software together. But these tools extend way beyond the website and Git clients.

The GitHub API provides a rich web based way to leverage within your own applications. The Octokit family of libraries makes it easy to call into the API. I can’t wait to see what you build with it.

The Project is an open source project on GitHub so feel free to contribute with pull requests, issues, etc. You’ll notice that we call it a 0.1.0 release. As of today, it doesn’t implement every API endpoint that supports.

We wanted to make sure that it was in use by a real application so we focused on the endpoints that GitHub for Windows needs. If there’s an endpoint that is not implemented, please do log an issue. Or even better, send a pull request! ...

When I saw this, my first thought was, "Oh, CodePlex needs something like this..."  My second was, "You Go GitHub!"

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...

Friday, August 24, 2012

"We The People" open sourced by the White House (as in the Drupal We The People petitions application)

.net magazine - White House open sources petitions app

"Drupal 7 code base for tool for voters to create petitions made available on GitHub

The US government is increasingly a fan of open data and development

The White House has open-sourced the We The People petitions application. The application enables people to petition the Obama administration to take action on a range of issues. The project's file states: "Releasing the source code for this application is meant to empower other governments and organizations to use this platform to engage their own citizens and constituencies. In addition, public review and contribution to the application's code base will help strengthen and improve the platform."


WhiteHouse / petition

We The People petitions application

Drupal 7 code base used to build an application that lets users create and sign petitions.

This application is under active development and will continue to be modified and improved over time. The current release is an "alpha" pending changes that will remove its dependency on MongoDB (see “Roadmap” section below).


President Obama is committed to creating the most open and participatory government in our nation’s history, and this petitioning platform is a key part of that initiative. In September, 2011, the White House launched We the People, a powerful and simple way to petition the Obama Administration to take action on a range of issues. If a petition gathers a minimum number of signatures in a defined amount of time, policy officials review it and publish an official response.

Among our commitments, we’re launching a new online tool -- called “We the People” -- to allow Americans to directly petition the White House, and we’ll share that technology so any government in the world can enable its citizens to do the same.

-- President Barack Obama, September 20, 2011

Releasing the source code for this application is meant to empower other governments and organizations to use this platform to engage their own citizens and constituencies. In addition, public review and contribution to the application’s code base will help strengthen and improve the platform.


  • Drupal 7.x
  • MySQL 5.x
  • MongoDB 1.8
  • PHP 5.2 or 5.3


  • RAM +512 M
  • Dedicated MongoDB server (this dependency will be removed soon, see “Roadmap”)


Site visitors can create a user account, log in, and create petitions. Petition creators can share the URL for their petition to generate signatures. When the petition crosses a certain threshold, the petition becomes "public" and is listed as an open petition on the site's "open petitions" page.

Visitor can sign petitions. Petitions that receive a designated number of signatures (at the White House the number is 25,000 in one month) get a response.

For installation instructions, see

NOTE: Setting up the application and configuring it for use in your organization’s context requires Drupal development experience. The application ships with a similar design (theme) to what is used on and needs to be customized for use by others using standard Drupal 7 themeing conventions. The application also ships with various user interface elements, user account settings, and other configurations that users should expect to customize using standard Drupal 7 techniques and conventions.


The White House loves the Drupal... I dig that the White House is on Github too. That's just kind of cool.


Related Past Post XRef:
WhiteHouse.Gov gives Drupal an open source stimulus – Three WhiteHouse.Gov projects released to Drupal as Open Source

Think you're a ‘badass innovator?’ The President is looking for people just like you...

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

The magic behind the new Azure Web Site Git Publishing? Kudu! And now you can get Kudu too (and you can even use it without Azure, on your own IIS servers...)

David Ebbo - Introducing Kudu: the Open Source engine behind ‘git push azure master’

"Yesterday, ScottGu unveiled the new Azure, which brings a whole list of exciting changes to the platform.

One of the most exciting new features is the ability to deploy Web Sites to Azure using git. Scott’s post covers that, and I also did a screencast on that topic.

One part that has not yet been discussed is that the engine that powers this feature was developed as an Open Source project from the first line. The project is code named Kudu and can be found at Kudu is a member of the the Outercurve Foundation, and is released under the Apache License 2.0 (the same as NuGet).

This project is actually not tied to Azure, and can run standalone on any machine. In that mode, you can push project and have them run in your local IIS.
projectkudu / kudu
Kudu is the engine behind git deployments in Azure Web Sites. It can also run outside of Azure.
See the documentation
Getting Started
  1. First clone the repository.
    git clone git://    
  2. Open Kudu.sln as Administrator and build it.
  3.  Set Kudu.Web as the startup project and run!
  4.  Deploy your application
Project Structure
Kudu Project Structure
  • Kudu.Client - Client APIs for Kudu web services
  • Kudu.Core - Core Kudu API. Includes source control management, deployment management etc.   
  • Kudu.Contracts - Interfaces that Kudu.Client and Kudu.Core share.   
  • Kudu.SiteManagement - IIS Site management layer (CRUD operations for IIS sites).   
  • Kudu.Web - Front end to manage Kudu site (UI etc)   
  • Kudu.Services - Kudu's web service layer. Exposes services like deployment, editing and source control management over http.    
  • Kudu.Services.Web - The host project for the Kudu.Services.    
  • Kudu.Setup - Builds an msi for Kudu.Services.Web.
Nice. I love that this is OSS...

"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, 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...