Skip to content

Commit 2ebf79a

Browse files
committed
rn-137: Add links to news, articles, videos, sites, and tools
1 parent 294866a commit 2ebf79a

1 file changed

Lines changed: 235 additions & 4 deletions

File tree

rev_news/drafts/edition-137.md

Lines changed: 235 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,247 @@ This edition covers what happened during the months of June and July 2026.
3636
## Other News
3737

3838
__Various__
39-
39+
+ [Git Merge 2026](https://blog.gitbutler.com/git-merge-2026)
40+
will be coming to Lisbon, September 17 and 18th.
41+
Written by Scott Chacon on Butler's Log (GitButler Blog).
42+
+ [Researcher Publishes GitLab RCE PoC Letting Authenticated Users Run Commands as Git](https://thehackernews.com/2026/07/researcher-publishes-gitlab-rce-poc.html)
43+
by Swati Khandelwal on The Hacker News.
44+
+ [GitLab Vulnerabilities Allow Attackers to Execute Remote Code on Default GitLab Installations](https://cybersecuritynews.com/gitlab-vulnerabilities-enable-code-execution/)
45+
by Guru Baran on Cyber Security News.
46+
+ [Codeberg takes its side in the open-source scene's AI debate by banning vibe-coded projects](https://www.xda-developers.com/codeberg-takes-its-side-in-the-open-source-scenes-ai-debate-by-banning-vibe-coded-projects/)
47+
by Simon Batt on XDA Developers.
48+
+ One of reactions: [I Regret Migrating to Codeberg](https://xn--gckvb8fzb.com/i-regret-migrating-to-codeberg/)
49+
by マリウス (mrusme) on their blog.
50+
+ [GitHub suddenly rejected my SSH key (the fix was a .pub file?!)](https://thorsell.io/2026/07/21/github-ssh-keys.html)
51+
by Erik Thorsell on their blog.
4052

4153
__Light reading__
54+
+ [Agentic Version Control Benchmarks](https://blog.gitbutler.com/vcbench)
55+
by Scott Chacon on Butler's Log (GitButler Blog),
56+
comparing Git, Jujutsu and GitButler.
57+
+ [On Lazy Secrets Management](https://radekmie.dev/blog/on-lazy-secrets-management/)
58+
by Radosław Miernik on his @radekmie blog.
59+
Mentions [sops](https://getsops.io/) tool (SOPS: Secrets OPerationS)
60+
to keep `.env` file in repository but encrypted,
61+
[age](https://github.com/filosottile/age) secure file encryption tool and Go library,
62+
and password managers with their API.
63+
+ [`git rebase -i` is not that scary](https://cachebag.sh/journal/interactive-rebasing/)
64+
by Akrm Al-Hakimi on his blog.
65+
+ [The `git history` command deserves more attention](https://lalitm.com/post/git-history/)
66+
by Lalit Maganti on his blog.
67+
+ [`--end-of-options`](https://nesbitt.io/2026/07/21/end-of-options.html)
68+
by Andrew Nesbitt on his blog (explaining its history, and
69+
why this command line option exists).
70+
+ [How GitHub handles Git LFS](https://www.scottberrevoets.com/2026/07/01/how-github-handles-git-lfs/)
71+
by Scott Berrevoets on his blog.
72+
Mentions GitHub charging for both storage and bandwidth,
73+
the ability to skip downloading certain LFS objects to avoid bandwidth usage,
74+
and how what's in Git repository can get out of sync with what is stored in Git LFS
75+
(what happens after removing a tracked file, or after rewriting history).
76+
+ [GitOps at Scale](https://stephennimmo.com/2026/06/09/gitops-at-scale/)
77+
by Stephen Nimmo on his blog.
78+
+ GitOps evolved from DevOps, the integration and automation of software development operations.
79+
The core idea of GitOps is having a Git repository that always contains
80+
declarative descriptions of the infrastructure currently desired in the production environment
81+
and an automated process to make the production environment match the described state in the repository.
82+
+ The topic of GitOps was first mentioned in [Git Rev News Edition #42](https://git.github.io/rev_news/2018/08/22/edition-42/),
83+
and most recently in [Edition #132](https://git.github.io/rev_news/2026/02/28/edition-132/) - the latter with
84+
[Why (pure) GitOps Doesn't Work at Scale (and What to Do Instead)](https://ctrlplane.dev/blog/why-gitops-doesnt-work-at-scale).
85+
+ [OpenGitOps](https://opengitops.dev/) and [GitOps.tech](https://www.gitops.tech/)
86+
sites were first mentioned in [Git Rev News Edition #94](https://git.github.io/rev_news/2022/12/31/edition-94/).
87+
+ [Auto-Optimize Images in a Git Pre-Commit Hook (Local, No Upload)](https://dev.to/orthogonalinfo/auto-optimize-images-in-a-git-pre-commit-hook-local-no-upload-m28)
88+
by Max on DEV\.to; uses locally installed `pngquant` and `jpegoptim`, and a hook in Bash.
89+
+ [Local Git Runners Using Git Hooks](https://starbreaker.org/thaumaturgy/local-git-runners-using-git-hooks.html)
90+
by Matthew Thomas Cambion on starbreaker\.org.
91+
+ [Minimal Git CI using hooks](https://mccd.space/posts/26-06-29/simple-git-ci)
92+
by mccd.
93+
+ [How I log every Git commit to a plain text file](https://flaviocopes.com/log-git-commits-plain-text/)
94+
with a post-commit hook, by Flavio Copes on their blog.
95+
+ [A Git hook to prevent committing directly to 'main'](https://alexwlchan.net/2026/no-main-hook/)
96+
by Alex Chan on their blog.
97+
+ [A gentle introduction to Git worktrees](https://humanwhocodes.com/blog/2026/07/introduction-git-worktrees/)
98+
by Nicholas C. Zakas on Human Who Codes blog.
99+
+ [VC Shuttle: Advice-Based Git Sync for Air-Gapped Emacs](https://emacs.dyerdwelling.family/emacs/20260514140413-emacs--vc-shuttle-advice-based-git-sync-for-air-gapped-emacs/)
100+
on Emacs Dwelling.
101+
+ [How to add previous commit messages and authors to you Git commit template?](https://talfus-laddus.de/blog/git-commit-wrapper/)
102+
by Matthias Schaub (~talfus-laddus) on his blog.
103+
His solution was to change `core.editor` to custom script.
104+
+ [Field Notes: Trunk-Based Development Makes Problems Painfully Visible](https://www.v01.io/posts/2026-trunk-based-development/)
105+
by Klaus Breyer on his blog.
106+
+ Compare [Patterns for Managing Source Code Branches](https://martinfowler.com/articles/branching-patterns.html)
107+
by Martin Fowler (author of the [Refactoring: Improving the Design of Existing Code](https://martinfowler.com/books/refactoring.html) book),
108+
which also recommends trunk based development for easier Continuous Integration.
109+
It was first mentioned in [Git Rev News Edition #63](https://git.github.io/rev_news/2020/05/28/edition-63/).
110+
+ See also [Trunk Based Development](https://trunkbaseddevelopment.com/) site,
111+
first mentioned in [Git Rev News Edition #24](https://git.github.io/rev_news/2017/02/22/edition-24/).
112+
+ [Malleating Git commit signatures](https://iter.ca/post/git-malleate/)
113+
by Smitty (loops) on iter\.ca.
114+
Git hash chain malleability means that given a signed commit A,
115+
anyone can create a new signed commit A’ that is _identical_ in all respects
116+
except that it has a different (still valid) signature
117+
and therefore also a different commit hash.
118+
+ [Why don't people use git properly?](https://deadsimpletech.com/blog/why-dont-people-use-git-properly)
119+
by Iris Meredith on her deadSimpleTech blog.
120+
+ [An Elegy to Git Push](https://stackdiver.com/posts/an-elegy-to-git-push/)
121+
by Sun (chuanqisun) on Stack Diver blog,
122+
a about a 24-hour hackathon done with AI coding agents
123+
where the agent stalled at `git push`.
124+
+ [Bookmark: This was the first commit via an LLM to git](https://remysharp.com/links/2026-07-12-4e9c9652)
125+
by Remy Sharp.
126+
+ [Manage Your Claude Code Config with Dotfiles and GNU Stow](https://www.yurikoval.com/blog/manage-ai-config-with-dotfiles.html)
127+
(in a dotfiles repo), by Yuri Kovalov on their blog.
128+
+ [Caught a `.git/config` crawler](https://bruceediger.com/posts/git-config-spider/)
129+
by Bruce Ediger on his Information Camouflage blog.
130+
+ [Securing our GitHub Actions workflows with zizmor](https://blog.packagist.com/securing-our-github-actions-workflows-with-zizmor/)
131+
by Steven Rombauts on Packagist Blog.
132+
[`zizmor`](https://docs.zizmor.sh/), a static analysis tool for GitHub Actions,
133+
was first mentioned in [Git Rev News Edition #134](https://git.github.io/rev_news/2026/04/30/edition-134/).
134+
+ [How I Found 3,800+ Leaked Secrets on GitHub Archive Using AI](https://aydinnyunus.github.io/2026/06/30/hunting-leaked-secrets-on-github-archive/)
135+
by Yunus Aydın on their blog.
136+
+ [GitHub governance reference links I share with teams](https://devopsjournal.io/blog/2026/07/13/github-governance-resource-map)
137+
by Rob Bos on DevOps Journal.
138+
+ [Make GitHub Actions Do More For You](https://mikemcquaid.com/make-github-actions-do-more-for-you/)
139+
by Mike McQuaid on his blog.
140+
+ [How to publish to PyPI using GitHub Actions securely](https://snarky.ca/how-to-publish-to-pypi-using-github-actions-securely/)
141+
by Brett Cannon on Tall, Snarky Canadian blog.
142+
+ [Using `uvx` in GitHub Actions in a cache-friendly way](https://til.simonwillison.net/github-actions/uvx-github-actions-cache)
143+
in Simon Willison's TILs (Today I've Learned).
144+
[uv](https://docs.astral.sh/uv/) is an extremely fast Python package and project manager,
145+
written in Rust; the `uvx` (`uv tool run`) is a command allows to install and run
146+
a Python tool (like e.g., `pycowsay`) in an ephemeral virtual environment.
147+
+ [Counting Builds with Git Tags](https://onyxmueller.net/2026/07/05/counting-builds-with-git-tags/)
148+
(and a GitHub action), by Onyx Mueller on his blog.
149+
+ [Dragging my feet leaving GitHub](https://site.sebasmonia.com/posts/2026-07-09-dragging-my-feet-leaving-github.html)
150+
by Sebastián on his blog.
151+
+ [GitHub under siege](https://jerodsanto.net/2026/06/github-under-siege/)
152+
by Jerod Santo on his blog.
153+
Mentions problems with GitHub’s reliability, the defections,
154+
upcoming "AI agent-native" competitors (like Origin and Entire),
155+
and proliferation of sovereignty forges.
156+
+ [I built a colleague who lives in my terminal](https://farrant.me/posts/title-tbd/)
157+
by Josh Farrant on his blog.
158+
This "colleague" is Coco: a Git repo with markdown files
159+
(including LLM or AI agent conversation journal),
160+
a few small servers, and a very long set of instructions.
161+
+ [A deep dive into my Forgejo setup](https://a.l3x.in/blog/welcome-to-my-forge/)
162+
by Alexander Fortin on their blog.
163+
[Forgejo](https://forgejo.org/) is a self-hosted lightweight software forge,
164+
written in Go; nowadays a hard fork of Gitea (which in turn was based on Gogs).
165+
+ [Migrating From Gitlab to Forgejo](https://www.bentasker.co.uk/posts/blog/software-development/migrating-from-gitlab-to-forgejo.html)
166+
by Ben Tasker on their blog.
167+
+ [How to do releases (in a git project)](https://beyermatthias.de/how-to-do-releases)
168+
by Matthias Beyer on his musicmatzes blog (2025).
169+
+ [Myth vs. Fact: why is code review so hard?](https://isaaclyman.com/blog/posts/code-review/)
170+
by Isaac Lyman on their blog.
171+
+ [Re-reviewing a PR after changes: the interdiff problem](https://pyor.review/blog/re-reviewing-pull-requests-interdiff),
172+
[How to review large pull requests without losing your mind](https://pyor.review/blog/how-to-review-large-pull-requests),
173+
[How big should a pull request be?](https://pyor.review/blog/how-big-should-a-pull-request-be),
174+
[Atomic commits make reviewable PRs](https://pyor.review/blog/atomic-commits-reviewable-prs), and
175+
[Author self-review: the cheapest code review you’re not doing](https://pyor.review/blog/author-self-review)
176+
by Othman Shareef on Pyor Blog.
177+
[Pyor.Review](https://pyor.review/) is a service to help with code review,
178+
available as downloadable Electron app, and a [GitHub App (in browser)](https://app.pyor.review/welcome).
179+
+ [The (Petty) Reason We Didn't End Up Using `jj`](https://blog.gradle.org/the-petty-reason-we-didnt-end-up-using-jj-at-gradle)
180+
by Laura Kassovic on Gradle Blog.
181+
[Jujutsu (`jj`)](https://jj-vcs.github.io/) is a Git-compatible
182+
version control system written in Rust, which was first mentioned
183+
in [Git Rev News Edition #85](https://git.github.io/rev_news/2022/03/31/edition-85/),
184+
and most recently in [Edition #136](https://git.github.io/rev_news/2026/06/30/edition-136/).
185+
+ [Plant Your Seeds in the Radicle Garden](https://radicle.dev/2026/06/02/announcing-radicle-garden),
186+
announcing [radicle.garden](https://radicle.garden/),
187+
a new service for always-on, hosted Radicle nodes.
188+
Published by yorgos on Radicle blog.
189+
[Radicle](https://radicle.xyz) is a peer-to-peer, local-first code collaboration stack
190+
built on Git, first mentioned in [Git Rev News Edition #49](https://git.github.io/rev_news/2019/03/20/edition-49/),
191+
and most recently in [Edition #135](https://git.github.io/rev_news/2026/05/31/edition-135/)
192+
+ [Too many words about DIDs](https://steveklabnik.com/writing/too-many-words-about-dids/)
193+
by Steve Klabnik on his blog.
194+
DID (“Decentralized Identity” standard) is used by ATproto,
195+
which in turn is used by [Tangled](https://tangled.org/),
196+
a decentralized code hosting and collaboration platform,
197+
first mentioned in [Git Rev News Edition #125](https://git.github.io/rev_news/2025/07/31/edition-125/),
198+
and most recently in [Edition #136](https://git.github.io/rev_news/2026/06/30/edition-136/).
199+
+ [How to self-host your own tangled git server without Bluesky](https://suranyami.com/how-to-self-host-your-own-tangled-git-server-without-bluesky) and
200+
[Pushing a repo to your own tangled git server](https://suranyami.com/pushing-a-repo-to-your-own-tangled-git-server)
201+
by Suranayami on their blog.
202+
+ [Introducing Bobbin: A diskless, API-only AppView for Tangled](https://blog.tangled.org/bobbin/)
203+
by Lewis (oyster\.cafe) on Tangled Blog.
204+
+ [grok-build-exfil-repro](https://github.com/cereblab/grok-build-exfil-repro)
205+
is a harness that shows you that xAI's Grok Build CLI uploads your entire
206+
repository — every tracked file plus full git history — to xAI's cloud,
207+
independent of what the agent reads, and that turning off "Improve the model"
208+
does not stop it.
42209

43-
<!---
44210
__Easy watching__
45-
-->
211+
+ [Git from the inside out](https://www.youtube.com/watch?v=fCtZWGhQBvo)
212+
by Mary Rose Cook is a talk that focuses on the graph structure that underpins Git
213+
and the way the properties of this graph dictate Git’s behavior.
214+
Video on YouTube (2016), 48:52 in length.<br>
215+
The essay version of this talk, also titled
216+
[Git from the inside out](https://maryrosecook.com/blog/post/git-from-the-inside-out);
217+
was mentioned in [Git Rev News Edition #2](https://git.github.io/rev_news/2015/04/05/edition-2/)
218+
and [Edition #21](https://git.github.io/rev_news/2016/11/16/edition-21/)
219+
(slightly different version).
46220

47-
__Git tools and sites__
221+
__Scientific papers__
222+
+ Solal Rapaport, Laurent Pautet, Samuel Tardieu, Stefano Zacchiroli, Théo Zimmermann:
223+
_"Mutating the "Immutable": A Large-Scale Study of Git Tag Alterations"_
224+
[arXiv:2606.31354](https://arxiv.org/abs/2606.31354) (2026).
225+
Presented at 2026 ACM Conference on Reproducibility and Replicability,
226+
July 2026, Delft, Netherlands.
227+
+ Kawsar Ahmed Bhuiyan, Mohamed Bilel Besbes, Rachna Raj, Adam Al Assil, Diego Elias Costa:
228+
_"Beyond Compliance: A Large Scale Study on the Completeness and Consistency of the GitHub SBOMs"_
229+
[arXiv:2607.04614](https://arxiv.org/abs/2607.04614) (2026).
48230

231+
__Git tools and sites__
232+
+ [Jujubi](https://juju.bi/) is to be a code forge service (with a free tier)
233+
where your repos, PRs, and review comments live on your machine,
234+
and the forge syncs quietly in the background.
235+
Jujubi aims to provide a GitHub-compatible REST API,
236+
and provide GitHub-compatible webhook events.
237+
Currently you can just join the waitlist.
238+
+ [Gitus](https://gituscodeforge.github.io/) is a self-hosted code forge
239+
that mainly supports the Git.
240+
No JavaScript - works all major browsers.
241+
No demo yet. Written in Go, under GPL-3.0 license.
242+
+ See also [One Year Of Gitus; Random Thoughts](https://sebastian.graphics/blog/one-year-of-gitus.html)
243+
by Zetian Lin (Sebastian Zack Tin Lahm-Lee).
244+
+ [GitRoot](https://gitroot.dev/) is a small yet powerfull git forge.
245+
Download one binary, launch it and you have a forge that can create git repositories,
246+
and manage who can access to what repositories. Issues, branch review, etc.,
247+
are provided with plugins. Written in Go,
248+
under EUPL 1.2, and also MIT, CC-BY-SA 4.0, CC0 1.0 licenses.
249+
+ [Thunderbird Patch Review](https://mccd.space/git/thunderbird-patch-review/file/README.html.html)
250+
is a Thunderbird Add-on to review git patches from email inside Thunderbird.
251+
The workflow is to open a patch email, press "Review", comment on hunks,
252+
send the review as a mailing-list reply, and apply the series to a local repository
253+
with `git am`. Under EUPL v. 1.2 license.
254+
+ [gap](https://github.com/cdacamar/gap) is a very simple text GUI diffing utility,
255+
with side-by-side view. Can be used as command line tool, or as difftool.
256+
Written in C++, under MIT license.
257+
+ [Scoped Commits](https://scopedcommits.com/) is a loose standard
258+
for formatting commit messages that focuses on making the commit log
259+
quickly understandable to contributors.
260+
+ Compare [Conventional Commits](https://www.conventionalcommits.org/),
261+
a specification for adding human and machine readable meaning to commit messages,
262+
first mentioned in [Git Rev News Edition #52](https://git.github.io/rev_news/2019/06/28/edition-52/).
263+
+ [OpenFeature](https://openfeature.dev/) is an open specification
264+
that provides a vendor-agnostic, community-driven API for feature flagging
265+
that works with your favorite feature flag management tool.
266+
Feature flags are a software development technique that allows teams
267+
to enable, disable or change the behavior of certain features or code paths
268+
in a product or service, without modifying the source code.
269+
+ [Evan's Jujutsu Tutorial](https://evmar.github.io/jjtut/) and
270+
[Russell’s Starter Guide to Jujutsu](https://rwblickhan.org/newsletters/russells-starter-guide-to-jujutsu/).
271+
[Jujutsu (`jj`)](https://jj-vcs.github.io/) is a Git-compatible
272+
version control system written in Rust, which was first mentioned
273+
in [Git Rev News Edition #85](https://git.github.io/rev_news/2022/03/31/edition-85/),
274+
and most recently in [Edition #136](https://git.github.io/rev_news/2026/06/30/edition-136/).
275+
276+
+ [git-llmfs](https://codeberg.org/TheMikina/git-llmfs) is a **joke** tool:
277+
a git filter that uses local LLM summaries as a compression mechanism
278+
for code files to save space in a git repository.
279+
Bash scripts and LLM prompts, under MIT license.
49280

50281
## Releases
51282

0 commit comments

Comments
 (0)