From ad39cc86e03079570e13133d4687987ffa2194c5 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 24 Jan 2023 17:05:31 +0100 Subject: [PATCH 001/797] Add SoC-2023-Ideas.md --- SoC-2023-Ideas.md | 102 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 SoC-2023-Ideas.md diff --git a/SoC-2023-Ideas.md b/SoC-2023-Ideas.md new file mode 100644 index 0000000000..f4186a0533 --- /dev/null +++ b/SoC-2023-Ideas.md @@ -0,0 +1,102 @@ +--- +layout: default +title: SoC 2022 Ideas +--- + +This is the idea page for Summer of Code 2022 for Git. + +*Please completely read the [general application information](https://git.github.io/General-Application-Information) +page before reading the idea list below.* + +## Summer of code main project ideas + +**Students**: Please consider these ideas as starting points for +generating proposals. We are also more than happy to receive proposals +for other ideas related to Git. Make sure you have read the "Note +about refactoring projects versus projects that implement new +features" in the [general application information](https://git.github.io/General-Application-Information) +page though. + +### More Sparse Index Integrations + +The [spare index feature](https://github.blog/2021-11-10-make-your-monorepo-feel-small-with-gits-sparse-index/) +accelerates Git commands when using +[sparse-checkout in cone mode](https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/). +This works by modifying the on-disk index file in a way that includes +"sparse directory" entries instead of only file entries. This requires +care when enabling the sparse index for different commands, as custom +logic might be necessary. At minimum, interaction with the sparse index +needs to be carefully tested in the Git test suite when enabling it. + +The most-used commands have already been integrated with the sparse +index feature. This process usually takes a few steps: + +1. Add tests to [`t1092-sparse-checkout-compatibility.sh`](https://github.com/git/git/blob/master/t/t1092-sparse-checkout-compatibility.sh) + for the builtin, with a focus on what happens for paths outside of the + sparse-checkout cone. +2. Disable [the `command_requires_full_index` setting](https://github.com/git/git/blob/master/repository.h#L35) + in the builtin and ensure the tests pass. +3. If the tests do not pass, then alter the logic to work with the sparse index. +4. Add tests to [check that a sparse index stays sparse](https://github.com/git/git/blob/38062e73e009f27ea192d50481fcb5e7b0e9d6eb/t/t1092-sparse-checkout-compatibility.sh#L873-L939). +5. Add [performance tests](https://github.com/git/git/blob/master/t/perf/p2000-sparse-operations.sh) + to demonstrate speedup. + +Here is a list of builtins that could be integrated with the sparse index. +They are generally organized in order of least-difficult to most-difficult. +This allows the student to gain partial success early in the project and +the student can complete as many as possible in the timeframe (without +expectation that _all_ will be completed during the project). + +* `git rm` +* `git grep` +* `git rev-parse` +* `git fsck` +* `git check-attr` +* `git describe` +* `git diff-files` +* `git diff-index` +* `git diff-tree` +* `git worktree` +* `git write-tree` +* `git apply` +* `git am` +* `git checkout--worker` (for parallel checkout) +* `git merge-index` +* `git rerere` + +Expected Project Size: 175 hours or 350 hours + +Difficulty: Medium + +Languages: C, shell(bash) + +Possible mentors: + +### Unify ref-filter formats with other pretty formats + +Git has an old problem of duplicated implementations of some +logic. For example, Git had at least 4 different implementations to +format command output for different commands. + +Our previous GSoC students and Outreachy interns unified some of the +formating logic into +[ref-filter](https://github.com/git/git/blob/master/ref-filter.h) and +got rid of similar logic in some command specific files. Current task +is to continue this work and reuse ref-filter formatting logic in +[pretty](https://github.com/git/git/blob/master/pretty.h). + +See: + + - this discussion + - Hariom Verma's GSoC 2020 final report + - Nsengiyumva Wilberforce's recent work on this + +Expected Project Size: 175 hours or 350 hours + +Difficulty: Medium + +Languages: C, shell(bash) + +Possible mentors: +* Christian Couder < > + From d9a0b558b58b7cfebe585cd3b183b1f092ba1a2c Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 24 Jan 2023 17:07:10 +0100 Subject: [PATCH 002/797] SoC-2022-Ideas: remove from navbar --- SoC-2022-Ideas.md | 1 + 1 file changed, 1 insertion(+) diff --git a/SoC-2022-Ideas.md b/SoC-2022-Ideas.md index 4a87ef195b..8e3bc62e96 100644 --- a/SoC-2022-Ideas.md +++ b/SoC-2022-Ideas.md @@ -1,6 +1,7 @@ --- layout: default title: SoC 2022 Ideas +navbar: false --- This is the idea page for Summer of Code 2022 for Git. From d1e654f7a84199b2fa844195c4dea7bc76b509c2 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 24 Jan 2023 17:08:56 +0100 Subject: [PATCH 003/797] SoC-2023-Ideas: fix 2022 -> 2023 issues --- SoC-2023-Ideas.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SoC-2023-Ideas.md b/SoC-2023-Ideas.md index f4186a0533..7578e04164 100644 --- a/SoC-2023-Ideas.md +++ b/SoC-2023-Ideas.md @@ -1,9 +1,9 @@ --- layout: default -title: SoC 2022 Ideas +title: SoC 2023 Ideas --- -This is the idea page for Summer of Code 2022 for Git. +This is the idea page for Summer of Code 2023 for Git. *Please completely read the [general application information](https://git.github.io/General-Application-Information) page before reading the idea list below.* From 969b6b6d4f8fa07099d782fee4935fe4b56c3803 Mon Sep 17 00:00:00 2001 From: Victoria Dye Date: Tue, 24 Jan 2023 09:56:24 -0800 Subject: [PATCH 004/797] SoC-2023-Ideas: remove finished sparse index integrations Both 'git grep' and 'git rm' were completed as part of GSoC last year. --- SoC-2023-Ideas.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/SoC-2023-Ideas.md b/SoC-2023-Ideas.md index 7578e04164..3df63e89a2 100644 --- a/SoC-2023-Ideas.md +++ b/SoC-2023-Ideas.md @@ -47,8 +47,6 @@ This allows the student to gain partial success early in the project and the student can complete as many as possible in the timeframe (without expectation that _all_ will be completed during the project). -* `git rm` -* `git grep` * `git rev-parse` * `git fsck` * `git check-attr` From 00f86a17a2069cb2416672f752ed22cddab60e4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Nar=C4=99bski?= Date: Wed, 25 Jan 2023 04:02:16 +0100 Subject: [PATCH 005/797] rn-95: Add links to various news, articles, and tools (part 1) --- rev_news/drafts/edition-95.md | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/rev_news/drafts/edition-95.md b/rev_news/drafts/edition-95.md index 29cab4a753..3da7a1349e 100644 --- a/rev_news/drafts/edition-95.md +++ b/rev_news/drafts/edition-95.md @@ -40,15 +40,64 @@ This edition covers what happened during the months of November 2022 and Decembe __Various__ +* [Git security vulnerabilities announced](https://github.blog/2023-01-17-git-security-vulnerabilities-announced-2/) + that affect versions 2.39 and older. + * Two of three vulnerabilities were found as part of an audit of the Git codebase + conducted by [X41](https://x41-dsec.de/). This audit was sponsored by the + [Open Source Technology Improvement Fund (OSTIF)](https://ostif.org/). + X41 have also published information about this + [Security Audit of Git](https://x41-dsec.de/security/research/news/2023/01/17/git-security-audit-ostif/). + * [This Week In Security: Git Deep Dive, Mailchimp, And SPF](https://hackaday.com/2023/01/20/this-week-in-security-git-deep-dive-mailchimp-and-spf) + by Jonathan Bennett on Hackaday. +* [GitHub Sponsors will stop supporting PayPal](https://github.blog/changelog/2023-01-23-github-sponsors-will-stop-supporting-paypal/), + starting on February 23, 2023. +* GitHub is [sunsetting Subversion support](https://github.blog/2023-01-20-sunsetting-subversion-support/). + On January 8, 2024, GitHub will remove support for Subversion. + __Light reading__ +* [Beyond Git: The other version control systems developers use](https://stackoverflow.blog/2023/01/09/beyond-git-the-other-version-control-systems-developers-use/) + by Ryan Donovan on The Overflow (StackOverflow\.Blog). +* [Never write a commit message again (with the help of GPT-3)](https://zura.wiki/post/never-write-a-commit-message-again-with-the-help-of-gpt-3/) + by Roger Zurawicki on his blog _(though read proposed commit message before accepting it, please)_. + +* [Mastering the Art of Writing Effective Git Commit Messages](https://dev.to/ashishxcode/mastering-the-art-of-writing-effective-github-commit-messages-5d2p) + by Ashish Patel on DEV\.to. +* [How to Checkout a Remote Git Branch](https://www.howtogeek.com/864263/how-to-checkout-a-remote-git-branch/) + by Dave McKay on Hot-To Geek; + though the article missed DWIM `git checkout ` trick, + and do not mention newer `git switch ` command as alternative to `git checkout `. + __Git tools and sites__ +* [Git-Sim: Visually Simulate Git Operations In Your Own Repos](https://initialcommit.com/blog/git-sim). + Run a one-liner git-sim command in the terminal, + for example `git-sim reset HEAD^` or `git-sim merge dev`, + to generate a custom Git command visualization (.jpg, .mp4) from your repository. +* [heatwave](https://github.com/james-stoup/heatwave) + is a tool to visualize your git commits with a heat map in the terminal, + similar to how GitHub's heat map looks. +* [git-stats](https://github.com/IonicaBizau/git-stats) is a similar tool + to visualize local git statistics, including GitHub-like contributions calendars. + * Note that [Git-Stats](https://gitstats.me/), also known as GitStats\.me + is an unrelated open-source GitHub contribution analyzer as a web service, + which was mentioned in [Git Rev News Edition #63](https://git.github.io/rev_news/2020/05/28/edition-63/). +* [scmrepo](https://github.com/iterative/scmrepo) by Iterative + is a SCM wrapper and [fsspec][] filesystem for Git for use in [DVC][]. + Works with multiple backends: pygit2 (libgit2), Dulwich, and GitPython. + * [DVC (Data Version Control)][DVC] was first mentioned in + [Git Rev News Edition #42](https://git.github.io/rev_news/2018/08/22/edition-42/). + [fsspec]: https://filesystem-spec.readthedocs.io/ "fsspec: Filesystem interfaces for Python" + [DVC]: https://dvc.org/ "Data Version Control · DVC" +* [gptcommit](https://github.com/zurawiki/gptcommit) is a + git prepare-commit-msg [hook](https://git-scm.com/docs/githooks) + for authoring commit messages with GPT-3 language model. + Note: you need to ensure you have sufficient credits in your OpenAI account to use it. ## Credits From 77ced277537c0450050152ab07103166bce5e0c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Nar=C4=99bski?= Date: Wed, 25 Jan 2023 22:29:15 +0100 Subject: [PATCH 006/797] rn-95: Add links to various news, articles, and tools (part 2) --- rev_news/drafts/edition-95.md | 57 ++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/rev_news/drafts/edition-95.md b/rev_news/drafts/edition-95.md index 3da7a1349e..04d524a432 100644 --- a/rev_news/drafts/edition-95.md +++ b/rev_news/drafts/edition-95.md @@ -53,6 +53,8 @@ __Various__ starting on February 23, 2023. * GitHub is [sunsetting Subversion support](https://github.blog/2023-01-20-sunsetting-subversion-support/). On January 8, 2024, GitHub will remove support for Subversion. +* [XetHub raises $7.5M for its Git-based data collaboration platform](https://techcrunch.com/2023/01/09/xethub-raises-7-5m-for-its-git-based-data-collaboration-platform/) + by Frederic Lardinois on TechCrunch. __Light reading__ @@ -61,13 +63,42 @@ __Light reading__ by Ryan Donovan on The Overflow (StackOverflow\.Blog). * [Never write a commit message again (with the help of GPT-3)](https://zura.wiki/post/never-write-a-commit-message-again-with-the-help-of-gpt-3/) by Roger Zurawicki on his blog _(though read proposed commit message before accepting it, please)_. +* [Sending a kernel patch with b4 (part 1)](https://people.kernel.org/monsieuricon/sending-a-kernel-patch-with-b4-part-1) + by Konstantin Ryabitsev (sending patch with [b4](https://git.kernel.org/pub/scm/utils/b4/b4.git) + is described in [Contributor overview](https://b4.docs.kernel.org/en/stable-0.11.y/contributor/overview.html) + section of the tool documentation). + * [Introducing b4 and patch attestation](https://people.kernel.org/monsieuricon/introducing-b4-and-patch-attestation) + was mentioned in [Git Rev News Edition #61](https://git.github.io/rev_news/2020/03/25/edition-61/). +* [The GitHub Silverware Drawer Dilemma, Or: Finding Active Repository Forks](https://hackaday.com/2023/01/08/the-github-silverware-drawer-dilemma-or-finding-active-repository-forks/) + by Maya Posch on Hackaday points to projects that help to find the most active fork. +* [7 Git articles every open source practitioner should read](https://opensource.com/article/23/1/git-articles) + by AmyJune Hineline from RedHat on OpenSource\.com. +* [Understanding Git through images](https://dev.to/nopenoshishi/understanding-git-through-images-4an1) + by kataoka_nopeNoshishi on DEV\.to. +* [Querying the GitHub archive with the ClickHouse Playground](https://til.simonwillison.net/clickhouse/github-explorer) + by Simon Willison on Simon Willison’s TILs (Today I've Learned). +* [7 tips for improving your productivity with Git](https://blog.genezini.com/p/7-tips-for-improving-your-productivity-with-git/) + by Daniel Genezini on his "It works on my machine" blog + (also [on DEV\.to](https://dev.to/dgenezini/7-tips-for-improving-your-productivity-with-git-ajg)). +* [Fix that damn Git Unsafe Repository](https://weblog.west-wind.com/posts/2023/Jan/05/Fix-that-damn-Git-Unsafe-Repository) + by Rick Strahl on Rick Strahl's Weblog. * [Mastering the Art of Writing Effective Git Commit Messages](https://dev.to/ashishxcode/mastering-the-art-of-writing-effective-github-commit-messages-5d2p) by Ashish Patel on DEV\.to. +* [11 tips for writing a good Git commit message](https://opensource.com/article/22/12/git-commit-message) + by AmyJune Hineline from RedHat on OpenSource\.com. +* [20 Git Commands you (probably) didn't know about](https://dev.to/lissy93/20-git-commands-you-probably-didnt-know-about-4j4o) + by Alicia Sykes on DEV\.to. * [How to Checkout a Remote Git Branch](https://www.howtogeek.com/864263/how-to-checkout-a-remote-git-branch/) - by Dave McKay on Hot-To Geek; + by Dave McKay on How-To Geek; though the article missed DWIM `git checkout ` trick, and do not mention newer `git switch ` command as alternative to `git checkout `. +* [Git tutorials - understanding of rebase and merge](https://dev.to/bitethecode/git-tutorials-understanding-of-rebase-and-merge-2cg4) + by Joonhyeok Ahn (Joon) on DEV\.to is the final part in 4 part + [Git Cookbook](https://dev.to/bitethecode/series/20767) series. + +* [Golang (and thus `git-lfs`) is evil on shitty networks](https://withinboredom.info/blog/2022/12/29/golang-is-evil-on-shitty-networks/) + on Somewhere Within Boredom blog _(may be fixed by the time you are reading this)_. - + +* [Question: How to execute git-gc correctly on the git server](https://lore.kernel.org/git/CAOLTT8Tt3jW2yvm6BRU3yG+EvW1WG9wWFq6PuOcaHNNLQAaGjg@mail.gmail.com/) + + ZheNing Hu asked about how he could run `git gc` correctly on his + own Git server. He seemed to be afraid by + [the `git gc` documentation](https://git-scm.com/docs/git-gc) + saying that there is a risk of failures and repository corruption + when the command is run concurrently with other Git processes. + + He said that he + [read about `git gc --cruft`](https://github.blog/2022-09-13-scaling-gits-garbage-collection/) + which could overcome these issues, but that he was still using Git + v2.35 on his server while `--cruft` was introduced in v2.38. + + He also wondered if before v2.38 a repository level lock blocking + some Git operations was needed and what any Git command run when the + lock is taken should do and report. + + Ævar Arnfjörð Bjarmason replied that running `git gc` on a "live" + repo was always racy, but the odds of corrupting the repo were + becoming very small when the value of the `gc.pruneExpire` config + option was increased. He said that the default setting for this + option, 2 weeks, was "more than enough for even the most paranoid + user". + + About `--cruft`, Ævar thought that its purpose was not only to avoid + possible repo corruption, but also to allow more aggressive gc + (garbage collection). + + He also wondered if this question was about large hosting sites like + GitHub, and GitLab where `git gc` is run on live repos, and + suggested not to worry in this case, but to take backups. + + Jeff King, alias Peff, replied to Ævar saying he was "a bit less + optimistic" about the corruption risk decreasing when + `gc.pruneExpire` is increased because there was no atomic view of + the ref namespace. So renaming a branch for example was risky + because it could be seen as removing a branch and adding a different + one by any concurrent process. Such a process could be another push, + not just a gc. + + Peff also said that using `--cruft` was not so much about avoiding + corruption, but about keeping cruft objects out of the main pack to + reduce the cost of lookups and bitmaps, and about avoiding to + explode a lot of old objects into loose objects, which could be very + bad for performance. + + Ævar replied to Peff discussing further when corruption was likely + or not to happen, which issues `--cruft` could help with, and a + patch he sent in the past to reduce possible corruption. He also + suggested running `git gc` on the least busy hours of the day. + + Later Taylor Blau replied to Ævar and Peff discussing `--cruft` in + the context of single-pack bitmaps or multi-pack (MIDX) bitmaps, and + in the context of GitHub. + + In the meantime, Michal Suchánek replied to Ævar's first email + asking what the 2 week default expiration time applied to. He also + said that he got corrupted repos with less than 100 users "and some + scripting" which went away when gc was disabled. + + Peff replied to Michal, saying that the expiration time applied to + the `mtime` on the object file (or the pack containing it), and + confirmed that it was "far from a complete race-free solution". + + ZheNing also replied to Michal saying that he prefered "no error at + all" rather than a "small probability of error". + + Michal replied to Peff listing some workflows that are more likely + to lead to a corrupt repo, like deleting branches but pushing other + branches that are variant of these branches, and different people + pushing files from the same external source. + + Peff confirmed that these workflows were indeed risky, and detailed + a bit further how the race conditions can happen. + + ZheNing then replied to Peff asking if there was a way like a lock + on the repository to avoid for example concurrent push and gc + processes. + + Ævar replied that there was no such way but that we should have + one. He explained that it could perhaps be done using hooks, + [like 'pre-receive' and 'post-receive'](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks), + when we are sure that all relevant operations are going through + these hooks. (For example no local branch deletion should be + possible.) + + ZheNing and Michal, discussed a bit further the details related to + how a repo corruption can happen with concurrent push and gc + processes, and how that could possibly be avoided. +## Developer Spotlight: Teng Long + +* Who are you and what do you do? + + My work is related to R&D efficiency tools development at Alibaba Cloud. + Our team have currently built a code hosting service as codeup.aliyun.com + which provides free and high-quality code services for Chinese developers + on the public cloud. In addition, I used to be a Gerrit contributor, because + I wrote Java for nearly 10 years, and this process made me almost forget + the C language, LOL. + + For the contributions of Git community, apart from me, Jiang Xin (the Git + localization coordinator), ZheNing Hu, Chen BoJun are also in my team. + +* What would you name your most important contribution to Git? + + First of all, I know Git for some years, but I'm new in the community, + because Git's technical depth is obvious which involves algorithms, + operating systems, testing techniques, etc. Also, Git have many + subcommands, which makes the implementation of Git itself involve + many aspects, I think it is difficult for a new contributor to understand + everything, but long-term participation may make you an expert in one + aspect of Git. Sadly, my time devoted to the Git community is actually + limited. + + I contributed a feature last year to allow the `git ls-tree` subcommand + to support the `--format` option which let you print out the result as you + want, this is helpful for some automated tools or scripted work I think. If + you want to know about it further, a better way is to read [the blog by + Taylor Blau](https://github.blog/2022-04-18-highlights-from-git-2-36/#tidbits). + +* What are you doing on the Git project these days, and why? + + I've been following the evolution of the `bundle-uri` feature recently, I think + the idea of this feature is great and attractive. If used properly, it can not + only improve the speed of code download in some scenarios, but also + reduce the load on the server. + + I'm also reading about algorithms related code (like bitmap, multi-pack bitmap, + bloom-filter), I want to know some details about the combination of Git and + algorithm. I think it's interesting. + +* 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? + + We all know that it can be a pain in terms of resource load and cost to + provide large-scale Git services. I hope to be able to solve the problem + with Git's storage and computing coupling to let Git be better + to integrate with cloud-native architecture. Like, should it be possible + to store the refs, loose objects and packs on a Distributed Database? + + I think this is one of the future development direction of the Git + architecture, starting from lower cost and cloud friendliness. If you want to + do these tasks based on Git, you may need to make the internal related + implementations more adaptable, which requires a lot of professional work + I think. + +* If you could remove something from Git without worrying about + backwards compatibility, what would it be? + + Actually I don't know, for reviewers, they are weighing the impact of + compatibility, although some patches are doing the right thing, which may + be contradictory, but there is no way to solve it perfectly, because Git + is one of the most widely used tools for developers in the world now. + +* What is your favorite Git-related tool/library, outside of + Git itself? + + I prefer [git-repo](https://github.com/alibaba/git-repo-go) which supports + doing code reviews or pull requests on the client, just like using a native + Git subcommand. + +* Do you happen to have any memorable experience w.r.t contributing to + the Git project? If yes, could you share it with us? + + Still memorable when my first commit was merged in, even though it was + a small fix. This process made me understand that contributing to Git is + completely different from other workflows, and the process and results both + feel good. + +* What is your toolbox for interacting with the mailing list and for + development of Git? + + First, I use "https://public-inbox.org/git/?q=a%3Adyroneteng" to check if + there is any new mails related to me. + + Then, I've been using `git format-patch` to create patchsets and `git send-email` + to post them, and `git am` for local reviews. I don't know if there's a better + way, but it seems to be enough for me. + +* What is your advice for people who want to start Git development? + Where and how should they start? + + Contributing to Git is not an easy task, after all, you are working with + other excellent contributors in the community, but continuous understanding + and participation may make you an expert in a certain direction. + +* If there's one tip you would like to share with other Git + developers, what would it be? + + I think it would be "get used to the process of contribution slowly". + + The review process is sometimes frustrating, but most of the suggestions by + reviewers are still valuable, we can learn a lot from the process, then you + can better participate in the next contribution. + ## Releases From 4f9defbd9d94ab49f586b4a54ea8a9715e3c344b Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 31 Jan 2023 21:06:43 +0100 Subject: [PATCH 014/797] rn-95: Add Teng Long among the helpers --- rev_news/drafts/edition-95.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rev_news/drafts/edition-95.md b/rev_news/drafts/edition-95.md index bfc6e66a3c..6473170c29 100644 --- a/rev_news/drafts/edition-95.md +++ b/rev_news/drafts/edition-95.md @@ -373,4 +373,5 @@ This edition of Git Rev News was curated by Christian Couder <>, Jakub Narębski <>, Markus Jansen <> and -Kaartic Sivaraam <>. +Kaartic Sivaraam <> +with help from Teng Long. From 1406b0a379e6c68069271f591d5bdb0598848b77 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 31 Jan 2023 22:11:59 +0100 Subject: [PATCH 015/797] Publish rn-95 in _posts/ --- .../drafts/edition-95.md => _posts/2023-01-31-edition-95.markdown | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rev_news/drafts/edition-95.md => _posts/2023-01-31-edition-95.markdown (100%) diff --git a/rev_news/drafts/edition-95.md b/_posts/2023-01-31-edition-95.markdown similarity index 100% rename from rev_news/drafts/edition-95.md rename to _posts/2023-01-31-edition-95.markdown From 80f00357e835eb23ed7071345a41a8cced5e457e Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 31 Jan 2023 22:11:59 +0100 Subject: [PATCH 016/797] Add draft for rn-96 --- rev_news/drafts/edition-96.md | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 rev_news/drafts/edition-96.md diff --git a/rev_news/drafts/edition-96.md b/rev_news/drafts/edition-96.md new file mode 100644 index 0000000000..ce030fd445 --- /dev/null +++ b/rev_news/drafts/edition-96.md @@ -0,0 +1,60 @@ +--- +title: Git Rev News Edition 96 (February 22nd, 2023) +layout: default +date: 2023-02-22 12:06:51 +0100 +author: chriscool +categories: [news] +navbar: false +--- + +## Git Rev News: Edition 96 (February 22nd, 2023) + +Welcome to the 96th edition of [Git Rev News](https://git.github.io/rev_news/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](https://git.github.io/rev_news/rev_news/) on [git.github.io](http://git.github.io). + +This edition covers what happened during the months of December 2022 and January 2023. + +## Discussions + + + + + + + + + +## Releases + + +## Other News + +__Various__ + + +__Light reading__ + + + +__Git tools and sites__ + + +## Credits + +This edition of Git Rev News was curated by +Christian Couder <>, +Jakub Narębski <>, +Markus Jansen <> and +Kaartic Sivaraam <> +with help from XXX. From 78d5aa753363d220d753c2f17c43ca1cdf3cad6d Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 31 Jan 2023 22:14:39 +0100 Subject: [PATCH 017/797] rn-95: Fix publication date --- _posts/2023-01-31-edition-95.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2023-01-31-edition-95.markdown b/_posts/2023-01-31-edition-95.markdown index 6473170c29..e03d5669f7 100644 --- a/_posts/2023-01-31-edition-95.markdown +++ b/_posts/2023-01-31-edition-95.markdown @@ -1,13 +1,13 @@ --- -title: Git Rev News Edition 95 (January 25th, 2023) +title: Git Rev News Edition 95 (January 31st, 2023) layout: default -date: 2023-01-25 12:06:51 +0100 +date: 2023-01-31 12:06:51 +0100 author: chriscool categories: [news] navbar: false --- -## Git Rev News: Edition 95 (January 25th, 2023) +## Git Rev News: Edition 95 (January 31st, 2023) Welcome to the 95th edition of [Git Rev News](https://git.github.io/rev_news/rev_news/), a digest of all things Git. For our goals, the archives, the way we work, and how to contribute or to From 0b5efcf3fc9edcaf227307a7818b3f5774635394 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 31 Jan 2023 22:16:40 +0100 Subject: [PATCH 018/797] rn-95: Fix months covered --- _posts/2023-01-31-edition-95.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2023-01-31-edition-95.markdown b/_posts/2023-01-31-edition-95.markdown index e03d5669f7..c977318087 100644 --- a/_posts/2023-01-31-edition-95.markdown +++ b/_posts/2023-01-31-edition-95.markdown @@ -13,7 +13,7 @@ Welcome to the 95th edition of [Git Rev News](https://git.github.io/rev_news/rev 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](https://git.github.io/rev_news/rev_news/) on [git.github.io](http://git.github.io). -This edition covers what happened during the months of November 2022 and December 2022. +This edition covers what happened during the months of January 2023 and December 2022. ## Discussions From ff4b11227ed2a39a9014d8f0fc58787b20c9b11d Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 31 Jan 2023 22:17:45 +0100 Subject: [PATCH 019/797] rn-96: Fix months covered --- rev_news/drafts/edition-96.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rev_news/drafts/edition-96.md b/rev_news/drafts/edition-96.md index ce030fd445..4db1799ccb 100644 --- a/rev_news/drafts/edition-96.md +++ b/rev_news/drafts/edition-96.md @@ -13,7 +13,7 @@ Welcome to the 96th edition of [Git Rev News](https://git.github.io/rev_news/rev 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](https://git.github.io/rev_news/rev_news/) on [git.github.io](http://git.github.io). -This edition covers what happened during the months of December 2022 and January 2023. +This edition covers what happened during the months of February 2023 and January 2023. ## Discussions From 0da11543e1aeef76038b5f44cfb47c11cab92b41 Mon Sep 17 00:00:00 2001 From: Markus Jansen Date: Tue, 31 Jan 2023 22:27:18 +0100 Subject: [PATCH 020/797] Added the usual tiny spelling / phrasing fixes. --- _posts/2023-01-31-edition-95.markdown | 83 ++++++++++++++------------- 1 file changed, 42 insertions(+), 41 deletions(-) diff --git a/_posts/2023-01-31-edition-95.markdown b/_posts/2023-01-31-edition-95.markdown index c977318087..ddddeac9a5 100644 --- a/_posts/2023-01-31-edition-95.markdown +++ b/_posts/2023-01-31-edition-95.markdown @@ -27,7 +27,7 @@ This edition covers what happened during the months of January 2023 and December ### Support -* [Question: How to execute git-gc correctly on the git server](https://lore.kernel.org/git/CAOLTT8Tt3jW2yvm6BRU3yG+EvW1WG9wWFq6PuOcaHNNLQAaGjg@mail.gmail.com/) +* [Question: How to execute git-gc correctly on the Git server?](https://lore.kernel.org/git/CAOLTT8Tt3jW2yvm6BRU3yG+EvW1WG9wWFq6PuOcaHNNLQAaGjg@mail.gmail.com/) ZheNing Hu asked about how he could run `git gc` correctly on his own Git server. He seemed to be afraid by @@ -40,9 +40,10 @@ This edition covers what happened during the months of January 2023 and December which could overcome these issues, but that he was still using Git v2.35 on his server while `--cruft` was introduced in v2.38. - He also wondered if before v2.38 a repository level lock blocking - some Git operations was needed and what any Git command run when the - lock is taken should do and report. + He also wondered if there was a need for `git gc` to set a + repository level lock blocking most or all other Git operations, + and what these operations -- especially `git clone` and `git push` -- + should do or report when hitting this lock. Ævar Arnfjörð Bjarmason replied that running `git gc` on a "live" repo was always racy, but the odds of corrupting the repo were @@ -56,16 +57,16 @@ This edition covers what happened during the months of January 2023 and December (garbage collection). He also wondered if this question was about large hosting sites like - GitHub, and GitLab where `git gc` is run on live repos, and + GitHub and GitLab, where `git gc` is run on live repos, and suggested not to worry in this case, but to take backups. Jeff King, alias Peff, replied to Ævar saying he was "a bit less optimistic" about the corruption risk decreasing when - `gc.pruneExpire` is increased because there was no atomic view of + `gc.pruneExpire` was increased because there was no atomic view of the ref namespace. So renaming a branch for example was risky because it could be seen as removing a branch and adding a different - one by any concurrent process. Such a process could be another push, - not just a gc. + one by any concurrent process. Such a process could be another `push`, + not just a `gc`. Peff also said that using `--cruft` was not so much about avoiding corruption, but about keeping cruft objects out of the main pack to @@ -80,41 +81,41 @@ This edition covers what happened during the months of January 2023 and December Later Taylor Blau replied to Ævar and Peff discussing `--cruft` in the context of single-pack bitmaps or multi-pack (MIDX) bitmaps, and - in the context of GitHub. + also in the context of GitHub. In the meantime, Michal Suchánek replied to Ævar's first email asking what the 2 week default expiration time applied to. He also said that he got corrupted repos with less than 100 users "and some - scripting" which went away when gc was disabled. + scripting" which went away when `gc` was disabled. Peff replied to Michal, saying that the expiration time applied to the `mtime` on the object file (or the pack containing it), and confirmed that it was "far from a complete race-free solution". - ZheNing also replied to Michal saying that he prefered "no error at - all" rather than a "small probability of error". + ZheNing also replied to Michal saying that he preferred "no error at + all" to a "small probability of error". Michal replied to Peff listing some workflows that are more likely to lead to a corrupt repo, like deleting branches but pushing other - branches that are variant of these branches, and different people + branches that are variants of these branches, and different people pushing files from the same external source. Peff confirmed that these workflows were indeed risky, and detailed a bit further how the race conditions can happen. - ZheNing then replied to Peff asking if there was a way like a lock - on the repository to avoid for example concurrent push and gc - processes. + ZheNing then replied to Peff asking if there was "an easy and poor + performance" way like a lock on a repository to avoid for example + concurrent `push` and `gc` processes. Ævar replied that there was no such way but that we should have one. He explained that it could perhaps be done using hooks, [like 'pre-receive' and 'post-receive'](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks), - when we are sure that all relevant operations are going through + when we were sure that all relevant operations were going through these hooks. (For example no local branch deletion should be possible.) - ZheNing and Michal, discussed a bit further the details related to - how a repo corruption can happen with concurrent push and gc + ZheNing and Michal discussed a bit further the details related to + how a repo corruption can happen with concurrent `push` and `gc` processes, and how that could possibly be avoided. ## Developer Spotlight: Teng Long @@ -129,15 +130,15 @@ This edition covers what happened during the months of January 2023 and December the C language, LOL. For the contributions of Git community, apart from me, Jiang Xin (the Git - localization coordinator), ZheNing Hu, Chen BoJun are also in my team. + localization coordinator), ZheNing Hu, and Chen BoJun are also in my team. * What would you name your most important contribution to Git? First of all, I know Git for some years, but I'm new in the community, because Git's technical depth is obvious which involves algorithms, - operating systems, testing techniques, etc. Also, Git have many + operating systems, testing techniques, etc. Also, Git has many subcommands, which makes the implementation of Git itself involve - many aspects, I think it is difficult for a new contributor to understand + many aspects, and I think it is difficult for a new contributor to understand everything, but long-term participation may make you an expert in one aspect of Git. Sadly, my time devoted to the Git community is actually limited. @@ -156,8 +157,8 @@ This edition covers what happened during the months of January 2023 and December reduce the load on the server. I'm also reading about algorithms related code (like bitmap, multi-pack bitmap, - bloom-filter), I want to know some details about the combination of Git and - algorithm. I think it's interesting. + bloom-filter), as I want to know some details about the combination of Git and + algorithms. I think it's interesting. * 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? @@ -189,7 +190,7 @@ This edition covers what happened during the months of January 2023 and December doing code reviews or pull requests on the client, just like using a native Git subcommand. -* Do you happen to have any memorable experience w.r.t contributing to +* Do you happen to have any memorable experience w.r.t. contributing to the Git project? If yes, could you share it with us? Still memorable when my first commit was merged in, even though it was @@ -200,10 +201,10 @@ This edition covers what happened during the months of January 2023 and December * What is your toolbox for interacting with the mailing list and for development of Git? - First, I use "https://public-inbox.org/git/?q=a%3Adyroneteng" to check if - there is any new mails related to me. + First, I use [https://public-inbox.org/git/?q=a%3Adyroneteng](https://public-inbox.org/git/?q=a%3Adyroneteng) + to check if there is any new mails related to me. - Then, I've been using `git format-patch` to create patchsets and `git send-email` + Then, I've been using `git format-patch` to create patch sets and `git send-email` to post them, and `git am` for local reviews. I don't know if there's a better way, but it seems to be enough for me. @@ -220,7 +221,7 @@ This edition covers what happened during the months of January 2023 and December I think it would be "get used to the process of contribution slowly". The review process is sometimes frustrating, but most of the suggestions by - reviewers are still valuable, we can learn a lot from the process, then you + reviewers are still valuable; you can learn a lot from the process, then you can better participate in the next contribution. @@ -278,9 +279,9 @@ __Various__ __Light reading__ * [Beyond Git: The other version control systems developers use](https://stackoverflow.blog/2023/01/09/beyond-git-the-other-version-control-systems-developers-use/) - by Ryan Donovan on The Overflow (StackOverflow\.Blog). + by Ryan Donovan on The Overflow (stackoverflow\.blog). * [Never write a commit message again (with the help of GPT-3)](https://zura.wiki/post/never-write-a-commit-message-again-with-the-help-of-gpt-3/) - by Roger Zurawicki on his blog _(though read proposed commit message before accepting it, please)_. + by Roger Zurawicki on his blog _(though read the proposed commit message before accepting it, please)_. * [Sending a kernel patch with b4 (part 1)](https://people.kernel.org/monsieuricon/sending-a-kernel-patch-with-b4-part-1) by Konstantin Ryabitsev (sending patch with [b4](https://git.kernel.org/pub/scm/utils/b4/b4.git) is described in [Contributor overview](https://b4.docs.kernel.org/en/stable-0.11.y/contributor/overview.html) @@ -309,14 +310,14 @@ __Light reading__ by Alicia Sykes on DEV\.to. * [How to Checkout a Remote Git Branch](https://www.howtogeek.com/864263/how-to-checkout-a-remote-git-branch/) by Dave McKay on How-To Geek; - though the article missed DWIM `git checkout ` trick, - and do not mention newer `git switch ` command as alternative to `git checkout `. + though the article misses the DWIM `git checkout ` trick, + and does not mention the newer `git switch ` command as alternative to `git checkout `. * [Git tutorials - understanding of rebase and merge](https://dev.to/bitethecode/git-tutorials-understanding-of-rebase-and-merge-2cg4) - by Joonhyeok Ahn (Joon) on DEV\.to is the final part in 4 part + by Joonhyeok Ahn (Joon) on DEV\.to is the final part in the 4 part [Git Cookbook](https://dev.to/bitethecode/series/20767) series. * [Golang (and thus `git-lfs`) is evil on shitty networks](https://withinboredom.info/blog/2022/12/29/golang-is-evil-on-shitty-networks/) - on Somewhere Within Boredom blog _(may be fixed by the time you are reading this)_. + on the Somewhere Within Boredom blog _(may be fixed by the time you are reading this)_. - + +* [bug?: ORIG_HEAD incorrect after reset during git-rebase -i](https://lore.kernel.org/git/CA+JQ7M-ynq1cLN-3ZodXae=x-H5k7Ab6uPBwUFhG+kgtOvCgtA@mail.gmail.com/) + + Erik Cervin Edin sent an email to the mailing list with steps to + reproduce a behavior that he didn't like. The steps consisted in an + interactive rebase during which a commit was edited and a reset was + performed while editing the commit. + + After editing, `git rebase --continue` finished the rebase. But then + Erik expected `ORIG_HEAD` to point to the tip + of the rebased branch before the rebase, while instead it pointed to + the HEAD before the reset. + + `ORIG_HEAD` is one of the pseudo-references that some Git commands + use, like `FETCH_HEAD`, `MERGE_HEAD` and a few others. + + Phillip Wood replied to Erik saying that it was expected that `git + reset` would change `ORIG_HEAD` to `HEAD` just before it was + performed. He suggested using the reflog with something like + `branch-name@{1}` where `branch-name` is the branch that was + rebased and the `@{1}` part indicates the previous entry in the + reflog for the branch. + + Erik replied that he knew about the reflog but just expected + `ORIG_HEAD` to be reset to `.git/rebase-merge/orig-head` at the end of + the rebase. `.git/rebase-merge/orig-head` is an internal file that + stores the tip of the branch before it was rebased. + + Philippe Blain replied to Erik that he just hit the same bug. He + also said that he was confused by the rebase documentation and gave + the series of commands he used to get hit. + + Phillip Wood replied to both Erik and Philippe Blain that if we + changed the behavior to make `ORIG_HEAD` point to the tip of the + branch before it was rebased, some people might not be happy as they + might expect `git reset` to have changed `ORIG_HEAD`. Other people + might expect on the contrary that `ORIG_HEAD` was always set to the + tip of the branch before the rebase when the rebase stoped, which + would mean that `git rebase --continue` would always need to make + sure `ORIG_HEAD` fulfills that expectation. + + Phillip said he thought the situation was confusing and he didn't + see a way to make it clearer. + + Philippe Blain agreed that some people might rely on the current + behavior and said he would send documentation updates to make things + clearer. + + He then sent + [a patch series](https://lore.kernel.org/git/pull.1456.git.1673120359.gitgitgadget@gmail.com/) + consisting of small changes to the documentation of a number of + commands: `cherry-pick`, `merge`, `rebase` and `reset`, as well as + in the [documentation about Git revisions](https://git-scm.com/docs/gitrevisions). + + Junio Hamano, the Git maintainer, commented on some wordings which + led Philippe to send + [a version 2 of his series](https://lore.kernel.org/git/pull.1456.v2.git.1673356521.gitgitgadget@gmail.com/). + + This version was accepted and later merged to the master branch. +* [The technology behind GitHub’s new code search](https://github.blog/2023-02-06-the-technology-behind-githubs-new-code-search/) + by Timothy Clem in the Engineering section of the GitHub Blog. +* [Mobile Price Classification: An Open Source Data Science Project with Dagshub](https://hackernoon.com/mobile-price-classification-an-open-source-data-science-project-with-dagshub) + by Davis David (@davisdavid) on HackerNoon. + * The workflow described in this article uses + [DVC](https://dvc.org/) (first mentioned in [Git Rev News Edition #42](https://git.github.io/rev_news/2018/08/22/edition-42/)), + [DAGsHub](https://dagshub.com/) (first mentioned in [Git Rev News Edition #72](https://git.github.io/rev_news/2021/02/27/edition-72/)), + MLflow, and Streamlit library. +* [FAIR data pipeline: provenance-driven data management for traceable scientific workflows](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2021.0300); + an open access research article in Volume 380, Issue 2233 + of Philosophical Transactions of The Royal Society A + ([DOI:10.1098/rsta.2021.0300](https://doi.org/10.1098/rsta.2021.0300)). + - +* [Move Commits Between Branches in Git](https://www.youtube.com/watch?v=0pzFGXvemvA) + by Leonardo Montini, also known as Dev Leonardo.
+ You can read accompanying [Move Commits Between Branches in Git - 3 Different Methods](https://dev.to/this-is-learning/move-commits-between-branches-in-git-3-different-methods-22bb) + article on DEV\.to (for This is Learning), 5th part of the + [git better - Improve your git skills](https://dev.to/balastrong/series/21372) series. + __Git tools and sites__ +* **[conventional: comments](https://conventionalcomments.org/)** are a set of conventions + to make code review comments to be easy to grok and grep. + * This can be considered a companionn to [Conventional Commits](https://www.conventionalcommits.org/) specification, + first mentioned in [Git Rev News Edition #52](https://git.github.io/rev_news/2019/06/28/edition-52/). +* [Flipt](https://www.flipt.io/) is an [open source](https://github.com/flipt-io/flipt), + self-hosted feature flag solution. + * [Feature Flags](https://featureflags.io/) or [Feature Toggles](https://martinfowler.com/articles/feature-toggles.html) + are a technique that allows to modify system behavior without changing code. + They are often used with [Trunk Based Development](https://trunkbaseddevelopment.com/), + as described in [Patterns for Managing Source Code Branches](https://martinfowler.com/articles/branching-patterns.html) + by Martin Fowler, which was mentioned in [Git Rev News Edition #63](https://git.github.io/rev_news/2020/05/28/edition-63/). +* [git-workflow](https://github.com/Ovid/git-workflow) + by Curtis “Ovid” Poe + a simplified subset of the git tools used by + [All Around the World](https://allaroundtheworld.fr/) company for software development. + It provides three new commands: `git refresh`, `git pushback` and `git done`. +* [Git-Heat-Map](https://github.com/jmforsythe/Git-Heat-Map) + is tool to visualise a git repository by diff activity using a treemap chart. +* [Diff/merge tools](https://danmackinlay.name/notebook/diffing.html) and + [Git GUIs](https://danmackinlay.name/notebook/git_guis.html) - notebooks + of Dan MacKinlay. +* [Git tricks](https://danmackinlay.name/notebook/git.html): + Dan MacKinlay's notes and links, not intended to be tutorial. +* [Awesome CLI Apps](https://github.com/agarrharr/awesome-cli-apps), + is a curated list of command line apps, including the ones + [for Version Control](https://github.com/agarrharr/awesome-cli-apps#version-control). +* [Automerge 2.0](https://automerge.org/blog/automerge-2/) + is a [CRDT](https://crdt.tech/), or "Conflict-free Replicated Data Type", + that one can use to implement real-time collaboration for an application, + which is focused on optimizing editing of plaintext. ## Credits From bb763857dcfc4236994910aa28d202f67b543240 Mon Sep 17 00:00:00 2001 From: Markus Jansen Date: Tue, 28 Feb 2023 20:43:02 +0100 Subject: [PATCH 031/797] Supplied tiny corrections and rephrasings. --- rev_news/drafts/edition-96.md | 63 ++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/rev_news/drafts/edition-96.md b/rev_news/drafts/edition-96.md index 3161c9612c..7e6a6b5ef9 100644 --- a/rev_news/drafts/edition-96.md +++ b/rev_news/drafts/edition-96.md @@ -13,7 +13,7 @@ Welcome to the 96th edition of [Git Rev News](https://git.github.io/rev_news/rev 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](https://git.github.io/rev_news/rev_news/) on [git.github.io](http://git.github.io). -This edition covers what happened during the months of February 2023 and January 2023. +This edition covers what happened during the months of January and February 2023. ## Discussions @@ -28,35 +28,35 @@ This edition covers what happened during the months of February 2023 and January ### Support -* [bug?: ORIG_HEAD incorrect after reset during git-rebase -i](https://lore.kernel.org/git/CA+JQ7M-ynq1cLN-3ZodXae=x-H5k7Ab6uPBwUFhG+kgtOvCgtA@mail.gmail.com/) +* [Bug?: `ORIG_HEAD` incorrect after reset during `git-rebase -i`](https://lore.kernel.org/git/CA+JQ7M-ynq1cLN-3ZodXae=x-H5k7Ab6uPBwUFhG+kgtOvCgtA@mail.gmail.com/) Erik Cervin Edin sent an email to the mailing list with steps to - reproduce a behavior that he didn't like. The steps consisted in an - interactive rebase during which a commit was edited and a reset was - performed while editing the commit. + reproduce a behavior that he didn't like. The steps consisted of an + interactive rebase during which a commit was edited and a reset which + was performed while editing the commit. After editing, `git rebase --continue` finished the rebase. But then Erik expected `ORIG_HEAD` to point to the tip of the rebased branch before the rebase, while instead it pointed to - the HEAD before the reset. + the `HEAD` before the reset. `ORIG_HEAD` is one of the pseudo-references that some Git commands - use, like `FETCH_HEAD`, `MERGE_HEAD` and a few others. + use, like `FETCH_HEAD`, `MERGE_HEAD`, and a few others. Phillip Wood replied to Erik saying that it was expected that `git reset` would change `ORIG_HEAD` to `HEAD` just before it was performed. He suggested using the reflog with something like - `branch-name@{1}` where `branch-name` is the branch that was + `branch-name@{1}` where `branch-name` is the branch being rebased and the `@{1}` part indicates the previous entry in the reflog for the branch. Erik replied that he knew about the reflog but just expected `ORIG_HEAD` to be reset to `.git/rebase-merge/orig-head` at the end of the rebase. `.git/rebase-merge/orig-head` is an internal file that - stores the tip of the branch before it was rebased. + stores the tip of the branch before a rebase operation. Philippe Blain replied to Erik that he just hit the same bug. He - also said that he was confused by the rebase documentation and gave + also said that he was confused by the rebase documentation and supplied the series of commands he used to get hit. Phillip Wood replied to both Erik and Philippe Blain that if we @@ -64,9 +64,9 @@ This edition covers what happened during the months of February 2023 and January branch before it was rebased, some people might not be happy as they might expect `git reset` to have changed `ORIG_HEAD`. Other people might expect on the contrary that `ORIG_HEAD` was always set to the - tip of the branch before the rebase when the rebase stoped, which + tip of the branch before the rebase when the rebase stopped, which would mean that `git rebase --continue` would always need to make - sure `ORIG_HEAD` fulfills that expectation. + sure `ORIG_HEAD` fulfilled that expectation. Phillip said he thought the situation was confusing and he didn't see a way to make it clearer. @@ -79,9 +79,9 @@ This edition covers what happened during the months of February 2023 and January [a patch series](https://lore.kernel.org/git/pull.1456.git.1673120359.gitgitgadget@gmail.com/) consisting of small changes to the documentation of a number of commands: `cherry-pick`, `merge`, `rebase` and `reset`, as well as - in the [documentation about Git revisions](https://git-scm.com/docs/gitrevisions). + to the [documentation about Git revisions](https://git-scm.com/docs/gitrevisions). - Junio Hamano, the Git maintainer, commented on some wordings which + Junio Hamano, the Git maintainer, commented on some wordings, which after short discussions led Philippe to send [a version 2 of his series](https://lore.kernel.org/git/pull.1456.v2.git.1673356521.gitgitgadget@gmail.com/) with very few changes. @@ -143,8 +143,9 @@ __Light reading__ * [How to Merge a Git Feature Branch with a Squash Commit](https://dev.to/esaraviam/how-to-merge-a-git-feature-branch-with-a-squash-commit-8af) by Luis Esteban Saravia M on DEV\.to.
This is an alternative to repeatedly using the `squash` command of the [interactive rebase](https://git-scm.com/docs/git-rebase#_interactive_mode). -* [Why I love GitLens in my VsCode - Part 1](https://blog.delpuppo.net/why-i-love-gitlens-in-my-vscode-part-1) - and [Part 2](https://blog.delpuppo.net/why-i-love-gitlens-in-my-vscode-part-2) +* [Why I love GitLens in my VsCode - Part 1](https://blog.delpuppo.net/why-i-love-gitlens-in-my-vscode-part-1), + [Part 2](https://blog.delpuppo.net/why-i-love-gitlens-in-my-vscode-part-2), + and [Part 3](https://blog.delpuppo.net/why-i-love-gitlens-in-my-vscode-part-3) by Luca Del Puppo on his blog.
Also available [on DEV\.to](https://dev.to/this-is-learning/why-i-love-gitlens-in-my-vscode-part-1-5cmp). * [Data versioning](https://danmackinlay.name/notebook/data_versioning.html), @@ -154,28 +155,29 @@ __Light reading__ * [Dolt](https://www.dolthub.com/), which is a [version controlled SQL database](https://www.dolthub.com/blog/2021-09-17-database-version-control/) (first mentioned in [Git Rev News Edition #62](https://git.github.io/rev_news/2020/04/23/edition-62/)), * [Pachyderm](https://www.pachyderm.com/) (first mentioned in [Git Rev News Edition #49](https://git.github.io/rev_news/2019/03/20/edition-49/)), - * [git-annex](http://git-annex.branchable.com/) - not targetted specifically at data science + * [git-annex](http://git-annex.branchable.com/) - not targeted specifically at data science (first mentioned in passing in [Git Rev News #3](https://git.github.io/rev_news/2015/05/13/edition-3/)), * [DataLad](https://www.datalad.org/), * [Go Get Data (ggd)](https://gogetdata.github.io/) from the genomics community; it seems to be a lighter version of Pachyderm, * [Splitgraph](https://www.splitgraph.com/docs/getting-started/introduction), - that works on top of PostgreSQL, + which works on top of PostgreSQL, * [Sno](https://sno.earth/) to store geospatial and tabular data in Git
(see also [Kart](https://kartproject.org/), mentioned in [Git Rev News #85](https://git.github.io/rev_news/2022/03/31/edition-85/), _which is not listed in this notebook_). + The notebook also mentions [Pangeo Forge](https://github.com/pangeo-forge/roadmap) (like Conda Forge, but for data), [Intake](https://intake.readthedocs.io/en/latest/index.html) (lightweight package for finding, investigating, loading and disseminating data), and [Flat Data](https://githubnext.com/projects/flat-data) - formerly GitHub OCTO - (to bring working sets of data to your repositories, based on - [“git scraping” approach pioneered by Simon Willison](https://simonwillison.net/2020/Oct/9/git-scraping/) + (to bring working sets of data to your repositories, based on the + [“Git scraping” approach pioneered by Simon Willison](https://simonwillison.net/2020/Oct/9/git-scraping/) (mentioned in [Git Rev News Edition #68](https://git.github.io/rev_news/2020/10/30/edition-68/))).
See also [Git Rev News #82](https://git.github.io/rev_news/2021/12/30/edition-82/), - which mentions tools for version controlling database schema, version controlling queries, - data versioning, etc. - all taken from articles on DoltHub Blog. + which mentions tools for version controlling database schemas, version controlling queries, + data versioning, etc. -- all taken from articles on DoltHub Blog. * [The Git source code audit, viewed as a Rust programmer](https://litchipi.github.io/infosec/2023/01/24/git-code-audit-viewed-as-rust-programmer.html) - by Litchi Pi (Tim); the audit itself was mentioned in [previous Git Rev News](https://git.github.io/rev_news/2023/01/31/edition-95/). + by Litchi Pi (Tim); the audit itself was mentioned in [Git Rev News #95](https://git.github.io/rev_news/2023/01/31/edition-95/). * [An Easy git Workflow](https://dev.to/ovid/an-easy-git-workflow-4gm0) by Curtis “Ovid” Poe on DEV\.to.
Also available as [Easy Git Workflow](https://ovid.github.io/articles/easy-git-workflow.html) (2020) @@ -189,7 +191,7 @@ __Light reading__ * The workflow described in this article uses [DVC](https://dvc.org/) (first mentioned in [Git Rev News Edition #42](https://git.github.io/rev_news/2018/08/22/edition-42/)), [DAGsHub](https://dagshub.com/) (first mentioned in [Git Rev News Edition #72](https://git.github.io/rev_news/2021/02/27/edition-72/)), - MLflow, and Streamlit library. + MLflow, and the Streamlit library. * [FAIR data pipeline: provenance-driven data management for traceable scientific workflows](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2021.0300); an open access research article in Volume 380, Issue 2233 of Philosophical Transactions of The Royal Society A @@ -199,15 +201,15 @@ __Light reading__ __Easy watching__ * [Move Commits Between Branches in Git](https://www.youtube.com/watch?v=0pzFGXvemvA) by Leonardo Montini, also known as Dev Leonardo.
- You can read accompanying [Move Commits Between Branches in Git - 3 Different Methods](https://dev.to/this-is-learning/move-commits-between-branches-in-git-3-different-methods-22bb) + You can read the accompanying [Move Commits Between Branches in Git - 3 Different Methods](https://dev.to/this-is-learning/move-commits-between-branches-in-git-3-different-methods-22bb) article on DEV\.to (for This is Learning), 5th part of the [git better - Improve your git skills](https://dev.to/balastrong/series/21372) series. __Git tools and sites__ -* **[conventional: comments](https://conventionalcomments.org/)** are a set of conventions +* [**conventional:** comments](https://conventionalcomments.org/) are a set of conventions to make code review comments to be easy to grok and grep. - * This can be considered a companionn to [Conventional Commits](https://www.conventionalcommits.org/) specification, + * This can be considered a companion to [Conventional Commits](https://www.conventionalcommits.org/) specification, first mentioned in [Git Rev News Edition #52](https://git.github.io/rev_news/2019/06/28/edition-52/). * [Flipt](https://www.flipt.io/) is an [open source](https://github.com/flipt-io/flipt), self-hosted feature flag solution. @@ -217,18 +219,17 @@ __Git tools and sites__ as described in [Patterns for Managing Source Code Branches](https://martinfowler.com/articles/branching-patterns.html) by Martin Fowler, which was mentioned in [Git Rev News Edition #63](https://git.github.io/rev_news/2020/05/28/edition-63/). * [git-workflow](https://github.com/Ovid/git-workflow) - by Curtis “Ovid” Poe - a simplified subset of the git tools used by + by Curtis “Ovid” Poe is a simplified subset of the Git tools used by [All Around the World](https://allaroundtheworld.fr/) company for software development. It provides three new commands: `git refresh`, `git pushback` and `git done`. * [Git-Heat-Map](https://github.com/jmforsythe/Git-Heat-Map) - is tool to visualise a git repository by diff activity using a treemap chart. + is a tool to visualize a Git repository by diff activity using a treemap chart. * [Diff/merge tools](https://danmackinlay.name/notebook/diffing.html) and [Git GUIs](https://danmackinlay.name/notebook/git_guis.html) - notebooks of Dan MacKinlay. * [Git tricks](https://danmackinlay.name/notebook/git.html): Dan MacKinlay's notes and links, not intended to be tutorial. -* [Awesome CLI Apps](https://github.com/agarrharr/awesome-cli-apps), +* [Awesome CLI Apps](https://github.com/agarrharr/awesome-cli-apps) is a curated list of command line apps, including the ones [for Version Control](https://github.com/agarrharr/awesome-cli-apps#version-control). * [Automerge 2.0](https://automerge.org/blog/automerge-2/) From 5092963c6c0fcbef67d7bb0a417d72703dc5d7f0 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Wed, 1 Mar 2023 00:10:28 +0100 Subject: [PATCH 032/797] Publish rn-96 in _posts/ --- .../drafts/edition-96.md => _posts/2023-02-28-edition-96.markdown | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rev_news/drafts/edition-96.md => _posts/2023-02-28-edition-96.markdown (100%) diff --git a/rev_news/drafts/edition-96.md b/_posts/2023-02-28-edition-96.markdown similarity index 100% rename from rev_news/drafts/edition-96.md rename to _posts/2023-02-28-edition-96.markdown From 8aee07338c7502992f8784ea6da65d6a63973809 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Wed, 1 Mar 2023 00:10:28 +0100 Subject: [PATCH 033/797] Add draft for rn-97 --- rev_news/drafts/edition-97.md | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 rev_news/drafts/edition-97.md diff --git a/rev_news/drafts/edition-97.md b/rev_news/drafts/edition-97.md new file mode 100644 index 0000000000..1a8134a1a8 --- /dev/null +++ b/rev_news/drafts/edition-97.md @@ -0,0 +1,60 @@ +--- +title: Git Rev News Edition 97 (March 29th, 2023) +layout: default +date: 2023-03-29 12:06:51 +0100 +author: chriscool +categories: [news] +navbar: false +--- + +## Git Rev News: Edition 97 (March 29th, 2023) + +Welcome to the 97th edition of [Git Rev News](https://git.github.io/rev_news/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](https://git.github.io/rev_news/rev_news/) on [git.github.io](http://git.github.io). + +This edition covers what happened during the months of February 2023 and March 2023. + +## Discussions + + + + + + + + + +## Releases + + +## Other News + +__Various__ + + +__Light reading__ + + + +__Git tools and sites__ + + +## Credits + +This edition of Git Rev News was curated by +Christian Couder <>, +Jakub Narębski <>, +Markus Jansen <> and +Kaartic Sivaraam <> +with help from XXX. From 738872706440115392c12565bcd95f378684a699 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Wed, 1 Mar 2023 00:21:27 +0100 Subject: [PATCH 034/797] rn-96: add GSoC 2023 accepted org short news --- _posts/2023-02-28-edition-96.markdown | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_posts/2023-02-28-edition-96.markdown b/_posts/2023-02-28-edition-96.markdown index 7e6a6b5ef9..a664e33bb7 100644 --- a/_posts/2023-02-28-edition-96.markdown +++ b/_posts/2023-02-28-edition-96.markdown @@ -129,6 +129,9 @@ This edition covers what happened during the months of January and February 2023 ## Other News __Various__ +* The Git project has been accepted as + [a Mentor Organization](https://summerofcode.withgoogle.com/programs/2023/organizations/git) + for Google Summer of Code (GSoC) 2023. * [GitLab Improves Merge Requests, GitOps Functionality and More](https://www.infoq.com/news/2023/02/gitlab-15-3-through-15-8-release/) by Matt Saunders on InfoQ, about versions 15.3 through 15.8. * [Git archive generation meets Hyrum's law](https://lwn.net/Articles/921787/) From 609a34a883b182c42c54da6c6b719b3c0064c25c Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Wed, 1 Mar 2023 00:29:02 +0100 Subject: [PATCH 035/797] rn-96: nudge people to participate in GSoC 2023 as mentors --- _posts/2023-02-28-edition-96.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/2023-02-28-edition-96.markdown b/_posts/2023-02-28-edition-96.markdown index a664e33bb7..2e59d3ccf9 100644 --- a/_posts/2023-02-28-edition-96.markdown +++ b/_posts/2023-02-28-edition-96.markdown @@ -131,7 +131,8 @@ This edition covers what happened during the months of January and February 2023 __Various__ * The Git project has been accepted as [a Mentor Organization](https://summerofcode.withgoogle.com/programs/2023/organizations/git) - for Google Summer of Code (GSoC) 2023. + for Google Summer of Code (GSoC) 2023. We could still add project ideas to + [our idea page](https://git.github.io/SoC-2023-Ideas/) and volunteers to (co-)mentor are still welcome. * [GitLab Improves Merge Requests, GitOps Functionality and More](https://www.infoq.com/news/2023/02/gitlab-15-3-through-15-8-release/) by Matt Saunders on InfoQ, about versions 15.3 through 15.8. * [Git archive generation meets Hyrum's law](https://lwn.net/Articles/921787/) From 0bb66a13a5d30283fc30157c257f45e956edc3b2 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Wed, 1 Mar 2023 00:52:19 +0100 Subject: [PATCH 036/797] rn-96: fix publication date --- _posts/2023-02-28-edition-96.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2023-02-28-edition-96.markdown b/_posts/2023-02-28-edition-96.markdown index 2e59d3ccf9..3a4b62945e 100644 --- a/_posts/2023-02-28-edition-96.markdown +++ b/_posts/2023-02-28-edition-96.markdown @@ -1,13 +1,13 @@ --- -title: Git Rev News Edition 96 (February 22nd, 2023) +title: Git Rev News Edition 96 (February 28th, 2023) layout: default -date: 2023-02-22 12:06:51 +0100 +date: 2023-02-28 12:06:51 +0100 author: chriscool categories: [news] navbar: false --- -## Git Rev News: Edition 96 (February 22nd, 2023) +## Git Rev News: Edition 96 (February 28th, 2023) Welcome to the 96th edition of [Git Rev News](https://git.github.io/rev_news/rev_news/), a digest of all things Git. For our goals, the archives, the way we work, and how to contribute or to From e1a5c54e71ba2e0ff450a1cbbd4583a02d8758ba Mon Sep 17 00:00:00 2001 From: Markus Jansen Date: Sun, 5 Mar 2023 13:22:32 +0100 Subject: [PATCH 037/797] Edition 96: Corrected helpers list. --- _posts/2023-02-28-edition-96.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2023-02-28-edition-96.markdown b/_posts/2023-02-28-edition-96.markdown index 3a4b62945e..74f8994cfb 100644 --- a/_posts/2023-02-28-edition-96.markdown +++ b/_posts/2023-02-28-edition-96.markdown @@ -249,4 +249,4 @@ Christian Couder <>, Jakub Narębski <>, Markus Jansen <> and Kaartic Sivaraam <> -with help from XXX. +with help from Bruno Brito. From b2773e7b7f1a2682dadfb4a1fc921edd4bf5c9f8 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 14 Mar 2023 12:58:25 +0100 Subject: [PATCH 038/797] Microproject Info: suggest emailing the list first --- General-Microproject-Information.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/General-Microproject-Information.md b/General-Microproject-Information.md index 888c66f57b..464ec75d97 100644 --- a/General-Microproject-Information.md +++ b/General-Microproject-Information.md @@ -350,6 +350,25 @@ expected. Something like "I couldn't find a good micro-project for me", for example, doesn't tell us much, and doesn't give us any idea about how we could help you. +## Why it's better to introduce yourself by directly emailing the mailing list + +We understand that some people are a bit shy or reluctant to email the +mailing list directly and interact with people there, but that's +something that is required to contribute to Git. So you will have to +do it at one point anyway. + +Also please understand that there are often a significant number of +people interested in participating in programs like GSoC or Outreachy, +and mentors prefer to answer questions once and for all on the mailing +list instead of many times privately to everyone interested in +participating. + +Emailing mentors privately will not give you any advantage. On the +contrary it might just signal potential mentors that you are not very +willing to interact with the mailing list. It will also increase the +workload of mentors for possibly no good reason which is not something +they like. + ## Some conventions and tips It can be intimidating to introduce yourself or send your first patch From b08d960d36c6315e622f927d31a29da9f6e0e623 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 14 Mar 2023 13:45:19 +0100 Subject: [PATCH 039/797] Microproject Info: explain when mentoring starts --- General-Microproject-Information.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/General-Microproject-Information.md b/General-Microproject-Information.md index 464ec75d97..2f1be88b9f 100644 --- a/General-Microproject-Information.md +++ b/General-Microproject-Information.md @@ -369,6 +369,12 @@ willing to interact with the mailing list. It will also increase the workload of mentors for possibly no good reason which is not something they like. +Mentors will be willing to properly mentor those who have been +selected to participate in the mentoring program, but until then they +cannot, and don't want to, privately mentor several people to help +them be selected. It wouldn't be fair to those who are doing the right +thing and interacting with the mailing list directly. + ## Some conventions and tips It can be intimidating to introduce yourself or send your first patch From c690b38080479b22448d63af947f664422d3aabc Mon Sep 17 00:00:00 2001 From: Bruno Brito Date: Wed, 15 Mar 2023 10:41:10 +0000 Subject: [PATCH 040/797] rn-97: Add "Performance in Git" article --- rev_news/drafts/edition-97.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rev_news/drafts/edition-97.md b/rev_news/drafts/edition-97.md index 1a8134a1a8..5ab3c3a106 100644 --- a/rev_news/drafts/edition-97.md +++ b/rev_news/drafts/edition-97.md @@ -42,7 +42,7 @@ __Various__ __Light reading__ - ++ [How to Improve Performance in Git: The Complete Guide](https://www.git-tower.com/blog/git-performance/) by Bruno Brito on Tower’s blog. From 0e62e15dfc5bdee8a94a382b45ce3ef40420b862 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Wed, 15 Mar 2023 14:23:51 +0100 Subject: [PATCH 041/797] rn-97: add Bruno Brito among the helpers --- rev_news/drafts/edition-97.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rev_news/drafts/edition-97.md b/rev_news/drafts/edition-97.md index 5ab3c3a106..e5fb85eb10 100644 --- a/rev_news/drafts/edition-97.md +++ b/rev_news/drafts/edition-97.md @@ -42,7 +42,9 @@ __Various__ __Light reading__ + + [How to Improve Performance in Git: The Complete Guide](https://www.git-tower.com/blog/git-performance/) by Bruno Brito on Tower’s blog. + @@ -57,4 +59,4 @@ Christian Couder <>, Jakub Narębski <>, Markus Jansen <> and Kaartic Sivaraam <> -with help from XXX. +with help from Bruno Brito. From 95760d5f6447999cf5dc4b6d0f71deb439058c84 Mon Sep 17 00:00:00 2001 From: Taylor Blau Date: Tue, 21 Mar 2023 14:08:06 -0400 Subject: [PATCH 042/797] SoC-2022-Microprojects.md: clarify exit-code microproject The original description is somewhat confusing, and has been the source of real-world confusion on the mailing list. Let's clarify what we are trying to promote and avoid, as well as give some examples and background about our integration test suite. (Note: I don't think we ever wrote any new microproject ideas for GSoC 2023, and ISTM that we are just reusing the ones from 2022. That's fine, and is the reason that I made these changes in the SoC-2022 file instead of creating a new one). Signed-off-by: Taylor Blau --- SoC-2022-Microprojects.md | 54 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/SoC-2022-Microprojects.md b/SoC-2022-Microprojects.md index 225fb1afaf..250c7b4693 100644 --- a/SoC-2022-Microprojects.md +++ b/SoC-2022-Microprojects.md @@ -46,17 +46,65 @@ functions. If you can't find one please tell us, along with the command you used to search, so that we can remove this microproject idea. -### Avoid pipes in git related commands in test scripts +### Avoid suppressing `git`'s exit code in test scripts + +The Git project uses a large collection of integration tests written in +Shell to guard against regressions when adding new features or fixing +bugs. The scripts in question can be found in the `t` directory +[here][git-t]. + +While it is perfectly OK to use [pipes][wikipedia-pipes] when writing +integration tests, we must be careful to avoid writing a pipeline that +suppresses the exit code of a Git process, like so: + +``` +git | +``` + +...since the exit code of `git ` would be suppressed by the +pipe. If `git ` crashed, we would not catch it in the above +example when running the integration suite. + +Other examples to avoid include: + +``` +# bad: + $(git ) + +# also bad: + <) +EOF +``` + +...since the exit code of `git ` is hidden behind the +subshell in both instances. + +On the other hand, both of the following examples are OK, since neither +hides the exit code of running `git `: + +``` +# good: +var=$(git ) + +# also good: + | | git +``` + +(provided that neither `` or `` are +`git`). See the commit [c6f44e1da5](https://github.com/git/git/commit/c6f44e1da5e88e34) for example, and then do the same thing in one other test script. -The git command should be on the left side of the pipe. - If you can't find one please tell us, along with the command you used to search, so that we can remove this microproject idea. +[git-t]: https://github.com/git/git/tree/master/t +[wikipedia-pipes]: https://en.wikipedia.org/wiki/Pipeline_(Unix) + ### Use unsigned integral type for collection of bits. Pick one field of a structure that (1) is of signed integral type and (2) is From f6d34b30a6b779101a26ab7183e09e83de87b6d2 Mon Sep 17 00:00:00 2001 From: Bruno Brito Date: Wed, 22 Mar 2023 13:07:45 +0100 Subject: [PATCH 043/797] rn-97: Add "Integrating 1Password SSH with Git (and Tower!)" article --- rev_news/drafts/edition-97.md | 1 + 1 file changed, 1 insertion(+) diff --git a/rev_news/drafts/edition-97.md b/rev_news/drafts/edition-97.md index e5fb85eb10..12d2c8f134 100644 --- a/rev_news/drafts/edition-97.md +++ b/rev_news/drafts/edition-97.md @@ -44,6 +44,7 @@ __Various__ __Light reading__ + [How to Improve Performance in Git: The Complete Guide](https://www.git-tower.com/blog/git-performance/) by Bruno Brito on Tower’s blog. ++ [Integrating 1Password SSH with Git (and Tower!)](https://www.git-tower.com/blog/1password-ssh-tower/) by Bruno Brito on Tower’s blog. ## Releases - ++ Tower for Windows [4.3](https://www.git-tower.com/release-notes/windows?show_tab=release-notes) ## Other News From effb7c1c9cc8ed3d09a86fc449d6a8e6eac3da87 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Wed, 29 Mar 2023 10:58:06 +0200 Subject: [PATCH 045/797] rn-97: add releases --- rev_news/drafts/edition-97.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/rev_news/drafts/edition-97.md b/rev_news/drafts/edition-97.md index e9a220899e..6489025231 100644 --- a/rev_news/drafts/edition-97.md +++ b/rev_news/drafts/edition-97.md @@ -34,6 +34,34 @@ This edition covers what happened during the months of February 2023 and March 2 --> ## Releases + ++ Git [2.40.0](https://public-inbox.org/git/xmqqjzzkv8xz.fsf@gitster.g/), +[2.40.0-rc2](https://public-inbox.org/git/xmqqy1o8wdgi.fsf@gitster.g/), +[2.40.0-rc1](https://public-inbox.org/git/xmqqilfknzen.fsf@gitster.g/) ++ Git for Windows [2.40.0(1)](https://github.com/git-for-windows/git/releases/tag/v2.40.0.windows.1), +[2.40.0-rc2(1)](https://github.com/git-for-windows/git/releases/tag/v2.40.0-rc2.windows.1), +[2.40.0-rc1(1)](https://github.com/git-for-windows/git/releases/tag/v2.40.0-rc1.windows.1), +[2.40.0-rc0(1)](https://github.com/git-for-windows/git/releases/tag/v2.40.0-rc0.windows.1) ++ libgit2 [1.6.3](https://github.com/libgit2/libgit2/releases/tag/v1.6.3), +[1.6.2](https://github.com/libgit2/libgit2/releases/tag/v1.6.2) ++ GitHub Enterprise [3.8.1](https://help.github.com/enterprise-server@3.8/admin/release-notes#3.8.1), +[3.7.8](https://help.github.com/enterprise-server@3.7/admin/release-notes#3.7.8), +[3.6.11](https://help.github.com/enterprise-server@3.6/admin/release-notes#3.6.11), +[3.5.15](https://help.github.com/enterprise-server@3.5/admin/release-notes#3.5.15), +[3.4.18](https://help.github.com/enterprise-server@3.4/admin/release-notes#3.4.18), +[3.8.0](https://help.github.com/enterprise-server@3.8/admin/release-notes#3.8.0), +[3.7.7](https://help.github.com/enterprise-server@3.7/admin/release-notes#3.7.7), +[3.6.10](https://help.github.com/enterprise-server@3.6/admin/release-notes#3.6.10), +[3.5.14](https://help.github.com/enterprise-server@3.5/admin/release-notes#3.5.14), +[3.4.17](https://help.github.com/enterprise-server@3.4/admin/release-notes#3.4.17) ++ GitLab [15.10](https://about.gitlab.com/releases/2023/03/22/gitlab-15-10-released/) +[15.9.3](https://about.gitlab.com/releases/2023/03/09/gitlab-15-9-3-released/), +[15.9.2, 15.8.4, and 15.7.8](https://about.gitlab.com/releases/2023/03/02/security-release-gitlab-15-9-2-released/) ++ Gerrit Code Review [3.7.2](https://www.gerritcodereview.com/3.7.html#372) ++ GitKraken [9.2.1](https://help.gitkraken.com/gitkraken-client/current/), +[9.2.0](https://help.gitkraken.com/gitkraken-client/current/) ++ GitHub Desktop [3.2.0](https://desktop.github.com/release-notes/) ++ Sourcetree [4.2.2](https://product-downloads.atlassian.com/software/sourcetree/ReleaseNotes/Sourcetree_4.2.2.html) + Tower for Windows [4.3](https://www.git-tower.com/release-notes/windows?show_tab=release-notes) ## Other News From c07305ceee5f4b68b4734e04b78facee986c24a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Nar=C4=99bski?= Date: Wed, 29 Mar 2023 23:29:48 +0200 Subject: [PATCH 046/797] rn-97: Add links to various news, articles, sites, and tools --- rev_news/drafts/edition-97.md | 93 +++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/rev_news/drafts/edition-97.md b/rev_news/drafts/edition-97.md index 6489025231..5cba7f3a8b 100644 --- a/rev_news/drafts/edition-97.md +++ b/rev_news/drafts/edition-97.md @@ -57,6 +57,7 @@ This edition covers what happened during the months of February 2023 and March 2 + GitLab [15.10](https://about.gitlab.com/releases/2023/03/22/gitlab-15-10-released/) [15.9.3](https://about.gitlab.com/releases/2023/03/09/gitlab-15-9-3-released/), [15.9.2, 15.8.4, and 15.7.8](https://about.gitlab.com/releases/2023/03/02/security-release-gitlab-15-9-2-released/) ++ Gitea [1.19.0](https://blog.gitea.io/2023/03/gitea-1.19.0-is-released/) + Gerrit Code Review [3.7.2](https://www.gerritcodereview.com/3.7.html#372) + GitKraken [9.2.1](https://help.gitkraken.com/gitkraken-client/current/), [9.2.0](https://help.gitkraken.com/gitkraken-client/current/) @@ -68,11 +69,57 @@ This edition covers what happened during the months of February 2023 and March 2 __Various__ ++ [Highlights from Git 2.40](https://github.blog/2023-03-13-highlights-from-git-2-40/) + by Taylor Blau on GitHub Blog. ++ [public-inbox.org/git to be downgraded](https://public-inbox.org/git/20230313225507.M626677@dcvr/T/) + to a cheaper VPS. + + There is https://lore.kernel.org/git/ if there are problems with public-inbox\.org instance. ++ [Unleash your potential with GitHub Octernships: a path to a thriving tech career](https://github.blog/2023-03-06-unleash-your-potential-with-github-octernships-a-path-to-a-thriving-tech-career/) + by Arkodyuti Saha on GitHub Blog. __Light reading__ + [How to Improve Performance in Git: The Complete Guide](https://www.git-tower.com/blog/git-performance/) by Bruno Brito on Tower’s blog. + [Integrating 1Password SSH with Git (and Tower!)](https://www.git-tower.com/blog/1password-ssh-tower/) by Bruno Brito on Tower’s blog. ++ [Slice, Dice, and Squash Your Git Commit History](https://webdeveloperdiary.substack.com/p/slice-dice-and-squash-your-git-commit) + by Anthony Fung on _Diary of a Web Developer_ Substack and + [on DEV.to](https://dev.to/ant_f_dev/slice-dice-and-squash-your-git-commit-history-2dk3) + is 3rd part in [The Secret of Tidy Git Repositories Series](https://dev.to/ant_f_dev/series/22124). ++ [Git fundamentals, a complete guide](https://dev.to/leandronsp/git-fundamentals-a-complete-guide-do7) + by Leandro Proença on DEV\.to.
+ See also: + + [Git from the Bottom Up](https://jwiegley.github.io/git-from-the-bottom-up/) by John Wiegley, + mentioned in [Git Rev News Edition #2](https://git.github.io/rev_news/2015/04/05/edition-2/), + + [Git for Computer Scientists](https://eagain.net/articles/git-for-computer-scientists/) by Tommi Virtanen, + + and maybe also [Think Like (a) Git: a guide for the perplexed](https://think-like-a-git.net/) by Sam Livingston-Gray. ++ [Options to close pull requests on GitHub](https://dev.to/zdybit/3-options-to-close-pull-requests-on-github-what-2j3n) and + [Merge, squash & rebase on GitHub - pros & cons](https://dev.to/zdybit/when-to-use-particular-options-to-close-pull-requests-on-github-3ce8) + by Kacper Rychel on DEV\.to. ++ [How to Reset a File or Commit in Git](https://www.freecodecamp.org/news/git-revert-how-to-reset-a-file-or-commit/) + by Ihechikara Vincent Abba on freeCodeCamp. ++ [How atomic Git commits dramatically increased my productivity - and will increase yours too](https://dev.to/samuelfaure/how-atomic-git-commits-dramatically-increased-my-productivity-and-will-increase-yours-too-4a84) + by Samuel Faure on DEV\.to and [on Such Dev Blog](https://suchdevblog.com/lessons/AtomicGitCommits.html). ++ [Working with Git in JetBrains' Rider IDE](https://andrewlock.net/working-with-git-in-jetbrains-rider/) + by Andrew Lock on his .NET Escapades blog. ++ [GitHub Desktop 3.2 adds pull request preview – but is a GUI needed for Git?](https://devclass.com/2023/03/06/github-desktop-3-2-adds-pull-request-preview-but-is-a-gui-needed-for-git/) + by Tim Anderson on Dev Class. ++ [Best 8 Data Version Control Tools for Machine Learning 2023](https://dagshub.com/blog/best-data-version-control-tools/) + by Zoumana Keita on DagsHub Blog. + + See also links about data versioning + in [previous Git Rev News](https://git.github.io/rev_news/2023/02/28/edition-96/). ++ [A better git workflow?](https://discourse.julialang.org/t/a-better-git-workflow/95248) + proposal by uje on Julia Language Discourse forum. ++ [Code Commit Guidelines using Conventional Commits](https://proandroiddev.com/code-commit-guidelines-using-conventional-commits-379321ce3785) + by Pragnesh Ghoda on ProAndroidDev, a Medium blog. + The [Conventional Commits](https://www.conventionalcommits.org) specification + was first mentioned in [Git Rev News Edition #52](https://git.github.io/rev_news/2019/06/28/edition-52/). + + ++ [Empowering weak primitives: file truncation to code execution with Git](https://www.sonarsource.com/blog/empowering-weak-primitives-file-truncation-to-code-execution-with-git/) + by Thomas Chauchefoin on Sonar(Source) Blog + (note that it is not about vulnerability in Git).
+ References [Securing Developer Tools: Git Integrations](https://www.sonarsource.com/blog/securing-developer-tools-git-integrations/) + blog post. - + +* [bug report: symbolic-ref --short command echos the wrong text while use Chinese language](https://lore.kernel.org/git/CAGF3oAcCi+fG12j-1U0hcrWwkF5K_9WhOi6ZPHBzUUzfkrZDxA@mail.gmail.com/) + + Mengzi Yi (孟子易) sent a bug report to the mailing list saying that + when a Chinese name like 测试-加-增加-加-增加 was given to a branch, + then using `git symbolic-ref --short HEAD` on that branch didn't + give the right output (for example 测试-� instead of maybe 测试-加). + + Peff, alias Jeff King, replied saying that he couldn't reproduce the + issue on Linux and wondered if it was related to using MacOS as its + HFS+ filesystem might do some unicode normalization. He said that it + might alternatively be related to the shortening code in + `shorten_unambiguous_ref()` treating the names as bytes instead of + characters. Another possibility he mentioned was that the shortening + code, which used `scanf()`, was assuming that the resulting string + could not be longer than the input, but that this might be wrong + when some unicode normalization and locale are used. + + Eric Sunshine replied to Peff saying he was able to reproduce the + bug on MacOS 10.13 (while Mengzi used MacOS 13.2), but that it + didn't appear to be related to HFS+ unicode normalization as the on + disk bytes of the branch name he got were the same as what Peff got + on Linux. + + Peff replied to Eric asking if he could test a patch that would add + debug output and allocate twice as much memory for the shortened + name that would store the output from `scanf()` than for the input + of that function. Peff said the debug output on his Linux machine + showed that the input was 39 bytes long while the output was 28. + + Eric tested Peff's patch and initially reported 39 and 9 for the + input and output respectively. When setting `LANG=zh-CN.UTF-8`, he + got the same input and output lengths as Peff though, which pointed + to `scanf()` being indeed the culprit. + + Junio Hamano, the Git maintainer, replied to Eric's findings saying + "Well, that's ... criminal." and wondering if setting `LANG` to + `$ANY_VALID_ONE.UTF-8` would work the same way. + + This made Eric realize that the `zh-CN` language code he used was + invalid (it should have been `zh_CN`, so with an underscore + character instead of a dash). Eric anyway found out that using valid + LANG codes like `en_US`, `fr_FR`, `de_DE`, `ru_RU` and `zh_CN` gave + the 测试-? truncated output, while using `LANG=C` gave the correct + 测试-加-增加-加-增加 output. + + Junio, Peff and Eric discussed these results further wondering what + `scanf()` on MacOS could be doing wrong. Then Peff suggested + replacing the call to this function with some manual parsing, and + sent a sample in-email patch to do that. + + Eric tested Peff's patch and reported that it looked correct, worked + nicely and fixed the issue. He also agreed with the approach of + getting rid of `scanf()` calls in general. + + Peff then sent + [a regular small patch series](https://lore.kernel.org/git/Y+vVFFCRem6t4IGM@coredump.intra.peff.net/) + based on his previous patch which fixed a leak and made the changes + easier to follow. + + Juni and Eric reviewed the series and then discussed with Peff a bug + Junio found in it. Then Peff sent + [a version 2](https://lore.kernel.org/git/Y+z3MtgayoXsxaHA@coredump.intra.peff.net/) + of the patch series that fixed the bug and added tests. + + Torsten Bögershausen in the meantime tried to reproduce the original + bug and discussed how to do that with Eric. He also commented on the + new tests in the version 2 of the patch series as he found that it + wasn't clear in which context the bug could appear. Junio suggested + some clarifications that were approved by others. The resulting + patches were merged and included in the recent Git v2.40.0 release. + [Empowering weak primitives: file truncation to code execution with Git](https://www.sonarsource.com/blog/empowering-weak-primitives-file-truncation-to-code-execution-with-git/) by Thomas Chauchefoin on Sonar(Source) Blog - (note that it is not about vulnerability in Git).
- References [Securing Developer Tools: Git Integrations](https://www.sonarsource.com/blog/securing-developer-tools-git-integrations/) + (note that it is not about a vulnerability in Git).
+ References the [Securing Developer Tools: Git Integrations](https://www.sonarsource.com/blog/securing-developer-tools-git-integrations/) blog post. + [What the ML is up with DevSecOps and AI?](https://about.gitlab.com/blog/2023/03/16/what-the-ml-ai/) by Taylor McCaslin on GitLab Blog. @@ -205,43 +205,42 @@ __Git tools and sites__ accepting it, especially for more complex changes. Those tools, as far as I understand it, do not take information from an issue tracker, or from code review comments attached to a pull request (or contained in a specialized - tool such as Gerrit) - so they cannot add this information to the proposed - commit message, they can only halucinate it. + tool such as Gerrit) -- so they cannot add this information to the proposed + commit message, they can only halucinate it.
+ All tools listed here require an [API key from OpenAI](https://platform.openai.com/account/api-keys). + [OpenCommit](https://github.com/di-sukharev/opencommit) - is GPT CLI to auto-generate impressive commits in 1 second; - needs API key from [OpenAI](https://platform.openai.com/account/api-keys). - Uses [Conventional Commits](https://www.conventionalcommits.org), - can use [GitMoji](https://gitmoji.dev/). + is a GPT CLI to auto-generate impressive commits in 1 second; + it uses [Conventional Commits](https://www.conventionalcommits.org), + and can use [GitMoji](https://gitmoji.dev/). Written as Node\.js CLI app. + See also [OpenCommit: GPT generates impressive commits in 1 second (open-source)](https://dev.to/disukharev/opencommit-gpt-cli-to-auto-generate-impressive-commits-in-1-second-46dh) by Dima Sukharev on DEV\.to. + [AI Commits](https://github.com/Nutlope/aicommits) - is a CLI app that writes your git commit messages for you with AI, + is a CLI app (`aicommits`) that writes your Git commit messages for you with AI, that can also be used as [`prepare-commit-msg` hook](https://git-scm.com/docs/githooks#_prepare_commit_msg). - Requires [API key from OpenAI](https://platform.openai.com/account/api-keys). Written as Node\.js v14+ CLI app. - + See also [AI generated git commit messages](https://dev.to/bdougieyo/ai-generated-git-commit-messages-4j7g) + + See also [AI generated Git commit messages](https://dev.to/bdougieyo/ai-generated-git-commit-messages-4j7g) by Brian Douglas on DEV\.to. - + [AI-Commit](https://github.com/nguyenvanduocit/ai-commit) + + [`ai-commit`](https://github.com/nguyenvanduocit/ai-commit) is a command line tool that uses [OpenAI](https://openai.com/)'s language generation capabilities to generate [conventional commit](https://www.conventionalcommits.org) messages for your Git repositories. Written in Go. + [gptcommit](https://github.com/zurawiki/gptcommit) is - a git prepare-commit-msg [hook](https://git-scm.com/docs/githooks) - for authoring commit messages with the [OpenAI](https://openai.com/)'s GPT-3 language model. + a Git `prepare-commit-msg` [hook](https://git-scm.com/docs/githooks) + for authoring commit messages with [OpenAI](https://openai.com/)'s GPT-3 language model. Written in Rust. + Mentioned in [Git Rev News Edition #95](https://git.github.io/rev_news/2023/01/31/edition-95/); see also [an article](https://zura.wiki/post/never-write-a-commit-message-again-with-the-help-of-gpt-3/) about this tool there. + [Planar](https://www.useplanar.com/) is a Chrome extension - that adds features used internally by big tech to GitHub code review. + that adds features used internally by big tech to speed up and simplify GitHub code review. + See also [Planar - Add 10x features to GitHub code review](https://www.ycombinator.com/launches/ICU-planar-add-10x-features-to-github-code-review) by Eshan Agarwal on Y Combinator (Launch YC). + [Git for Computer Scientists](https://eagain.net/articles/git-for-computer-scientists/) - by Tommi Virtanen is a quick introduction to git internals for people - who are not scared by words like Directed Acyclic Graph. + by Tommi Virtanen is a quick introduction to Git internals for people + who are not scared by words like directed acyclic graph. + [Think Like (a) Git: a guide for the perplexed](https://think-like-a-git.net/) by Sam Livingston-Gray, intended for "advanced beginners" with Git to help them achieve some level of _Git enlightenment_. From 76a0e354bd882dad3b97fdea1a01c3e499552ff8 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Sat, 1 Apr 2023 16:27:29 +0200 Subject: [PATCH 052/797] rn-97: revert 'uses' back to 'used' in main article --- rev_news/drafts/edition-97.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rev_news/drafts/edition-97.md b/rev_news/drafts/edition-97.md index 374efaaad4..6d77427a1b 100644 --- a/rev_news/drafts/edition-97.md +++ b/rev_news/drafts/edition-97.md @@ -40,7 +40,7 @@ This edition covers what happened during the months of February 2023 and March 2 might alternatively be related to the shortening code in `shorten_unambiguous_ref()` treating the names as bytes instead of characters. Another possibility he mentioned was that the shortening - code, which uses `scanf()`, was assuming that the resulting string + code, which used `scanf()`, was assuming that the resulting string could not be longer than the input, but that this might be wrong when some Unicode normalization and locale were used. From 5b88b3594ff0b74e3537f38781168488059bcb2a Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Sat, 1 Apr 2023 16:31:50 +0200 Subject: [PATCH 053/797] Publish rn-97 in _posts/ --- .../drafts/edition-97.md => _posts/2023-03-31-edition-97.markdown | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rev_news/drafts/edition-97.md => _posts/2023-03-31-edition-97.markdown (100%) diff --git a/rev_news/drafts/edition-97.md b/_posts/2023-03-31-edition-97.markdown similarity index 100% rename from rev_news/drafts/edition-97.md rename to _posts/2023-03-31-edition-97.markdown From 308304bb41cf5f969c9cf1722dfb5e9637e608ca Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Sat, 1 Apr 2023 16:31:50 +0200 Subject: [PATCH 054/797] Add draft for rn-98 --- rev_news/drafts/edition-98.md | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 rev_news/drafts/edition-98.md diff --git a/rev_news/drafts/edition-98.md b/rev_news/drafts/edition-98.md new file mode 100644 index 0000000000..9e6c2b0441 --- /dev/null +++ b/rev_news/drafts/edition-98.md @@ -0,0 +1,60 @@ +--- +title: Git Rev News Edition 98 (April 26th, 2023) +layout: default +date: 2023-04-26 12:06:51 +0100 +author: chriscool +categories: [news] +navbar: false +--- + +## Git Rev News: Edition 98 (April 26th, 2023) + +Welcome to the 98th edition of [Git Rev News](https://git.github.io/rev_news/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](https://git.github.io/rev_news/rev_news/) on [git.github.io](http://git.github.io). + +This edition covers what happened during the months of March 2023 and April 2023. + +## Discussions + + + + + + + + + +## Releases + + +## Other News + +__Various__ + + +__Light reading__ + + + +__Git tools and sites__ + + +## Credits + +This edition of Git Rev News was curated by +Christian Couder <>, +Jakub Narębski <>, +Markus Jansen <> and +Kaartic Sivaraam <> +with help from XXX. From 06f0dc16420c76d022c7f01ccaa96df4583b2758 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Sat, 1 Apr 2023 16:44:42 +0200 Subject: [PATCH 055/797] rn-97: add notes from the libification eng discussion --- _posts/2023-03-31-edition-97.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_posts/2023-03-31-edition-97.markdown b/_posts/2023-03-31-edition-97.markdown index 6d77427a1b..a949952ed9 100644 --- a/_posts/2023-03-31-edition-97.markdown +++ b/_posts/2023-03-31-edition-97.markdown @@ -147,6 +147,10 @@ __Various__ by Arkodyuti Saha on GitHub Blog. + [Future-proofing Git repository maintenance](https://about.gitlab.com/blog/2023/03/20/scaling-repository-maintenance/) by Patrick Steinhardt on GitLab blog. ++ [Notes from a video conference](https://lore.kernel.org/git/CAJoAoZm7147oH9ECr=y+OXonK5WSgc9H0b95sF7BhKjMn+oMZg@mail.gmail.com/) + on Thursday March 30 named + [libification eng discussion](https://lore.kernel.org/git/CAJoAoZ=KrnAWV3PpfBkYNs_KHFP5O2dVYOWY3jF=CM9+d89Dpg@mail.gmail.com/) + organized by Emily Shaffer are available. __Light reading__ From 051a8eeb30d4a8508a3539df1ec82750c1f8c3f1 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Sat, 1 Apr 2023 17:01:24 +0200 Subject: [PATCH 056/797] rn-97: change publication date to March 31st --- _posts/2023-03-31-edition-97.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_posts/2023-03-31-edition-97.markdown b/_posts/2023-03-31-edition-97.markdown index a949952ed9..a0e2fa3223 100644 --- a/_posts/2023-03-31-edition-97.markdown +++ b/_posts/2023-03-31-edition-97.markdown @@ -1,13 +1,13 @@ --- -title: Git Rev News Edition 97 (March 29th, 2023) +title: Git Rev News Edition 97 (March 31st, 2023) layout: default -date: 2023-03-29 12:06:51 +0100 +date: 2023-03-31 12:06:51 +0100 author: chriscool categories: [news] navbar: false --- -## Git Rev News: Edition 97 (March 29th, 2023) +## Git Rev News: Edition 97 (March 31st, 2023) Welcome to the 97th edition of [Git Rev News](https://git.github.io/rev_news/rev_news/), a digest of all things Git. For our goals, the archives, the way we work, and how to contribute or to From 2e99706a2e273a99b4ceb41aa918bb5d926d3edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Nar=C4=99bski?= Date: Sat, 1 Apr 2023 17:42:41 +0200 Subject: [PATCH 057/797] rn-97: Typo fix in link description --- _posts/2023-03-31-edition-97.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2023-03-31-edition-97.markdown b/_posts/2023-03-31-edition-97.markdown index a0e2fa3223..2c21ce5a07 100644 --- a/_posts/2023-03-31-edition-97.markdown +++ b/_posts/2023-03-31-edition-97.markdown @@ -159,7 +159,7 @@ __Light reading__ + [Slice, Dice, and Squash Your Git Commit History](https://webdeveloperdiary.substack.com/p/slice-dice-and-squash-your-git-commit) by Anthony Fung on _Diary of a Web Developer_ Substack and [on DEV.to](https://dev.to/ant_f_dev/slice-dice-and-squash-your-git-commit-history-2dk3) - in part 3 of [The Secret of Tidy Git Repositories Series](https://dev.to/ant_f_dev/series/22124). + is 3rd part of [The Secret of Tidy Git Repositories Series](https://dev.to/ant_f_dev/series/22124). + [Git fundamentals, a complete guide](https://dev.to/leandronsp/git-fundamentals-a-complete-guide-do7) by Leandro Proença on DEV\.to.
See also: From 81821b7f034470295e026d71173c4004378864b2 Mon Sep 17 00:00:00 2001 From: Markus Jansen Date: Tue, 4 Apr 2023 09:24:53 +0200 Subject: [PATCH 058/797] Last fixes before sending the email. --- _posts/2023-03-31-edition-97.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2023-03-31-edition-97.markdown b/_posts/2023-03-31-edition-97.markdown index 2c21ce5a07..892c4a56e1 100644 --- a/_posts/2023-03-31-edition-97.markdown +++ b/_posts/2023-03-31-edition-97.markdown @@ -159,7 +159,7 @@ __Light reading__ + [Slice, Dice, and Squash Your Git Commit History](https://webdeveloperdiary.substack.com/p/slice-dice-and-squash-your-git-commit) by Anthony Fung on _Diary of a Web Developer_ Substack and [on DEV.to](https://dev.to/ant_f_dev/slice-dice-and-squash-your-git-commit-history-2dk3) - is 3rd part of [The Secret of Tidy Git Repositories Series](https://dev.to/ant_f_dev/series/22124). + as 3rd part of [The Secret of Tidy Git Repositories Series](https://dev.to/ant_f_dev/series/22124). + [Git fundamentals, a complete guide](https://dev.to/leandronsp/git-fundamentals-a-complete-guide-do7) by Leandro Proença on DEV\.to.
See also: @@ -206,7 +206,7 @@ __Git tools and sites__ + There are a few tools that use GPT-3 / ChatGPT Large Language Model (LLM) to help write commit messages. Please read the proposed commit message before - accepting it, especially for more complex changes. Those tools, as far as I + accepting it, especially for more complex changes. Those tools, as far as we understand it, do not take information from an issue tracker, or from code review comments attached to a pull request (or contained in a specialized tool such as Gerrit) -- so they cannot add this information to the proposed From 78bb7e3b31030bef274568b9cac475a400e179b5 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 11 Apr 2023 14:32:01 +0200 Subject: [PATCH 059/797] Hacking-Git: add gdb test debugging example --- Hacking-Git.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Hacking-Git.md b/Hacking-Git.md index d8fe547873..9d20bd5ef5 100644 --- a/Hacking-Git.md +++ b/Hacking-Git.md @@ -108,6 +108,8 @@ suggest improvements. Thanks! * [Philippe Blain's "Debugging Git" Gist](https://gist.github.com/phil-blain/17c67740bd26e66f4851fe0c07230ea4) +* [Debugging test failure using gdb example](https://public-inbox.org/git/CAP8UFD3Bd4Af1XZ00VyuHnQs=MFrdUufKeePO1tyedWoReRjwQ@mail.gmail.com/) + ## Tests * ["`t/README`"](https://github.com/git/git/blob/master/t/README) From c00f67575bd28fd6b72c5e106837d59157654f1e Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Mon, 17 Apr 2023 00:35:33 +0530 Subject: [PATCH 060/797] Include development info and re-shuffle home/about pages The information to spin up the site locally got buried inside _includes/README in a recent change. It actually belongs to the README present in the root of the repo, too since that is what users see when viewing the repository. Hence, move that information there. The "About" page has long been very identical to the home page. So, shuffle the content in home and about pages and unify them into the Home page itself. For historical purposes, make the about page redirect to the homepage. Fixes #610 --- Gemfile | 1 + README.md | 19 +++++++++++++ _config.yml | 2 ++ _includes/README.md | 63 +++++++++++++++---------------------------- _includes/navbar.html | 1 - about.html | 7 +++++ about.md | 7 ----- index.md | 22 +-------------- 8 files changed, 52 insertions(+), 70 deletions(-) create mode 100644 about.html delete mode 100644 about.md diff --git a/Gemfile b/Gemfile index 7d8bf5df60..3cc8ef00a1 100644 --- a/Gemfile +++ b/Gemfile @@ -5,3 +5,4 @@ gem 'github-pages', group: :jekyll_plugins # gem "webrick", "~> 1.7" # N.B. we may not want to fix this Gemfile to Ruby 3 gem "webrick" +gem 'jekyll-redirect-from' \ No newline at end of file diff --git a/README.md b/README.md index 1ea95e5396..99d8801805 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,25 @@ - These pages are intended to be edited collaboratively (i.e., it is an alternative to us having a wiki, but one that is edited entirely via Git pushes). + You could also send your changes as patches by email to Christian Couder < > / Kaartic Sivaraam < > (and feel free to cc git@vger.kernel.org if appropriate). + + +### Development + +If you wish to spin up the site locally, you could follow the steps below. + +* Make sure you've got ruby2 with dev-packages installed +* `sudo gem install bundler` +* Clone this repo +* `sudo apt-get install zlib1g-dev` # [ + [ref](http://www.nokogiri.org/tutorials/installing_nokogiri.html#ubuntu___debian) + ] +* `bundle install` +* `bundle exec jekyll serve` +* browse the site on http://localhost:4000 + +Based on https://help.github.com/articles/using-jekyll-with-pages/ +
diff --git a/_config.yml b/_config.yml index 7633f45e70..f3e563f9aa 100644 --- a/_config.yml +++ b/_config.yml @@ -1,2 +1,4 @@ name: Git Developer Pages permalink: /rev_news/:year/:month/:day/:title/ +plugins: + - jekyll-redirect-from \ No newline at end of file diff --git a/_includes/README.md b/_includes/README.md index ea8fb22500..d70f2c116c 100644 --- a/_includes/README.md +++ b/_includes/README.md @@ -1,41 +1,22 @@ -# About Git Developer Pages - -This is a website to help Git Developers. - -It is NOT a place to discuss Git issues. Please see -[git-scm.org's community page](https://git-scm.com/community) -for information about bug reporting or interacting with the -community. - -The pages are maintained by editing files in the -[git/git.github.io](https://github.com/git/git.github.io) repository on -GitHub. It is then published on the -[https://git.github.io](https://git.github.io) GitHub page. - -It is meant to be edited collaboratively like a wiki, except that -instead of a web form, you get to use a text editor and Git. What could -be better? - -These pages also host the [Git Rev News](https://git.github.io/rev_news/), -see the [About Git Rev News](https://git.github.io/rev_news/rev_news/) page. - -If you want push access, contact Christian Couder -< > or Taylor Blau < > and -provide your GitHub username. You may also send patches by mail (and -feel free to cc git@vger.kernel.org if appropriate). - - -# Development - -* Make sure you've got ruby2 with dev-packages installed -* `sudo gem install bundler` -* Clone this repo -* `sudo apt-get install zlib1g-dev` # ref [1] -* `bundle install` -* `bundle exec jekyll serve` -* browse the site on http://localhost:4000 - -Based on https://help.github.com/articles/using-jekyll-with-pages/ - -[1] http://www.nokogiri.org/tutorials/installing_nokogiri.html#ubuntu___debian - +This is a website for information on Git development. If you stumbled into this +by mistake, you may want: + - Information on running Git and links to download the latest version from + [HERE](https://git-scm.com/) + - Wiki that has historically contained developer information from + [HERE](https://git.wiki.kernel.org/index.php/Main_Page) + +These pages are intended to collect information useful to Git developers. This +is also the web home of: + - the [Hacking Git](https://git.github.io/Hacking-Git/) page, + - the [Git Rev News newsletter](https://git.github.io/rev_news/), + - the [involvement of the Git project in mentoring + programs](https://git.github.io/General-Application-Information/) like + [Outreachy](https://www.outreachy.org/) and the [GSoC (Google Summer of + Code)](https://summerofcode.withgoogle.com/) + +These pages are intended to be edited collaboratively (i.e., it is an +alternative to us having a wiki, but one that is edited entirely via Git pushes. +The [repository](https://github.com/git/git.github.io) could be found on GitHub. +You could also send your changes as patches by email to Christian Couder < + > / Kaartic Sivaraam < > +(and feel free to cc git@vger.kernel.org if appropriate). diff --git a/_includes/navbar.html b/_includes/navbar.html index 6d52b36c9f..d4dfe25bda 100644 --- a/_includes/navbar.html +++ b/_includes/navbar.html @@ -1,7 +1,6 @@