Edward Thomson

Blog Entries tagged: git

A GitHub App for VSTS Build
September 8, 2018  •  4:42 PM

Over the last few months, I've been trying to take a more broad view of DevOps. I've been working on Git for a bunch of years, and other version control systems for many more, so that will always be my home. But lately, I've been thinking a lot about build and release pipelines. So last weekend I decided to work on a fun project: using Probot to build a GitHub app that integrates with the Visual Studio Team Services build pipelines.

Jekyll with VSTS and Azure
August 14, 2018  •  4:42 PM

I've been a big fan of the Jekyll website generator for a few years now. I use it for all my websites, and I've recently perfected my build pipeline from GitHub to Azure using Visual Studio Team Services. In particular, I use Jekyll with VSTS and Azure for the website for my podcast, All Things Git, and even after a few months, I couldn't be happier with this setup.

Upgrading git for the May 2018 Security Release
May 29, 2018  •  4:01 PM

A security vulnerability in Git has been announced: a bug in submodule resolution can cause git clone --recursive to execute arbitrary commands.

Git Credential Manager with Windows Subsystem for Linux
May 11, 2018  •  5:46 PM

tl;dr: If you just want the instructions for configuration, they're here.

Introducing ntlmclient
May 6, 2018  •  11:55 PM

I’d like to announce ntlmclient, a new open source library that I built. Usually I'd be announcing it proudly and encouraging you to use my code — but this time, I’d ask you to please not use it.

Git with Unity
March 22, 2018  •  11:54 PM
This is a follow-up to my post earlier this week introducing the correct .gitattributes settings for line endings; it dives a little bit more deeply into some of the configuration that you might be interested in if you're getting started building games in Unity.
Git for Windows: Line Endings
March 20, 2018  •  5:04 PM

If you’re on a team of Windows developers - or more importantly, on a cross-platform development team - one of the things that comes up constantly is line endings. Your line ending settings can be the difference between development productivity and constant frustration.

Git Security: Further Reading
February 21, 2018  •  7:31 PM

In my talk at Git Merge today, I mentioned that there were some other difficulties handling security issues in Git. Here's some more information:

Talking about Git at Barcelona .NET Core: 6 March 2018
February 21, 2018  •  7:31 PM

I'm excited to be speaking at the Barcelona .NET Core group on Tuesday, 6 March, 2018. I'll be talking about How Microsoft "Got Git", adopting the Git version control system in Visual Studio and VSTS, and "Scripting Git", how to build .NET applications that interact with Git repositories using LibGit2Sharp.

Merge vs Rebase: Do They Produce the Same Result?
December 21, 2017  •  10:29 PM

I get asked quite a lot whether I recommend a merge-based workflow, or one where people rebase onto master. But to be quite honest, I couldn't possibly care less. Your workflow is your workflow after all, it's up to your team to work in the way that's most productive for you. For some teams that's merging, for some teams that's rebasing… n the end, the code gets integrated and the end result is the same either way, whether you merge or rebase it, right?

git-open supports Visual Studio Team Services
December 6, 2017  •  6:25 PM

I'm really excited that git-open 2.0 was just released. This newest version of git-open includes some changes that I contributed to support for Visual Studio Team Services and Team Foundation Server.

Google Analytics for Your Podcast
October 27, 2017  •  5:57 PM

I built a little open source side project: Google Analytics Handler, which reports tracking information to Google Analytics on the server side.

Upgrading git for CVE 2017-1000117
August 14, 2017  •  12:11 PM

A security vulnerability in Git has been announced: a bug in URL parsing can cause git clone to execute arbitrary commands. These URLs look quite suspicious, so it's unlikely that you'd be convinced through social engineering to clone them yourself. But they can be hidden in repository submodules.

(Re)introducing git-dad
June 18, 2017  •  8:18 PM

After I dropped the git-recover script, @MordodeMaru asked me on Twitter if we could have a git dad command to help you out when you're in a jam:

Introducing git-recover
June 15, 2017  •  2:04 PM

I'm old enough to remember the old Norton UNERASE command: it was part of the old Norton Utilities for MS-DOS. It made clever use of the FAT filesystem to find files that were recently deleted, show them to you and let you undelete them.

Git Conditional Includes
June 6, 2017  •  1:29 PM

One of the features that slipped quietly into Git 2.13 is the notion of "conditional includes" for configuration files, and it's one of my favorite new features. Although it's really simple, it's also extremely important for people who work both on Enterprise software and open source projects.

Managing Dotfiles with Git
March 28, 2017  •  7:15 PM

Professional cooks have a term: "mise en place", which translates literally to "everything in its place". In a kitchen, it means that your station is prepared and well-organized; all the ingredients for every dish that you cook are prepared and set out in front of you so that they're ready to use. But perhaps most importantly: your station is clean, because professional cooks have another phrase:

The Git Contributor Summit
February 5, 2017  •  5:20 PM

The annual Git Merge conference just wrapped up, and it was another exciting year. As always, the speakers were excellent, the training was informative, and the after-party was a blast. But my favorite part was a part of Git Merge that most people don't see: the Git Contributor Summit.

Authenticating Git clients to TFS using Kerberos
November 14, 2015  •  10:56 AM

You can authenticate to correctly configured instances of Visual Studio Team Foundation Server by using Kerberos over the Negotiate (SPNEGO) protocol. By using authentication with a Kerberos ticket, you can more securely authenticate from supported clients to your server without providing your password. After you obtain a Kerberos ticket, you can configure your git client to use Kerberos.

Setting Files Executable in Git on Windows
June 9, 2015  •  11:36 AM

Sometimes you need to check an executable into your Git repository and - even though Windows doesn't really have a concept of an "executable bit" - you might need to set it executable for the other platforms.

Checking Out Visual Studio Online Pull Requests Locally
March 30, 2015  •  11:37 AM

Pull Requests in Visual Studio Online are great way to perform code reviews. But if you like reviewing code in your favorite editor, instead of on the web, they can be frustrating. Fortunately, you can set up git to fetch pull requests from Visual Studio Online.

Another libgit2 Security Update
January 20, 2015  •  7:41 PM

On the heels of CVE 2014-9390, we are announcing another round of security updates to libgit2. Similar to the prior vulnerability, an attacker can construct a git commit that, when checked out, may cause files to be written to your .git directory which may lead to arbitrary code execution.

The Visual Studio ASCII Art Logo in TFS
September 10, 2014  •  10:42 AM

I noticed last night that Jared Parsons had cheerfully tweeted about the Visual Studio ASCII art logo that shows up when you clone a repository from TFS and Visual Studio Online:

Git Internals at That Conference 2014
August 15, 2014  •  2:29 PM

I had the privilege of speaking at That Conference earlier this week on my favorite topic: version control! I discussed how Git works under the covers, and my audience was kind enough to stay awake (which is the fundamental difference between Git and other version control systems).

Hosting Git Repositories in TFS
May 27, 2014  •  9:48 PM

One of the great features of Git as a version control system is that there's no vendor lock-in: you can create a new Git repository on your local computer and push it to any Git server to collaborate with your team. This allows you to choose whatever Git hosting provider you want to use: it could be Team Foundation Server, GitHub, Codeplex, or even setting up your own Git server that you access over a network file share. We've been busy adding unique features to Team Foundation Server so that it's a compelling place to host your Git repositories.

The Git index and Recovering Files
May 9, 2014  •  1:56 PM

This question on StackOverflow asks about recovering files that were added to the Git index using git add but were subsequently removed from the index. I provided an answer for that direct question, since you can recover these changes, but I also wanted to dig a little deeper into what happens when you add something to the index.

Visual Studio 2013 and libgit2
October 17, 2013  •  6:29 AM

Visual Studio 2013 RTM was made available this morning which means that the new Git support in Visual Studio is available to everyone!

Locking and git-tf and... danger?
August 28, 2012  •  1:00 PM

If you haven't yet seen or heard about the new git-tf tool from Microsoft, this blog post probably won't make any sense. So... go check it out over at gittf.codeplex.com. It's okay, I'll wait.

Team Foundation Server and Xcode Projects with git-tf
August 20, 2012  •  11:15 AM

Brian Harry announced the availability of git-tf last Monday, a new tool from Microsoft that allows you to create a local git repository from a path in Team Foundation Server, then check the changes in your repository back in to TFS.  This tool is another piece in our cross-platform support, aimed at users of IDEs that don't have built-in TFS integration.