title | layout | date | author | categories | navbar | |
---|---|---|---|---|---|---|
Git Rev News Edition 61 (March 25th, 2020) |
default |
2020-03-25 12:06:51 +0100 |
chriscool |
|
false |
Welcome to the 61st edition of Git Rev News, a digest of all things Git. For our goals, the archives, the way we work, and how to contribute or to subscribe, see the Git Rev News page on git.github.io.
This edition covers what happened during the month of February 2020.
-
The Git Merge conference happened on March 4, 2020 in Los Angeles. It was organized by GitHub and sponsored by GitHub, GitLab and the Software Freedom Conservancy.
Over 300 people attended. Some people didn't attend, and some talks had to be changed at the last minute due to coronavirus related reasons.
On the wall a big timeline mentioned some important events in Git history.
There was a party in the evening with a big cake dedicated to Git's 15th anniversary.
-
The Git Contributor Summit happened on March 5, 2020 in Los Angeles, the day after the Git Merge conference. The event was also organized by GitHub.
There were 26 people attending physically and 5 people attending remotely.
As usual it was an unconference where people wrote topics on a whiteboard during the breakfast and then voted on them by putting a tick-mark on the board. The topics were then discussed during the day roughly from the most voted on to the less voted on.
Notes have been taken collaboratively and sent to the mailing list afterwards.
-
AGit-Flow and git-repo (written by Jiang Xin)
AGit-Flow and git-repo is a blog post on a missing speech from Git Merge 2020. Jiang Xin, a developer at Alibaba China, had planned to speak at the Git Merge 2020 conference, but canceled his flight due to a coronavirus outbreak in China. He wrote this blog post about the topic he wanted to present at the conference.
In this blog post, he introduces a centralized workflow (named AGit-Flow) implemented at Alibaba, and an Open Source command-line tool "git-repo", which is hosted on GitHub: https://github.com/alibaba/git-repo-go. The tool is not bound to a single protocol or a single server. It is extensible and can run on Gerrit, AGit-Flow or other compatible protocols.
The implementation of AGit-Flow has been contributed to the Git mailing list, and this feature is under code review. Junio stated that the proposed name of the new hook was inappropriate. Therefore, after a code review of these patches, expect some updates on the blog post.
-
Who are you and what do you do?
In the Git community I am a contributor since 2006, a member of the PLC (the "Project Leadership Committee" which represents Git in the Conservancy) since a few years ago and a Git Rev News editor since exactly 5 years ago when it started! I also regularly mentor or co-mentor GSoC students or Outreachy interns, and sometimes give presentations about Git at conferences.
My current job title is Senior Backend Engineer in the Gitaly team at GitLab. I have been working full time for GitLab since October last year. Previously since October 2015 I was freelancing for GitLab, Booking.com and Protocol Labs.
I am very happy that GitLab supports my involvement in Git and the Git community. At GitLab I am involved in development activities, and a bit in support, marketing, community relations and sometimes even sales, around Git.
As a hobby I am singing in a choir and with a teacher. I also enjoy time with my 3 teenager kids.
-
What would you name your most important contribution to Git?
I think the improvements I contributed to
git bisect
around 2007-2008 helped the Linux kernel community and gave Git an additional edge. At that time it was not clear that Git was going to overcome other version control systems.Also around 2008 I co-mentored for the first time a GSoC student working on the sequencer which has become more and more useful as it's now the default underlying engine behind
git rebase
.More recently I am happy that my patches to make it possible to have more than one promisor remote have been merged. I think it's an interesting way to improve performance and to broaden usage.
-
What are you doing on the Git ecosystem these days, and why?
My time is spent on probably too many different things, like GSoC or Outreachy, Git Rev News, PLC, GitLab activities, improving partial clone, helping with getting GitHub patches merged upstream.
-
If you could get a team of expert developers to work full time on something in Git for a full year, what would it be?
Right now I think it would be a good time to work on specialized drivers/helpers for additional promisor remotes, and on improving partial clone. I am glad though that the main companies contributing to Git have already asked their developers to focus on improving partial clone.
-
If you could remove something from Git without worrying about backwards compatibility, what would it be?
I think I would streamline as much as possible what's in the Git repo. That is I would remove git-gui, gitk, gitweb, git-svn, git-p4, contrib/ and even the Git test framework, which could perhaps be merged with Sharness. These related tools could live in their own repo but still be discussed on the mailing list and automatically be released at the same time as Git. It would be a significant amount of work to set this up properly, but then new Git related tools, like git-filter-repo or git-subtrac, and perhaps old tools too could probably better find their place in the ecosystem.
-
What is your favorite Git-related tool/library, outside of Git itself?
In 2016 I became the maintainer of Sharness which was extracted from the Git test framework in 2011. I have thought for a long time that the Git test framework has helped tremendously in keeping the amount of regressions and bugs in Git very low. I don't have much time to take care of Sharness, but I think it can still help a lot.
- Git 2.26.0, 2.25.2, 2.26.0-rc2, 2.26.0-rc1, 2.26.0-rc0
- Git for Windows 2.26.0(1)
- Bitbucket Server 7.0
- Gerrit Code Review 2.16.17
- GitHub Enterprise 2.20.3, 2.20.2, 2.19.9, 2.18.14, 2.17.20, 2.20.1, 2.19.8, 2.18.13, 2.17.19
- GitLab 12.9, 12.8.7, 12.8.6, 12.8.5, 12.8.2, 12.8.1, 12.8
- GitKraken 6.5.4, 6.5.3, 6.5.2
Various
- Outreachy winter internships finished. Both Heba Waly and Miriam Rubio successfully finished their Outreachy internships. Miriam posted a final blog post about it.
- Git has been selected as a Google Summer of Code 2020 mentor organization. Students willing to participate need to apply online until March 31.
- Tower for Teachers & Universities: Teachers and universities get free access to Tower "Pro" Git GUI.
Light reading
-
Derrick Stolee's slides for his "Git at Scale for Everyone" talk during the Git Merge 2020 conference are available.
-
Elijah Newren's slides for his "Scaling the Merge Machinery" talk during the Git Merge 2020 conference are available in his personal notes and presentations repository. Steps to reproduce the speedups he got can be found here.
-
Graph operations in Git, and how to make them faster presentation slides by Jakub Narębski on SpeakerDeck; also available on SlideShare and as PDF file.
-
Highlights from Git 2.26 by Taylor Blau on GitHub Blog
-
Git moves to new defaults in 2.26 release by Julia Schmidt, about version 2 of the transport protocol, backend used by
git rebase
, etc. -
How Git Partial Clone lets you fetch only the large file you need by James Ramsay on GitLab Blog.
-
Make advanced Git tasks simple with Lazygit: 5 ways to harness the power of git with the Lazygit terminal UI by Jesse Duffield. Lazygit was mentioned in Git Rev News Edition #42 (August 22nd, 2018).
-
Introducing b4 and patch attestation by Konstantin Ryabitsev. The b4 tool started out as
get-lore-mbox
; the latter was mentioned in Git Rev News Edition #60 (February 19th, 2020).- Attestation for kernel patches [LWN.net] by Jonathan Corbet.
-
Please stop recommending Git Flow! by George Stocker (Git Flow branching model was popularized by blog post entitled A Successful Git branching model).
-
A Beginner’s Guide to Git -- How to Write a Good Commit Message by Gaël Thomas.
-
10 Git Techniques You Need to Know Before You Join a Team by Shaumik Daityari on Sitepoint.
-
Feature Flags and GitOps. 5 Use Cases to Help You ‘Git’r Done. by Kristin Baskett of CloudBees. The idea of GitOps was mentioned in Git Rev News Edition #42 (August 22nd, 2018) and #43.
-
Microsoft’s Scalar speeds up Git by Paul Krill in InfoWorld. Scalar was mentioned in Git Rev News Edition #60 (February 19th, 2020).
Git tools and sites
- Scalar by Microsoft is a set of tools, settings and extensions for Git to help manage large Git repositories.
- bash-git-prompt: an informative and fancy bash prompt for Git users, a port of the "Informative git prompt for zsh".
- showthedocs is a both a syntax highlighter and a documentation browser that finds the relevant docs for your code. Given code, it parses and highlights it, and makes it possible to jump directly to the place in the docs where an item is explained. Includes support for the gitconfig "language".
- //grep.app: Search across a half million git repos, currently public repositories on GitHub; you can search by regular expression, using the RE2 syntax.
This edition of Git Rev News was curated by Christian Couder <[email protected]>, Jakub Narębski <[email protected]>, Markus Jansen <[email protected]> and Kaartic Sivaraam <[email protected]> with help from Jiang Xin and Nuritzi Sanchez.