Dev makes a mistake and includes Copilot binary in FreeBSD repository.

Crisis at the Ports!

Well, the FreeBSD project has landed itself in quite a dilemma, hasn’t it? They put their ports repository on hold on Wednesday due to a little Git mishap. It seems a version of Copilot ended up where it wasn’t supposed to be. The 2026 Ports Repository Freeze announcement was made on July 21 and remained frozen the following day, per their mailing list. However, they were somewhat vague about the reason: “The commit in question severed our ports tree mirroring to github.com due to their filesize hard limit of 100MB, and introduced a blob of questionable licensing into the repository history.” You can view the problematic commit here.

The Git-saster Unfolds

It’s not the end of the world, really, but it’s a bit of a hassle since the Ports repository gets mirrored all over, including to a read-only GitHub mirror. GitHub isn’t too fond of files exceeding 100 MiB, you see. There’s already a FreeBSD port for Copilot, but don’t get overly excited – the terminology can be a bit confusing. The “port” is more akin to a package that allows the Linux binary to operate within FreeBSD’s Linuxulator. It’s not a native FreeBSD version of Copilot, either, and it doesn’t include the Copilot CLI binary – that’s because it has its own licensing issues. So yes, when Kyle Evans mentioned “questionable licensing,” that’s what he meant. It’s understandable to utilize every bit of assistance available to work with GitHub. Linux, FreeBSD, and especially Git – they can be quite the mind-benders.

Git: The Annoying Git

Let’s be honest, Git’s name is spot on – it’s a term for something bothersome, and it surely is. It’s the FOSS world’s preferred version control system now, like it or not. Even though I’m not a developer, I’ve battled with Git daily for ages – Docs as Code, you know – and I’ve grown quite a dislike for it. I’m not the only one; there’s an XKCD comic about it, so it’s well-known truth. (I’ve experienced that comic’s reality.) Personally, I found Git more challenging than the good old tar command.

Alternatives to Git: Got and More

A New Challenger: Game of Trees

Just before the FreeBSD developer’s blunder, a new version of a Git alternative emerged: Game of Trees version 0.127. Also referred to as Got, this Git-compatible VCS comes from the folks at the OpenBSD Project. It’s been under development since 2019, and it has a flair for self-deprecation, starting with its project description: “a version control system which prioritizes ease of use and simplicity over flexibility.” Sounds refreshing, doesn’t it?

Got vs. Git

We think it’s a cheeky reference to Git’s self-description – “designed to handle everything from small to very large projects with speed and efficiency.” The Got project doesn’t hold back either:

Does Got aim to replace Git? No. Got does not aim to replace Git. Got can be used instead of Git (for specific tasks), or alongside Git. If you’re already using Git and are satisfied with it, you don’t need Got.

What’s the purpose of this? Why not just use Git? If you’re curious about why Got even exists, you can simply disregard it.

More Contenders: Gitless and Jujutsu

Got isn’t the only one striving to make sense of Git’s jumble. Gitless is another contender, promoting itself as “a straightforward version control system built on top of Git,” trying to be easy to learn. Unfortunately, development has slowed down a bit – the last release was in the same year Got debuted. Then we have Jujutsu, or “Jj” – not to be mistaken for the martial art of Jiu Jitsu. Jujutsu is packed with documentation, but it assumes you’re familiar with VCS and Git. If you’re not, you might find Jujutsu for Everyone by Remo Senekowitsch more suited to your needs.

Summary

Git-r Done… Or Not? So, there you have it. FreeBSD’s had a bit of a Git-related mishap with Copilot, and they’re not alone in considering Git a considerable nuisance. With alternatives like Got and others, there might be hope for a simpler, less irritating future. Or perhaps we’ll all just keep fiddling around with Git and calling it progress. Cheers!