The podcast episodes from (excludes regular posts).


Bonn, Germany




The podcast episodes from (excludes regular posts).






GitMinutes #46: Jeff King from Git-Merge 2017

Link to mp3 Listen to the episode on YouTube In this final episode of GitMinutes, we talk to Jeff “Peff” King at Git-Merge 2017. We talk about how Git itself changes to tackle the needs of companies and users as Git has to scale more and more. We also talk about how protection of the trademark Git will happen in the future. Unfortunately, my interview with Peff got cut slightly short because of technical difficulties. Since this is probably the last GitMinutes episode ever, there’s going to be a little sentimental blabbering after the interview, so stay tuned for that if you’re into that stuff, or just read my personal blog post here. If you want to see what I'm up to next, you can keep track of me on Twitter as @tfnico or on my blog. For another podcast about Git, check out All Things Git.


GitMinutes #45: Edward Thomson from Git-Merge 2017

Link to mp3 Listen to the episode on YouTube In this episode, we talk to Edward Thomson about his experience at Git Merge 2017. Note that Edward now has his own Git podcast together with Martin Woodward: All Things Git, which I can heartily recommend!


GitMinutes #44: Josh Triplett on Git-Series

Link to mp3 Listen to the episode on YouTube This is GitMinutes episode 44, with another interview from the Git Merge conference in 2017: Josh Triplett is the author of git-series, which is a really cool command line tool for evolving patch series in Git.


GitMinutes #43: Johannes Schindelin on Contributing to Git

Link to mp3 Listen to the episode on YouTube In this episode we talk to Git contributor and maintainer of Git for Windows, Johannes Schindelin. He has a lot of thoughts and ideas on development, community and code reviews, especially in open source and especially in the development of Git itself. We talk to Johannes about the difficulties of contributing to Git itself, and tools that could make the experience more user friendly, like for example public-inbox, which is both a mailing list archive and a Git repository. TwitterGitHubGit for Windows"The End of Gmane?" by its maintainer, Lars IngebrigtsenGit mailing list archives on Outline: 00:00:00 Intro 00:00:46 Hello Johannes 00:01:01 What was the most interesting discussion at the dev summit? 00:02:44 How does the mailing list for Git really work 00:03:34 What is Public Inbox? 00:08:14 How can patches be aligned with public inbox topics? 00:14:34 Let's talk about the What's Cooking email 00:20:22 What about tracking patch series that get rewritten? 00:22:05 Gerrit solves this with a change-id, can we do that for the Git mailing list? 00:23:43 What would happen if we allowed HTML mails onto the mailing list? 00:26:54 Should the review take place locally or online? 00:28:09 If we had this standard format for doing reviews, how could we use it otherwise? 00:29:22 How can we make this happen? 00:30:43 Anything else you want to share from the conference? 00:33:03 Outro


GitMinutes #42: Erik from Atlassian on Clone Bundles

Link to mp3 Listen to the episode on YouTube In this episode I’m talking to Erik van Zeist. He’s a developer from Atlassian BitBucket, and at Git Merge this year, he shared some interesting experiments they have been making using clone bundles, which is a technique from Mercurial that will dramatically improve performance of repository cloning. Now they have also started experimenting with doing clone bundles with Git. Erik on twitterarticle about clone bundlesMozilla on Mercurial bundlesMercurial bundle clone extensionMail to the Git mailing list on the subject Outline: 00:01:23 Tell us about clone bundles 00:03:29 Is this a server-side or a client-side extension? 00:04:28 Are you already using it on Bitbucket? 00:04:49 What sort of resources does clone bundles save? 00:06:00 How does it work with the bundle on a CDN and subsequent changes? 00:07:13 How does Mercurial content negotiation differ from Git? 00:08:29 What else do we need to make this work? 00:10:22 How does it work on the client exactly? 00:11:01 How are you going to integrate this with main Git? 00:12:12 Could this be something that the Git client tools should provide? 00:13:55 What did the other Git contributors think about the idea? 00:15:32 Is a clone that was made using clone bundles different from a normal clone? 00:16:46 Is this for pulling or only for initial clone? 00:18:10 Anything else you want to share? 00:19:51 Outro


GitMinutes #41: Stefan Beller and J. Wyman (Git Merge 2017)

We are (temporarily) back after a long hiatus! What triggers this action is Git Merge 2017 that took place in Brussels back in February. This is the first of multiple episodes from the conference. Link to mp3 Listen to the episode on YouTube First up is Stefan Beller of Google. He is a Git core contributor who has recently been picking up git-submodules to bring them back into shape. We'll hear about his current work on that. It's not the first time Stefan is on the podcast, back in 2015 he spoke about improving the Git protocol. Second guest of the day is J Wyman from Microsoft. There's been quite some development on Windows and in Visual Studio since I last had them on the podcast (Martin Woodward in 2013, and Jameson Miller in 2015) now J gives us a well-needed update. Episode outline: 00:00:00 Intro 00:02:22 Submodules at the contributors' summit? 00:03:07 Why do people hate on submodules so much? 00:04:12 Aren't submodules done and ready? 00:05:25 What is the difference to other multi-repo handlers? 00:06:59 Plan for the future? 00:07:52 Welcome J Wyman 00:08:17 What were the highlights from the contributors' summit? 00:08:54 What do you do at Microsoft? 00:10:22 What are the issues with switching away from libgit2? 00:11:21 Are you still using libgit2 anywhere? 00:13:10 How do you use core Git? 00:14:16 Which of the discussed Git improvements are most interesting? 00:15:07 Who contributes to Git from Microsoft? 00:16:18 Anything else I should ask you about? 00:17:43 Outro Intro script:


GitMinutes #40: Git Merge 2016

Christian Couder went to Git Merge 2016 and recorded some interviews there for the podcast. Link to mp3 Listen to the episode on YouTube Here are the interviewees from the conference, all in this one episode: Roberto Tyley, The Guardian Karen Sijbrandij, TrainTool Lars Schneider, Autodesk Sytse 'Sid' Sijbrandij, GitLab Tim Pettersen, Atlassian Michael Haggerty, GitHub Job van der Voort, GitLab Carlos Martín Nieto, GitHub


GitMinutes #39: Git Merge 2015 Part 5

This is the fifth and final episode from Git-Merge 2015! Link to mp3 Listen to the episode on YouTube Alexandra Tritz BlaBlaCarTwitterGitHubLast time we talked about submodules on GitMinutes, ep. 11 Rick Olson GitHubHomepageBuilding a Git Extension with First Principles (his Git LFS talk at the conference)released support for LFS in the BFG repo cleaner Jeff "Peff" King GitHubHomepageGit + SFC Status UpdateWilhelm Bierbaum's talk about Git at Twitter Head over to Git Rev News and subscribe to get Git news straight into your inbox.


GitMinutes #38: Git Merge 2015 Part 4

This is the fourth part from our trip to Git-Merge 2015! Link to mp3 Listen to the episode on YouTube Roberto Tyley TwitterGoogle+GitHubThe BFG Repo CleanerGit Large File Storage (Git LFS)BFG supporting LFS early releaseProutThe Git LFS talk at the conference by Rick OlsonGitMinutes #06: Roberto Tyley on Rewriting History During the conference, there was a lot of discussion regarding how the Git project could attract more users by allowing GitHub-style pull requests into their patch-based mailing list. Later Roberto offered a solution to the problem: submitGit. Nicola Paolucci HomepageTwitterblog (at Atlassian)Atlassian's 10 year of Git celebrational pageGit Rev NewsJohn Garcia's talk at the conference Jameson Miller GitHubGitMinutes #05: Martin Woodward on Visual Studio and TFS with Git Episode outline 00:00:00 Intro 00:03:19 Roberto Tyley 00:08:27 Nicola Paolucci 00:17:19 Jameson Miller 00:27:38 Outro


GitMinutes #37: Git Merge 2015 Part 3

This is the third part from our trip to Git-Merge 2015! Link to mp3 Listen to the episode on YouTube Stefan Beller Google+ Robert van Haaren TwitterGitHubTeaching People Git, Emma Jane Hogbin Westby Ævar Arnfjörð Bjarmason (dev blog)Test Anything Protocol Episode outline: 00:00:00 Intro 00:02:39 Stefan Beller 00:10:03 Intro 00:15:17 Robert van Haaren 00:18:44 Ævar Arnfjörð Bjarmason 00:41:27 Outro


GitMinutes #36: Git Merge 2015 Part 2

This is the second part from our trip to Git-Merge 2015! Since we published part one, the recorded talks from the conference are now online at Link to mp3 Listen to the episode on YouTube Arthur Schreiber GitHubHomepageRugged Junio Hamano BlogGoogle+Git at GoogleGitHub's new large file support Vicent Marti GitHubTwitterVicent's talk at the previous Git-Merge conference Outline 00:00:00 Intro 00:01:54 Arthur Schreiber 00:06:04 Junio Hamano 00:10:19 Vicent Marti 00:26:24 Outro


GitMinutes #35: Git Merge 2015 Part 1

In this episode we talk to various people at Git-Merge 2015! This is the first of a total of 5 parts from the conference. Link to mp3 Listen to the episode on YouTube In this part we talk to: Matthieu Moy, about Google Summer of Code projects Homepage, GitHub Christian Couder, about Git Rev News Homepage Carlos Martín Nieto, about libgit2 GitHub Twitter Outline: 00:00:00 Welcome, intro 00:03:25 Matthieu Moy 00:05:33 Second part with Matthieu, about GSoC 00:11:03 Christian Couder 00:15:05 Carlos Martin 00:23:58 Outro


GitMinutes #34: Tim Caswell on js-git

In this episode we talk to Tim Caswell. He is the creator of js-git, alongside a lot of other really interesting projects. Link to mp3 Listen to the episode on YouTube Links: Google+GitHubTwitterhomepagehowtonode.orgjs-gitTeditwebappChrome appThe latest Tedit demowheatyryeLuvitDiscussion on incorporating js-git in nodeOS/npmgit-html5TailorGoogle's dev kit chrome appNW.jsScott Hanselman interviewed Paul Betts about Atom Shell More background material about Tim: In-depth interview with TimTim guesting on JSJabber #101Tim guesting on the ChangeLog #124 Episode outline: 00:00:00 Intro 00:02:09 Bio, welcome 00:02:26 Tell us about your background 00:03:39 How come you drifted from Node to Lua recently? 00:05:46 What is the use-case for Lua? 00:07:15 What does Luvit add to Lua? 00:08:39 Jumping back to Git, what is your personal VCS experience? 00:13:03 Can you tell me more about the CORS headers issue at the Git hosting services? 00:15:21 What was the plan for js-git after that? 00:17:16 What was the goal of Tedit? 00:19:07 Where do you store the contents in the browser itself? 00:23:20 What is the current state of tedit/js-git? 00:25:55 In summary, what came out of js-git in the end? 00:26:33 What features does Tedit have? 00:27:31 Is js-git too heavy-weight to be embedded in a Git hosting tool? 00:29:04 Why aren't more companies jumping over js-git to make use of it as a Git-starter tool? 00:30:31 Then let's talk about how companies could use js-git or any of these components 00:36:53 Why can you store blobs without commits on GitHub? 00:40:26 Isn't Git in the browser sort of inevitable? 00:41:56 What do people do these days to develop on Chromebooks/browsers? 00:43:23 Other than service-workers, what would you need in order to fulfill the vision of js-git? 00:44:40 Can't you get access to the file-system in HTML5? 00:46:33 What should have been the master plan to complete js-git/tedit? 00:50:41 What would you want to happen to js-git while you're busy elsewhere? 00:52:28 Some js-git vs libgit2 talk 00:59:54 Is Google Dev Kit a replacement for Tedit? 01:01:02 Clear up different kinds of Chrome-based apps 01:04:31 What is the future of js-git? 01:06:15 Any questions I forgot to ask you? 01:06:43 Anything you would like to promote? 01:08:55 Where can people find you online? 01:09:14 What is your favorite Git Pro Tip? 01:10:17 Thank you for coming onto the show!


GitMinutes #33: Thom Parkin on Mastering Git

In this episode we talk to Thom Parkin about his new video course on mastering Git, and other things interesting for those who want to improve their Git skills. Link to mp3 Listen to the episode on YouTube Links GithubTwitterSitepointGit Fundamentals bookLearnable: Introduction to Nitrous.ionitrous.ioScreenHeroBeegitMastering Git Get Thom's "Mastering Git" Video Tutorial for 50% off, on the Packt Publishing website if you use the Discount Code GITMASTER2015. This offer will only last a limited time. Repository for resources, addendum, etc.The GititudesKohsuke Kawaguchi’s thoughts on what should be in your commit message * Note that there is a different video course published in 2011 with the same title: McCullough and Berglund on Mastering Git. How to find lost stashes During a discussion of git-lost-found (now deprecated in favor of git fsck --lost-found), we asked how to find dropped stashes. git fsck --lost-found will indeed show these as well, although you have to inspect them yourself to identify which came from stash. Episode outline 00:00:00 Intro 00:02:25 Bio/welcome 00:02:56 Tell us about your background 00:04:14 What is your experience with VCS? 00:05:47 You have a video course out about Git. Tell us about it! 00:06:28 What is SitePoint? 00:12:32 A video course on/by Packt? 00:13:09 Tell us more about the structure of your video course. 00:15:39 You had your son do the graphical artistry? 00:16:16 Always interesting to see how Git is visualized 00:18:11 Let's talk about 00:30:09 Tangent: Installing GIt on different OSes 00:32:10 Any other things from your video course you would like to discuss? 00:33:20 How do I find lost commits? 00:35:45 Don't stashes appear in the reflog? 00:40:11 What are the other "Gititudes"? 00:45:37 Crafting history, commit messages, squashing vs merging? 01:00:29 How much Git teaching is still left to do in the world? 01:04:13 Where can people find you online? 01:04:58 What is your favorite Git pro tip? 01:05:43 Thank you for coming onto the show! 01:05:50 Outro 01:06:36 Bonus: Head in the closet?


GitMinutes #32: Adam Spiers on git-deps

In this episode we talk to Adam Spiers about git-deps, a tool he made for analyzing dependencies between commits. Link to mp3 Listen to the episode on YouTube Links TwitterGitHubAdam's blog (posts tagged git)git-depsThe history of TLA, GNU Arch (Wikipedia)git-check-ignoreStackOverflow question that inspired check-ignore git-deps issues/enhancements mentioned allow integration with other git web frontendsdetect whether commit A depends on commit Bpatch theory from darcs (and elsewhere) Technologies used in git-deps Misc. git-config - Adam's bag of tricksgit icing and cherry-menuungitgit-annexgource history youtube videos Episode outline 00:00:00 Episode meta, sponsor, etc 00:01:40 Bio, welcome Adam 00:02:08 Tell us how you ended up here 00:05:41 What do you do at SUSE, or about the version control there 00:07:08 What do you think Git got right compared to other tools historically? 00:13:53 Tell us about your involvement with the Git project 00:19:55 What's it like to get code reviewed by the Git mailing list? 00:21:15 Your contribution is git check-ignore? 00:23:47 Tell us about git-deps 00:26:03 Explain these dependencies between commits 00:35:29 Is the dependency analysis made at runtime? 00:38:55 Can you use git-deps as an early-warning system for discovering conflicts? 00:48:23 Case in point: GUI tool for doing rebase --onto 00:51:14 How could git-deps be used in a GUI (musings) 00:54:53 Honorary mention of ungit 00:57:37 Would it be possible to use it in a tool to detect conflicts between unmerged branches? 01:01:27 Any plans or visions for the future of git-deps? 01:03:26 Tell us quickly about the tech-stack running under git-deps 01:05:42 Aren't you using node? 01:07:19 Is it open for contributions? 01:09:34 Anything you would like to promote? 01:13:52 What is your favorite Git Pro Tip?


GitMinutes #31: Mary Rose Cook on Gitlet

In this episode we talk to Mary Rose Cook about her recent experimental implementation of Git in JavaScript: Gitlet. We also talk about all kinds of things around understanding Git, and teaching it. Link to mp3 Listen to the episode on YouTube Mary's homepageGitHubTwitterMary's speech to new Hacker-SchoolersGitletGitlet annotated source codeLearn Git Branching (interactive in the browser)Try Git on try.github.ioDoccoUngit Here's a rough outline of questions asked: 00:00:46 Welcome to the show 00:01:18 Tell us your background 00:03:02 Do you teach Git at Hacker school? 00:03:49 Is Hacker School for programmers who want to get better? 00:04:37 Is Hacker School remote? 00:04:56 What does it cost? 00:06:25 Would you accept anyone who already has a job? 00:07:07 Is the Hacker School concept a common thing? 00:08:33 Any links for those who want to learn more about Hacker School? 00:08:51 What your Git experience? 00:10:09 How were you using Git/GitHub? 00:10:33 When/why did you start planning Gitlet? 00:12:21 What is Gitlet? 00:13:45 Can you install it and use it as a normal Git client? 00:14:38 What does it lack compared to the real Git? 00:16:04 Could you make it production ready if you outsourced the inner operations to libgit2? 00:18:12 Didn't the Learn Git Branching already implement Git in browser? 00:19:37 How did implementing Gitlet change the way you teach GIt? 00:21:08 Would I be a better Git teacher if I taught people the internals instead of the porcelain? 00:26:31 When should people who know Git take the next step to learn it deeper? 00:30:18 Why is it safer to do fetch before you go on an airplane? 00:31:01 Doesn't pull just update current branch while fetch gets everything? 00:32:10 Git fetch vs git pull 00:33:39 How can I get people to avoid merging origin/master to master? 00:39:53 Talk about the repeating patterns you found inside the Git operations 00:47:42 Talk about the beautifully annotated source code of Gitlet 00:52:50 Do you feel a lot of Git internals have leaked out in the user interface? 00:54:58 How can git reset and checkout be the same command for so different things? 00:57:53 Is it the same thing with git reset? 00:59:08 What would be your ideal Git tool? 01:01:54 Any plans for the future? 01:03:21 Anything you'd like to promote? 01:03:40 Where can people find you online? 01:04:00 What is your favorite Git pro tip? 01:04:43 Thank you for coming onto the show!


GitMinutes #30: Luca Milanesio on Gerrit Code Review

This is GitMinutes episode 30 where I’m talking to Luca Milanesio, a seasoned Gerrit contributor, and the co-founder of GerritForge. Link to mp3 Listen to the episode on YouTube You may know Gerrit as being the code-review tool that powers some of the largest open source projects out there today, like Android, Chrome and the Eclipse foundation. It’s used by big companies like Google, Sony, Ericsson and many others. It’s a very powerful tool where you can push up your suggested changes and have them reviewed naturally, and you can also get feedback from continuous integration tools like Jenkins to make sure that your suggested changes don’t break the build. And Gerrit is the main thing we’ll talk about today. Links: blogGitHubTwitterFacebookUse the Force, LucaLearning Gerrit Code ReviewGerritForgeGitEnterpriseLuca’s InfoQ talk on GerritIntroducing GerritHub, Gerrit Code Review on GitHubContinuous Integration Entwicklungs Workflow (Python, GerritHub, Jenkins)Scaling Mercurial at FacebookScaling Source Control at FacebookThe infamous force push Luca's Git pro-tip: git rebase -i Outline/questions (if you think this is useful, let me know):


GitMinutes #29: James Moger on GitBlit

In this episode, we talk to James Moger, the author of GitBlit, an open-source Java-powered Git repository manager. Link to mp3 This episode of GitMinutes is sponsored by DigitalOcean. Sign up using the promo-code GITMINUTES10 to receive 10$ worth of credit. Want to see how you can run GitBlit on your own DigitalOcean droplet? There's a screencast for that: See how to set up GitBlit on DigitalOcean Links: James on Google+GitBlit homepageTwitterGoogle+GitBlit mailing list/forum Things we mentioned: Redmine project management toolJGit GitServletGerrit code reviewApache Wicket web frameworkLaika makes cool animated movies (and uses GitBlit)GitBlit demo on dev.gitblit.comGitBlit on DockerScreencast demoing the new GitBlit ticketsDocs on GitBlit ticketsHow to use handle tickets (with the Barnum script)Redis NoSQL databaseUsing GitBlit as pure repository viewer (like “git instaweb”)Slack: team communiation toolGitBlit Slack PluginFlurFunk team collaboration (abandoned experiment)pf4j: KISS plugin architecture for JavaGuava CachesBintray hosts the GitBlit downloads James' pro-tips: tig: command line Git UISmartGit Some things we didn't talk about, but I'd like to mention: Wikimedia is a big GitBlit userCentOSJames wrote about the early story of GitBlit on the mailing list some years baccoupleblog posts Extra pro-tip: "git fetch -p". It stands for prune. Will remove tracking refs from your clone that no longer exist in the remote but it will NOT remove any of your local branches. It's a useful shortcut for cleaning up your clone so you can GC to reclaim space. Listen to the episode on YouTube


GitMinutes #28: Johannes Schindelin on Git for Windows

In this episode we talk to Johannes Schindelin from the msysgit project, a tool used for building Git for Windows. Link to mp3 Johannes is a mathematician with a degree in genetics. In his day job, he supports biologists with image processing and analysis. He is involved in a number of Open Source projects and he co-maintains Git for Windows with Sebastian Schuberth, Pat Thoyts and Erik Faye-Lund. He is from Germany, but currently lives in the Mid-West of the US. Note: We briefly discussed libgit2 being licensed as BSD. This is not the case anymore: It has switched to GPLv2 with a linking exception, Links: Google+GitHubJohannes' first OSS project: LibVNCServer/LibVNCClient(Fancy redesigned) MsysGit homepageGit for Windows wikiMailing list/forumThe “garden shears”Explanation what the “garden shears” are all aboutThe git-svn ref issueThe newly redesigned msysgit homepage sourcesInteractive rebase with Eclipse EGitInteractive rebase with SourceTreeInstalling Git for Windows from within Visual Studio (video) Listen to the episode on YouTube


GitMinutes #27: Stefan Saasen from Atlassian

In this episode I’m talking to Stefan Saasen from Atlassian. We focus mainly on Stash, which is their on-premise Git repository manager, but we’ll also touch on their other products to see how they all work together. Link to mp3 Stefan is the development lead for Atlassian Stash. He has worked on Atlassian Confluence, later with the OnDemand authentication system and finally on Stash, their Git hosting solution. He’s responsible for migrating the Confluence team from Subversion to Git, as well as a large number of Atlassian OnDemand customers. HomepageTwitterBitbucketGitHub Links: Reimplementing “git clone” in Haskell from the bottom upDiscussion about making Git more thread-safe on the mailing listVote for STASH-2469: Include Mercurial (Hg) support in Stashthe top most voted issueGitMinutes #22: Alexander Kitaev about SubGitGitMinutes #20: Mick Wever on Migrating to GitThe essence of branch-based workflowsAll Stefan's posts on the Atlassian blogAtlassian's Git resourcesAll Atlassian blog posts tagged with Git Favorite Git pro tips: Extend Git with git extras and git activity. Listen to the episode on YouTube