Skip to content

Commit 6139aec

Browse files
committed
rn-126: Add links to various news, articles, sites, and tools
1 parent 0b76af1 commit 6139aec

File tree

1 file changed

+248
-0
lines changed

1 file changed

+248
-0
lines changed

rev_news/drafts/edition-126.md

Lines changed: 248 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,15 +333,263 @@ Yes, I hope to mentor future Outreachy interns if the opportunity arise.
333333

334334
__Various__
335335

336+
+ [What’s new in Git 2.51.0?](https://about.gitlab.com/blog/what-s-new-in-git-2-51-0/)
337+
by Karthik Nayak on GitLab Blog. It describes performance optimizations
338+
for `git push` and `git fetch` (most significant when using "reftable"
339+
backend for references), further plans for Git 3.0 (which can be
340+
found in the [BreakingChanges document](https://gitlab.com/gitlab-org/git/-/blob/master/Documentation/BreakingChanges.adoc)), semi-removal of `git whatchanged`
341+
(still available with `--i-still-use-this` flag), and marking
342+
`git switch` and `git restore` as no longer experimental,
343+
adding a new `--start-after` flag for `git for-each-ref` (that can be
344+
combined with the `--count` flag to support pagination), etc.
345+
+ [Highlights from Git 2.51](https://github.blog/open-source/git/highlights-from-git-2-51/)
346+
by Taylor Blau on GitHub Blog. It describes cruft-free multi-pack indexes
347+
(which currently require setting a new `repack.MIDXMustContainCruft` config option),
348+
smaller packs with "path walk" method of collecting objects when repacking
349+
(which you can try out with the new `--path-walk` command-line option),
350+
a variant of the internal stash representation that can be used for stash interchange
351+
(with new `export` and `import` commands for `git stash`), etc.
352+
+ [Xet is now the default storage option for new users and organizations](https://huggingface.co/changelog/xet-default-for-new-users)
353+
at [Hugging Face](https://huggingface.co/), switching from [Git LFS](https://git-lfs.com/).
354+
This includes moving existing repositories from LFS to Xet.
355+
To get the most out of Xet storage [read the usage instructions in the Hub docs](https://huggingface.co/docs/hub/en/storage-backends#using-xet-storage).
356+
Note that Xet remains backward compatible with legacy clients optimized for Git LFS.
357+
+ [XetHub](https://xethub.com/) was first mentioned in passing in
358+
[Git Rev News #95](https://git.github.io/rev_news/2023/01/31/edition-95/),
359+
and its [benchmark by XetHub against S3, DVC, and Git LFS](https://about.xethub.com/blog/benchmarking-the-modern-development-experience)
360+
was mentioned in [Git Rev News Edition #113](https://git.github.io/rev_news/2024/07/31/edition-113/).
361+
+ Compare with [DagsHub launching Direct Data Access in 2022](https://dagshub.com/blog/launching-data-streaming-and-upload/).
362+
[DagsHub](https://dagshub.com/) was first mentioned in
363+
[Git Rev News Edition #72](https://git.github.io/rev_news/2021/02/27/edition-72/),
364+
then in [#85](https://git.github.io/rev_news/2022/03/31/edition-85/),
365+
[#96](https://git.github.io/rev_news/2023/02/28/edition-96/),
366+
[#107](https://git.github.io/rev_news/2024/01/31/edition-107/), and
367+
[#113](https://git.github.io/rev_news/2024/07/31/edition-113/).
368+
336369

337370
__Light reading__
338371

372+
+ [The future of large files in Git is Git](https://tylercipriani.com/blog/2025/08/15/git-lfs/)
373+
by Tyler Cipriani on his blog. It describes how can one use
374+
partial clone today (and large object promisors in the future,
375+
which are work in progress), instead of using [Git LFS](https://git-lfs.com/)
376+
or similar solutions like [git-annex](https://git-annex.branchable.com/)
377+
(or no longer actively developed solutions like git-media and git-fat),
378+
or [DVC](https://dvc.org/) (Data Version Control).
379+
+ [Code Review Can Be Better](https://tigerbeetle.com/blog/2025-08-04-code-review-can-be-better/)
380+
(than GitHub's default code review process)
381+
by matklad (Alex Kladov) on the TigerBeetle blog.<br>
382+
Mentions their [`git-review`](https://github.com/tigerbeetle/tigerbeetle/pull/2732)
383+
work-in-progress tool, and also
384+
+ [Fossil](https://fossil-scm.org/) version control system with built-in project management
385+
(first mentioned in [Git Rev News Edition #11](https://git.github.io/rev_news/2016/01/13/edition-11/)),
386+
+ [NoteDb](https://gerrit-review.googlesource.com/Documentation/note-db.html) backend
387+
for [Gerrit](https://www.gerritcodereview.com/) - which allows storing review state in Git,
388+
(NoteDb was first mentioned in [Git Rev News Edition #40](https://git.github.io/rev_news/2018/06/20/edition-40/)),
389+
+ [git-bug](https://github.com/git-bug/git-bug) tool that uses git to store information about issues / bugs
390+
(first mentioned in [Git Rev News Edition #43](https://git.github.io/rev_news/2018/09/19/edition-43/)),
391+
+ [git-appraise](https://github.com/google/git-appraise) tool that uses git to store information about reviews
392+
(first mentioned in [Git Rev News Edition #11](https://git.github.io/rev_news/2016/01/13/edition-11/)),
393+
+ [prr](https://doc.dxuuu.xyz/prr/index.html) ('pull request review') tool that brings mailing list style code reviews to Github PRs
394+
(mentioned in [Git Rev News Edition #90](https://git.github.io/rev_news/2022/08/31/edition-90/)),
395+
+ [git-pr](https://pr.pico.sh/) project that leverages git native features to replace the entire pull request workflow,
396+
(mentioned in [Git Rev News Edition #113](https://git.github.io/rev_news/2024/07/31/edition-113/)), and
397+
+ [How Jane Street Does Code Review](https://www.janestreet.com/tech-talks/janestreet-code-review/)
398+
article by Ian Henry on Jane Street Tech Talks site.
399+
+ [Jujutsu + Radicle = ❤️](https://radicle.xyz/2025/08/14/jujutsu-with-radicle)
400+
by fintohaps on Radicle Blog, describing how the author use Jujutsu in tandem with Radicle.
401+
+ [Jujutsu (`jj`)](https://jj-vcs.github.io/jj/) is a Git-compatibile version control system
402+
written in Rust, and was first mentioned in
403+
[Git Rev News Edition #85](https://git.github.io/rev_news/2022/03/31/edition-85/).
404+
+ [Radicle](https://radicle.xyz/), a peer-to-peer, local-first code collaboration stack built on Git,
405+
was first mentioned in [Git Rev News Edition #49](https://git.github.io/rev_news/2019/03/20/edition-49/).
406+
+ [introducing spindle](https://blog.tangled.sh/ci) by Anirudh & Akshay on Tangled blog;
407+
spindle is Tangled’s new CI runner built atop Nix and AT Protocol.
408+
+ [Tangled.sh](https://blog.tangled.sh/intro) is a new social-enabled Git collaboration platform
409+
build on top of AT Protocol (which is behind [BlueSky](https://bsky.app/)
410+
microblogging federated social media service).
411+
First mentioned in [the previous edition of Git Rev News](https://git.github.io/rev_news/2025/07/31/edition-125/).
412+
+ Compare [Using Radicle CI for Development](https://radicle.xyz/2025/07/23/using-radicle-ci-for-development)
413+
article by Lars Wirzenius, also mentioned in [Git Rev News #125](https://git.github.io/rev_news/2025/07/31/edition-125/).
414+
[Radicle](https://radicle.xyz/) is another distributed git hosting system,
415+
first mentioned in [Git Rev News Edition #49](https://git.github.io/rev_news/2019/03/20/edition-49/).
416+
+ [How we used Radicle with GitHub Actions](https://radicle.xyz/2025/05/30/radicle-with-github-actions):
417+
Quick guide to trying Radicle without dropping GitHub or whatever CI you’re using.
418+
Published by rudolfs (Rūdolfs Ošiņš) on Radicle Blog.
419+
+ [Archive Legacy GitHub Repos with Subtree](https://dev.to/tonymet/archive-legacy-github-repos-with-subtree-1dj3)
420+
by Tony Metzidis on DEV\.to, about how to use `git subtree` to consolidate
421+
hundreds of legacy experimental repos into an archive,
422+
preserving all of the commit history.
423+
+ [I'll think twice before using Github Actions again](https://ninkovic.dev/blog/2025/think-twice-before-using-github-actions)
424+
by Nemanja Ninković on their blog.
425+
+ [Git without a forge](https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/git-no-forge/)
426+
by Simon Tatham on his quasiblog, describing how to interact with a bare git repo,
427+
and explaining why he personally does not use any of Git forges.
428+
+ [How I Cleaned Up My Git History Like a Boss (a.k.a. Fixing Wrong Author Emails)](https://dev.to/emrahg/how-i-cleaned-up-my-git-history-like-a-boss-aka-fixing-wrong-author-emails-19lb)
429+
by Emrah G. on DEV\.to. The solution uses (deprecated) `git filter-branch` tool;
430+
the recommended replacement is [`git filter-repo`](https://github.com/newren/git-filter-repo).
431+
Also, you can correct the _visible_ e-mail with the [`.mailmap`](https://git-scm.com/docs/gitmailmap) file
432+
(changing what Git shows, without having to rewrite history).
433+
+ [Revolutionizing Git Workflows: The MCP Git Commit Generator](https://www.bampouris.eu/blog/mcp-git-commit-generator/)
434+
by Theoklitos Bampouris on his blog (and also [on DEV\.to](https://dev.to/theoklitosbam7/revolutionizing-git-workflows-the-mcp-git-commit-generator-530m)),
435+
about using Agentic AI and LLM chatbot,
436+
leveraging the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction).
437+
The generated commit message will follow [Conventional Commits](https://www.conventionalcommits.org/) conventions.<br>
438+
Note: please read the proposed commit message before accepting it,
439+
especially for more complex changes. While AI agents can take information
440+
from changes and from an issue tracker, they cannot write whys of the change;
441+
they cannot access your thoughts.
442+
+ [Git Rev News Edition #97](https://git.github.io/rev_news/2023/03/31/edition-97/)
443+
lists a few other tools that use GPT-3 / ChatGPT Large Language Model (LLM)
444+
to help write commit messages.
445+
+ [Better git status](https://purpleidea.com/blog/2025/08/04/better-git-status/)
446+
by James (@purpleidea) on his blog. He uses git alias which examines
447+
the terminal width, and uses `git status --column=nodense` if terminal is wide enough.
448+
+ [Some Pretty Cool Git Tools To Save Your Sanity](https://fev.al/posts/git-tools/)
449+
by Charles Féval on his blog.
450+
Mentions `git revise` for splitting pull requests (PRs),
451+
and own `git backup`, `git reparent`, `git split`, `git move-branch`, and `git bookmark`.
452+
+ [Using Git worktrees for development](https://blog.kulman.sk/git-worktree/)
453+
by Igor Kulman on his blog.
454+
+ [Curing A Case Of Git-UX](https://oppi.li/posts/curing_a_case_of_git-UX/)
455+
by Akshay on their blog; describes how one can improve git worktree UX
456+
with the help of [fzf](https://github.com/junegunn/fzf)
457+
(or [skim](https://github.com/lotabout/skim) or [fzy](https://github.com/jhawthorn/fzy)),
458+
and shell functions.
459+
+ See also [Improving shell workflows with fzf](https://seb.jambor.dev/posts/improving-shell-workflows-with-fzf/),
460+
mentioned in [Git Rev News Edition #74](https://git.github.io/rev_news/2021/04/30/edition-74/).
461+
+ [Making my GitHub heatmap widget](https://leanrada.com/notes/github-heatmap-widget/)
462+
Lean Rada on their blog. The created tool scrapes an HTML partial, and reformats it,
463+
but is constructed in such way that it could have consume JSON from GitHub API instead.
464+
+ [TryHackMe - Git Happens](https://jacen.moe/blog/20250805-tryhackme-git-happens/)
465+
by Jacen Sekai on his blog, about [Git Happens](https://tryhackme.com/room/githappens):
466+
an easy-ranked box on [TryHackMe](https://tryhackme.com/), website for
467+
hands-on cyber security training through real-world scenarios.
468+
+ [The Ingredients of a Productive Monorepo](https://blog.swgillespie.me/posts/monorepo-ingredients/)
469+
by Sean Gillespie on his misguided thoughts blog.
470+
+ You can find a definition of "monorepo" and a list of various tools on the [Monorepo.tools](https://monorepo.tools/) site,
471+
which was first mentioned in [Git Rev News Edition #84](https://git.github.io/rev_news/2022/02/28/edition-84/).
472+
+ [Git and jujutsu: in miniature](https://lottia.net/notes/0013-git-jujutsu-miniature.html)
473+
by Charlotte (lottia) on her blog (2024).
474+
+ [Git Interactive Rebase TODO Order is Wrong](https://salferrarello.com/git-interactive-rebase-order-is-wrong/)
475+
by Sal Ferrarello on his blog (2019), stating a personal preference for stack-like order,
476+
with latest commits appearing on the top.<br>
477+
The author even wrote a Vim plugin,
478+
[Interactive Rebase Reverse Vim](https://github.com/salcode/vim-interactive-rebase-reverse),
479+
to reverse the order of the commits in an interactive git rebase.
480+
+ [Every line of code is always documented](https://mislav.net/2014/02/hidden-documentation/)
481+
by Mislav Marohnić on his blog (2014). The article describes how to
482+
extract information about code snippet from project history using `git blame`,
483+
'pickaxe' search with `git log -S`, and
484+
[git-churn](https://github.com/garybernhardt/dotfiles/blob/f0c0ff92209e5aed4fa3ef6faf056eb9944a8f12/bin/git-churn) script,
485+
and how to stay on the right side of history
486+
(among others, to be able to use this technique effectively).
487+
488+
339489
<!---
340490
__Easy watching__
341491
-->
342492

343493
__Git tools and sites__
344494

495+
+ [WRKFLW](https://github.com/bahdotsh/wrkflw) is a command-line tool
496+
for validating and executing GitHub Actions workflows locally,
497+
without requiring a full GitHub environment.
498+
It helps developers test their workflows directly on their machines
499+
before pushing changes to GitHub.
500+
Written in Rust, under MIT license.
501+
+ Compare with [Act](https://github.com/nektos/act) command line tool
502+
to run your GitHub Actions locally, using the Docker Engine API.
503+
Written in Go, under MIT license.
504+
Mentioned in [Git Rev News Edition #113](https://git.github.io/rev_news/2024/07/31/edition-113/).
505+
+ [Setup DVC Action](https://github.com/marketplace/actions/setup-dvc-data-version-control)
506+
by Iterative is a JavaScript action that can be used as a step in GitHub Actions.<br>
507+
[DVC](https://dvc.org) (Data Version Control) was first mentioned
508+
in [Git Rev News Edition #42](https://git.github.io/rev_news/2018/08/22/edition-42/),
509+
and many times since (most recent in [Edition #116](https://git.github.io/rev_news/2024/10/31/edition-116/)).
510+
+ [Lappverk](https://codeberg.org/natkr/lappverk/) is a tool for modifying other people's software.
511+
It works by keeping a series of `.patch` files as its source of truth
512+
(like [quilt](https://savannah.nongnu.org/projects/quilt)),
513+
but using temporary Git repositories as an interface to modify the patches,
514+
rather than implementing its own version control system from scratch.
515+
Written in Rust, under Apache 2.0 License.
516+
Started out as Patchable internal tool.<br>
517+
You might also be interested in reading the announcement blog post:
518+
[Modifying Other People's Software]()
519+
by Natalie Klestrup Röijezon (natkr) on natkr's ramblings.
520+
+ Compare [patchwork](http://jk.ozlabs.org/projects/patchwork/) - a web-based patch tracking system
521+
designed to facilitate the contribution and management of contributions to an open-source project,
522+
first mentioned in [Git Rev News Edition #20](https://git.github.io/rev_news/2016/10/19/edition-20/).
523+
+ Compare [Stacked Git (StGit)](https://stacked-git.github.io/),
524+
an application for managing Git commits as a stack of patches,
525+
first mentioned in [Git Rev News Edition #17](https://git.github.io/rev_news/2016/07/20/edition-17/).
526+
+ Compare [B4 Tools](https://github.com/mricon/b4), a helper utility
527+
to work with patches made available via a [public-inbox](https://public-inbox.org/README.html) archive like [lore.kernel.org](https://lore.kernel.org/).
528+
This tool is written to make it easier to participate in a patch-based workflows,
529+
like those used in the Linux kernel development.
530+
First mentioned in [Git Rev News Edition #61](https://git.github.io/rev_news/2020/03/25/edition-61/).
531+
+ [GitGenius](https://selvaneyas.github.io/gitgenius) is a smart and simple CLI tool
532+
that explains Git errors in plain English and helps you fix them quickly.
533+
Written in Python, under MIT license.
534+
+ See also [thefuck](https://github.com/nvbn/thefuck), a command line application
535+
which corrects your previous console command (for example Git command)
536+
if you made an error (like typos in command name), and it _didn't_ do what you wanted;
537+
the tool was first mentioned in [Git Rev News Edition #101](https://git.github.io/rev_news/2023/07/31/edition-101/).
538+
+ Compare the [Oh Shit, Git!?!](http://ohshitgit.com/) / [Dangit, Git!?!](https://dangitgit.com/)
539+
website by Katie Sylor-Miller,
540+
first mentioned in [Git Rev News Edition #19](https://git.github.io/rev_news/2016/09/14/edition-19/).
541+
+ [GIT.WTF!?!](https://git.wtf/) is a website with articles in which you can
542+
find solutions to your Git problems,
543+
along with tips & tricks to improve your Git workflows.
544+
+ [GITHUB2FORGEJO](https://github.com/PatNei/GITHUB2FORGEJO)
545+
is a Bash script for migrating all repositories from a GitHub user account
546+
to a specified Forgejo instance. It supports mirroring or one-time cloning
547+
and includes a cleanup feature for removing repositories on Forgejo
548+
that no longer exist on GitHub.
549+
Under GPL 3.0 license.<br>
550+
Based on [GitHub2Forgejo](https://github.com/RGBCube/GitHub2Forgejo)
551+
Nushell script, also under GPL 3.0 license.
552+
+ [Forgejo](https://forgejo.org/) is a self-hosted lightweight software forge,
553+
which started as a “soft” fork of Gitea (itself a fork of Gogs),
554+
and was first mentioned in passing in [Git Rev News Edition #103](https://git.github.io/rev_news/2023/09/30/edition-103/).
555+
+ [git-revise](https://git-revise.readthedocs.io/) is a Git subcommand, and Python library
556+
for efficiently updating, splitting, and rearranging commits.
557+
Under MIT License.<br>
558+
The [Introducing git-revise](https://mystor.github.io/git-revise.html)
559+
blog post was mentioned in [Git Rev News Edition #54](https://git.github.io/rev_news/2019/08/21/edition-54/).
560+
+ [git-tools](https://github.com/cfe84/git-tools) is a set of additional Git commands
561+
to help you make crazy stuff in a very unsafe way.
562+
Includes `git backup`, `git move-branch`, `git reparent` (similar to `git rebase --onto`),
563+
`git split`, `git bookmark`, `git newbranch`, and `git get`.
564+
Written in Go, under GPL 2.0 license.
565+
+ [git-fetch-file](https://github.com/andrewmcwattersandco/git-fetch-file) is a utility
566+
for importing specific files from other Git repositories into your own project
567+
while keeping a manifest (`.git-remote-files`) that remembers where they came from
568+
and what commit they belong to.
569+
Written in Python, under GPL 2.0 license.
570+
+ [git-word-blame](https://framagit.org/mdamien/git-word-blame)
571+
is a tool that shows word-by-word authors of a file, creating TSV and HTML files.
572+
Written in Python, under GPL 3.0 license.
573+
The README includes links to a few alternative tools in "See also" section.
574+
+ [gguser](https://github.com/withshubh/gguser) is a CLI tool
575+
to easily switch between different Git user profiles.
576+
It simplifies managing multiple GitHub or GitLab accounts
577+
by allowing users to switch between profiles effortlessly.
578+
Written in JavaScript for Node.js (npm), under Apache 2.0 License.
579+
+ [GitLabForm](https://gitlabform.github.io/gitlabform/) is a specialized configuration-as-code tool
580+
for GitLab's application settings, groups, projects, and more,
581+
using hierarchical configuration written in YAML.
582+
Written in Python, under MIT license.<br>
583+
See [GitlabForm for Gitlab repository automation](https://www.mikestreety.co.uk/blog/gitlabform-for-gitlab-repository-automation/)
584+
blog post by Mike Street on his blog.
585+
+ [gmap](https://github.com/seeyebe/gmap) is a fast command-line tool
586+
(with terminal interface) to explore Git activity - heatmaps, churn, authorship, and more.
587+
It helps you understand your Git repository at a glance - not just what changed,
588+
but when, how much, and by whom.
589+
Written in Rust, under MIT license.
590+
+ [Ayllu](https://ayllu-forge.org/) is a code forge optimized for single instance deployments.
591+
It is still a work in progress. Written in Rust, under AGPL license.
592+
345593

346594
## Releases
347595

0 commit comments

Comments
 (0)