Tuesday, May 5, 2015

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

Christian Couder, about Git Rev News

Carlos Martín Nieto, about libgit2


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

Monday, April 6, 2015

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


More background material about Tim:

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!

Monday, March 16, 2015

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

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.
* 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 nitrous.io 
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?

Monday, March 2, 2015

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


git-deps issues/enhancements mentioned

Technologies used in git-deps
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?

Thursday, February 19, 2015

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

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!

Monday, July 7, 2014

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.


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.

Monday, May 19, 2014

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

Things we mentioned:
James' pro-tips:
Some things we didn't talk about, but I'd like to mention:

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