GitMinutes show

GitMinutes

Summary: The show for proficient Git users. Stories, discussions, ideas, demos and other things useful for those using Git today.

Podcasts:

 GitMinutes #31: Mary Rose Cook on Gitlet | File Type: audio/mpeg | Duration: Unknown

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. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Listen to the episode on YouTube Mary's homepage Mary on GitHub, Twitter Mary's speech to new Hacker-Schoolers Gitlet Gitlet annotated source code Learn Git Branching (interactive in the browser) Try Git on try.github.io Docco, the annotated source documentation tool We should have talked about Ungit, but we didn't. Teaser: It will be mentioned in the next episode! 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 | File Type: audio/mpeg | Duration: Unknown

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 If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually.   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: Luca, GitEnterprise (blog, GitHub, Twitter, Facebook) Use the Force, Luca (article on InfoQ) Learning Gerrit Code Review (Luca's book) GerritForge  GitEnterprise Luca’s InfoQ talk on Gerrit  Introducing GerritHub, Gerrit Code Review on GitHub (video) Continuous Integration Entwicklungs Workflow (Python, GerritHub, Jenkins) (video) Scaling Mercurial at Facebook (blog post) Scaling Source Control at Facebook (video with the same message) The infamous force push (mailing list discussion) Luca's Git pro-tip: Use your Git local repopository as your journal and your Git commits as the explicit, simple and useful phrases of it. Before pushing, do a git rebase -i to review, re-organise and give sense to your Git history. Outline/questions (if you think this is useful, let me know): 0:00 Welcome, intro 1:14 Thanks to DigitalOcean for sponsoring this episode! 2:33 Welcome to the show, Luca. 3:29 Tell us about the force push 5:10 Tell us how you ended up where you are today 7:06 What is gitenterprise.com 8:19 Is GitEnterprise like GitHub for companies? 14:50 Lets come back to codereview later 15:23 Is GerritHub = GitEnterprise = GerritForge? 17:39 Can everyone use GerritHub for Github stuff? 18:34 Are the GitHub repositories used as the backend for Github? 23:32 Let's take a step back and look at Gerrit from the perspective of a beginner 31:23 For which teams is Gerrit the right choice? 36:09 What about teams coming directly from SVN or something else starting with Git and Gerrit at the same time? 41:40 What are Topics about? 44:53 Where are the topics managed? Where is the master record? 46:01 I definitely see the need for topics with multi repo or Jenkins jobs 49:05 Is Gerrit a good choice if you have multiple interdependent repositories then? 51:12 About Facebooks big mercurial infrastructure 51:38 Gerrit will give you the advantages that Faceboo wanted, and smaller repos 53:30 How do you review topics within Gerrit compared to traditional commits? 58:42 Are multiple interdependent changes merged in one go or one commit at a time? 59:56 We went a bit off course there, topics are very interesting :) 1:00:28 Can you talk about the community and what's going on there? 1:02:41 Oh, Spotify is also using Gerrit? 1:08:22 Traditional code review is more blame game... 1:09:54 Gerrit style review is actually lowers the barrier for daring to submitting patches.. 1:15:31 Pair programming vs Code Review 1:19:05 How to learn/introduce Gerrit in a company 1:23:58 Any questions I forgot to as you? (How the force push happened) 1:25:34 Anything you'd like to promote? 1:26:57 Let people know how they can get in touch with you. 1:27:17 Tell us your favorite Git pro-tip.

 GitMinutes #29: James Moger on GitBlit | File Type: audio/mpeg | Duration: Unknown

In this episode, we talk to James Moger, the author of GitBlit, an open-source Java-powered Git repository manager. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. 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 homepage, Twitter, Google+  GitBlit mailing list/forum Things we mentioned: Redmine project management tool JGit GitServlet Gerrit code review Apache Wicket web framework Laika makes cool animated movies (and uses GitBlit) GitBlit demo on dev.gitblit.com GitBlit on Docker Screencast demoing the new GitBlit tickets Docs on GitBlit tickets How to use handle tickets (with the Barnum script) Redis NoSQL database Using GitBlit as pure repository viewer (like “git instaweb”) Slack: team communiation tool GitBlit Slack Plugin FlurFunk team collaboration (abandoned experiment) pf4j: KISS plugin architecture for Java Guava Caches Bintray hosts the GitBlit downloads James' pro-tips: tig: command line Git UI SmartGit Some things we didn't talk about, but I'd like to mention: Wikimedia is a big GitBlit user. So is CentOS. James wrote about the early story of GitBlit on the mailing list some years back I wrote a couple of blog posts about GitBlit for the 1.0 release 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 | File Type: audio/mpeg | Duration: Unknown

In this episode we talk to Johannes Schindelin from the msysgit project, a tool used for building Git for Windows. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. 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: Johannes on Google+, GitHub Johannes' first OSS project: LibVNCServer/LibVNCClient (Fancy redesigned) MsysGit homepage  Git for Windows wiki Mailing list/forum The “garden shears” Explanation what the “garden shears” are all about The git-svn ref issue  The newly redesigned msysgit homepage sources Interactive rebase with Eclipse EGit Interactive rebase with SourceTree (this was released right after we recorded) Installing Git for Windows from within Visual Studio (video) Listen to the episode on YouTube

 GitMinutes #27: Stefan Saasen from Atlassian | File Type: audio/mpeg | Duration: Unknown

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. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. 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. Homepage  Twitter  Bitbucket  GitHub  Links: Stefan's blog post Reimplementing “git clone” in Haskell from the bottom up Discussion about making Git more thread-safe on the mailing list Vote for STASH-2469: Include Mercurial (Hg) support in Stash (245 votes at the time of writing, making it currently the top most voted issue). GitMinutes #22: Alexander Kitaev about SubGit GitMinutes #20: Mick Wever on Migrating to Git (mentions SubGit) The essence of branch-based workflows All Stefan's posts on the Atlassian blog Atlassian's Git resources All Atlassian blog posts tagged with Git Favorite Git pro tips: Extend Git with git extras and git activity. Listen to the episode on YouTube

 GitMinutes #26: Campbell Barton on Tricky SVN Migrations | File Type: audio/mpeg | Duration: Unknown

In this episode we talk to Campbell Barton from the Blender Foundation about how they were able to migrate from a very complicated SVN setup to Git. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: The Blender foundation Blender's migration using reposurgeon: Reposurgeon, developed by Eric S. Raymond and Julien Rivaud How reposurgeon wins (features, compares with other tools) Main Blender migration repository Blender migration readme Blender addons - good example of a small repo The git submodule issue we ran into Blender's new issue/patch tracker: Phabricator (issue tracker from Facebook) Phabricator Arcanist (command line tool) Blender's Phabricator instance "Famous" Git migrations/inspiration: A tale about a Big SVN to Git Migration (JBoss Tools) (slides) Converting a Subversion repository to Git (Drupal)  Migrating from Subversion to Git Gnome's Git migration KDE's move to Git QT switching to Git (part 1) QT switching to Git (part 2) Battle of Wesnoth switching to Git (using reposurgeon) Get in touch with Campbell/Blender: The Blender Network Blender Stack Exchange You can reach Campbell via email on ideasman42 [at] gmail.com The Blender Podcast This week's pro-tip: List all files ever: git log --all --pretty=format: --name-only --diff-filter=A | sort --unique - See the Blender migration readme for more handy one-liners. Listen to the episode on YouTube

 GitMinutes #25: Sytse Sijbrandij from GitLab | File Type: audio/mpeg | Duration: Unknown

In this episode, we talk to Sytse Sijbrandij, co-founder of GitLab, a company providing services around the open source Git repo manager of the same name. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: The ChangeLog episode with Sytse Sytse on Twitter, GitHub, Google+ GitLab homepage Bitnami's GitLab stack GitLab Shell GitLab-CI Pro-tips: Use git bisect to find when bugs were introduced Git goodness in oh-my-zsh  git subtree (or filter-branch with subtree) Easier Git URLs by configuring SSH Listen to the episode on YouTube

 GitMinutes #24: Zoran Zaric on Backups with Bup | File Type: audio/mpeg | Duration: Unknown

In this episode, we talk to Zoran Zaric about how to make backups with Bup, a backup system loosely based on Git. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: bup homepage, design-notes, hacking instructions bup mailing list (google groups) IRC channel is #bup on freenode Zoran on GitHub, Twitter, Google+, homepage Thomas mentioned a script for storing mysql dumps in regular git: mygitbackup Alternatives: BackupPC, rsnapshot, duplicity Zoran's recorded bup presentation from 3 years ago, slides Zoran's photography Facebook page Update: Zoran elaborates on bup's two server modes Listen to the episode on YouTube

 GitMinutes #23: Chris Aniszczyk on Git and Open Source | File Type: audio/mpeg | Duration: Unknown

In this episode we talk to Chris Aniszczyk. He’s head of open source at Twitter, and he’s been heavily involved with the Eclipse foundation where he sits on the board of directors. Over the last years he’s been guiding Eclipse’s migration to Git while being very active in the JGit/EGit projects. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: Chris on Twitter, GitHub, blog/homepage Chris: 100 Days: Eclipse Foundation Moves to Git Chris: Eclipse Foundation Migrated to Git Chris: Apache and Politics Over Code? Mike Milinkovich: Embracing Social Coding at Eclipse The Vert.x debacle begins Vert.x preparing move to Eclipse Eclipse’s GitHub mirrors Open source at Twitter on Twitter, homepage, GitHub:  Wired article: Return of the Borg: How Twitter Rebuilt Google’s Secret Weapon Linux-foundation and the automotive industry Docker Apache Mesos Listen to the episode on YouTube

 GitMinutes #22: Alexander Kitaev about SubGit | File Type: audio/mpeg | Duration: Unknown

In this episode we are joined by Alexander Kitaev, founder of TMate software, the company behind SubGit, a tool that helps you migrate from Subversion to Git with bi-directional mirroring. We also talk a lot about the good parts of Subversion. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: SubGit homepage, on Twitter, Google+ SVNKit - Java [Sub]Versioning Library Syntevo’s SmartCVS Thomas' Git-SVN mirror setup Make sure to use git-svn with --prefix SubGit Stash plugin GitMinutes #20 where Mick Wever talks about them using said Stash plugin Git core developer Jeff King about large files in Git GitMinutes #16 about git-annex Listen to the episode on YouTube

 GitMinutes #21: Karoline and Arve on Using Git in a .Net Shop | File Type: audio/mpeg | Duration: Unknown

This episode we're talking to Karoline Klever and Arve Systad from the Norwegian company Epinova, working with a .Net based CMS called EPiServer. They're well on their way migrating to Git and I wanted to hear how it's working out for them. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: Arve on Twitter, GitHub, homepage Karoline on Twitter, GitHub, blog Tools used at Epinova:  SourceTree (Git GUI tool) Atlassian Stash (repository manager) Resources used for migrating to git:  The ProGit chapter on Migrating to Git Thomas' screencast on repairing git-svn repos using grafts Resources for learning Git: Pro Git book git-scm.com videos Try Git Git for beginners: The definitive practical guide (from SO) One Git cheat sheet Another Git cheat sheet Other things we talked about GitMinutes #05: Git in Visual Studio and TFS Thomas’ Git setup on Windows Nuget, Chocolatey, posh-git Have Git use credentials from encrypted netrc file Arve’s open source QA “checklist” tool What I totally forgot to mention was that there are a couple of alternative command line tools for Windows that can wrap Powershell, or any other shell inside: Console2 (sleeping project, but still works great) ConEmu Scott Hanselman's verdict of the two choices above Listen to the episode on YouTube

 GitMinutes #20: Mick Wever on Migrating to Git | File Type: audio/mpeg | Duration: Unknown

In this episode, we talk to Mick Wever about how they migrating a big team of developers from Subversion to Git. Mick has been involved with various open source projects since ancient times, and during the day time he’s working for FINN, which is Norway’s dominating classifieds website. The company has a very interesting story, and we investigate how and why they were able to make the switch to Git. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: Mick on GitHub, Twitter  Scarab issue tracker FINN’s Tech blog Mick's article about their Git migration Package Management conflicts Continuous Delivery Apache Tiles Apache’s Git mirrors Atlassian's article on migration from SVN to Git SubGit Stash plugin The Flow of Change (techtalk from Google) GitHub Flow vs Git Flow  Practical API Design (book) NetBeans API blog Configure git pull to rebase: git config --global branch.master.rebase true git config --global branch.autosetuprebase always Mick's favorite log format: git config --global alias.lol "log --follow --find-copies-harder --graph --abbrev=4 --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %Cgreen%ai %n %C(bold blue)%aN%Creset %B'" A lot of other nice aliases and configuration tips we talked about can be found at the bottom of the FINN blog post under the section 'Tips and tricks for beginners…'. Listen to the episode on YouTube

 GitMinutes #19: Marcin Kuzminski from RhodeCode | File Type: audio/mpeg | Duration: Unknown

Today we are talking to Marcin Kuzminski, a Python programmer with a passion for version control systems. He is the co-founder of RhodeCode, an open-source Git/Mercurial hosting provider. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links from the show: RhodeCode (twitter, blog, help, sources) vcs-lib on github Marcin on twitter, google+ I mentioned a .Net based Git server: Bonobo is its name How to store your HTTP(S) Git password encrypted on Windows (updated) Listen to the episode on YouTube

 GitMinutes #18: Tair and Tero from Deveo | File Type: audio/mpeg | Duration: Unknown

In this episode we talk to Tair Assimov and Tero Parviainen from Deveo. Deveo is a new breed of software development and collaboration platform to host and manage your source code. Instead of giving all possible SCM features, Deveo's goal is to enable 3rd party developers extend the platform with consistent applications. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: Deveo homepage, blog, twitter Deveo Developer docs ROI calculation Usability tests we’ve done Version Control Weekly newsletter, archives Peter Cooper's various newsletters for developers Libgit2 Database Backends Shallow and sparse Git clones Tero adds: "When you sign up for Deveo, there is one hidden App I mentioned, “mdoc”:  When you have a Git repository in Deveo, with Mdoc you can create Markdown formatted files and the Deveo Web Client will render the contents and outline. Be aware, this is an experimental app built in couple of days to get to know Deveo when I joined the team." Listen to the episode on YouTube

 GitMinutes #17: Nicholas Zakas on How Companies Are Using Git(Hub) | File Type: audio/mpeg | Duration: Unknown

Today we are talking to Nicholas Zakas. He is a front-end engineer, author, and speaker working at Box, and before that, he worked at Yahoo! for almost five years, where he was front-end tech lead for the Yahoo! homepage and a contributor to the YUI library. He regularly blogs, and for a recent blog-post he conducted a little research on how people use GitHub in a company internal context, so I invited him onto the show to ask about his findings. If you cannot see the audio controls, your browser does not support the audio element. Use the link below to download the mp3 manually. Link to mp3 Links: Nicholas' homepage/blog, Google+, Twitter, GitHub His article about how people are using GitHub Box Underscore vs Lo-Dash "controversy" (I heard about it on JavaScript Jabbers) Unfuddle (GitHub alternative with more stuff) Some tools for cleaning up old branches Nicholas' latest project: ESLint  Listen to the episode on YouTube

Comments

Login or signup comment.