Skip to content

Latest commit

 

History

History
264 lines (217 loc) · 14.3 KB

2020-05-28-edition-63.markdown

File metadata and controls

264 lines (217 loc) · 14.3 KB
title layout date author categories navbar
Git Rev News Edition 63 (May 28th, 2020)
default
2020-05-28 12:06:51 +0100
chriscool
news
false

Git Rev News: Edition 63 (May 28th, 2020)

Welcome to the 63rd 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 April 2020.

Discussions

General

  • GSoC 2020 Students and Projects

    The following three students have been officially accepted to work on Git as part of the GSoC (Google Summer of Code) 2020:

    It will be the 13th Summer that the Git project will mentor students as part of the GSoC. Shourya, Hariom and Abhishek will be the 30th, 31st and 32nd students mentored since 2007 when Git started participating in the GSoC.

    It will be the 16th year of the GSoC, but unfortunately because of the current sanitary situation in the world, there will be no GSoC Mentor Summit, and no swag will be sent to participants this year.

Reviews

  • remote.c: fix handling of push:remote_ref

    Last February Damien Robert sent a patch to change how 'ref-filter.c' interprets %(push:remoteref).

    Damien had already sent a patch in April 2019 to fix another bug in 'ref-filter.c' related to %(push:track). This patch was incorporated in Git 2.22.

    'ref-filter.c' is some internal API that formats information about Git refs or Git objects. It's used by commands like git branch and git for-each-ref.

    The issue Damien wanted to fix was that 'ref-filter.c' didn't take into account the push.default config option which is used when no refspec is specified for the push.

    Peff, alias Jeff King, replied to Damien, and made it clear that it was about taking push.default into account. He also found that Damien's patch wouldn't work in the case where push.default was set to upstream and a branch has been set to track a specific branch different than the default one.

    Peff then commented on the code and asked for some tests, saying that the current tests were not covering this case and that they would wrongly fail if Damien's patch was applied.

    Damien replied to Peff agreeing about the upstream case and to add more tests. He found that his initial code also wouldn't work when push.default was set to nothing.

    Peff and Damien discussed a bit more some details of the possible changes in the code, while Peff proposed a preparatory patch to clean up the current code before Damien's changes. Then Damien sent a version 2 of his patch along with Peff's preparatory patch.

    The version 2 handled all push.default cases and added tests for them, but Junio Hamano, the Git maintainer, suggested improvements in the commit message of the preparatory patch. Peff suggested improvements of his own but agreed with Junio's suggestion too.

    Meanwhile Damien found issues in version 2 of his own patch, and separately Junio commented on it and suggested some improvements. Damien and Junio soon agreed, and then Damien sent a version 3 of his patch. This version contained only Damien's patch, as Peff's patch was merged separately.

    Peff found a memory leak around Damien's patch, but the leak had already been there before the patch. Peff also suggested small improvements to the tests, and eventually sent his own version of Damien's patch for him to "to try it out or hack on it further".

    Damien found an issue in Peff's patch though, and, after improving the tests in his patch, more existing issues in the current code in case of a triangular workflow. Peff commented that these issues could be left for a separate fix though.

    Damien then sent a version 6 of his patch, though the title in the cover letter mistakenly contains "v4", saying version 4 and version 5 were intermediate versions he made but did not send to the mailing list.

    This version contained a preparatory patch to fix the triangular workflow issues Damien had found, as well as his updated patch with tests for both his fixes in this patch and the triangular workflow fixes. However, this patch series was marked as RFC, since its first patch was not very polished and did not fix all corner triangular workflow cases.

    This led to some release confusion as Junio then had merged the 2 patches to the next branch, while Damien had sent a version 8 that contained only his patch without the triangular workflow fixes and test cases.

    This last version is now merged in the pu branch, and is likely to find its way to master, while hopefully the fixes related to triangular workflows will be re-sent separately.

Releases

Other News

Various

Light reading

Git tools and sites

  • Fork, a fast and friendly proprietary git client for Mac and Windows (with free evaluation).
  • Git-Stats is an open-source GitHub contribution analyzer service written in Node.js.
  • Git Insights is an open-source analytics tool to give you insights on your software projects and teams, currently supporting only GitHub (as GitHub App); support for Bitbucket, GitLab and self-hosted repositories is planned.
  • GitSavvy is an open-source Sublime Text 3 plugin providing full Git and GitHub integration.

Credits

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 Johannes Schindelin, Elijah Newren and Damien Robert.