git-bug
Git
git-bug | Git | |
---|---|---|
57 | 287 | |
8,013 | 50,207 | |
- | 1.9% | |
6.5 | 10.0 | |
19 days ago | 6 days ago | |
Go | C | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
git-bug
-
Radicle: Peer-to-Peer Collaboration with Git
Unfortunately github appears to be actively breaking the ability to use git-bug on large repositories (like nixpkgs):
https://github.com/MichaelMure/git-bug/issues/749#issuecomme...
-
Nintendo emulator 'Suyu' removed from Gitlab following DMCA request
True but getting less true by the day:
https://github.com/MichaelMure/git-bug
https://www.fossil-scm.org/home/doc/trunk/www/index.wiki
- CRDTs Turned Inside Out
-
Sourcehut and Codeberg are both currently experiencing a DDoS attack
Only not having access to https://todo.sr.ht made me to recognize fully, that I don’t have any access to it. https://github.com/MichaelMure/git-bug suddenly looks much more interesting.
-
Gothub: Alternative front-end for GitHub written with Go
Neither do the issues support. But there is git-bug [0].
[0]: https://github.com/MichaelMure/git-bug
-
git-appraise – Distributed Code Review for Git
As a sort of spiritual successor to git-appraise, I've been working on git-bug[1] which support issues and will at some point support kanban and code review. There is a few notables improvements:
- CRDT-like reusable data structure [2][3] for true p2p workflow and easily create new entities (code review ...)
- bidirectional bridges to github, gitlab ... to ease the transition or just use git-bug as a complement of those platform
- CLI, terminal UI and web UI, for different taste and integrate into your tooling/workflow
[1]: https://github.com/MichaelMure/git-bug
[2]: https://github.com/MichaelMure/git-bug/blob/master/doc/model...
[3]: https://github.com/MichaelMure/git-bug/blob/master/entity/da...
-
Show HN: Gitopia: Decentralized GitHub Alternative for Open Source Collaboration
> but that is for the development of the platform and network of Gitopia. For the end user the workflows remain almost the same for collaboration.
I have to disagree here. Accidental complexity in a system can have severe downstream impacts on end users, whether that be in the form of poor performance, unreliability, or just slow update cycles. It's not something you can paper over and completely hide from the user.
> Along with this the blockchain layer layer offers immutable, transparent and tamper proof versioning of code
Tamper-proof can be accomplished natively by signing [0]. receive.denyNonFastForwards and receive.denyDeletes[1] can be used to make a git repository immutable. Git commits are also already content-addressable. And transparency is achieved by just having the repo available for people to clone.
> along with the collaboration meta and augments the current collaboration flow
Could this augmentation not be accomplished by storing the collaboration information in the repo under a set of special-purpose branches? Like git-bug[2] or git-issue[3]? Coupled with GPG signatures and you've got your immutability, too!
> Along with this it enables us to provide a novel means to incentivize open-source contributions along with fostering a more decentralized approach for governance (even for projects), every token holder could have a say in the decision making, reducing the risk of undue influence by a single party, hence eliminating centralized control.
This one I'll grant you, but it's by far the least compelling aspect of the project to me. I don't think we're going to solve the centralization of GitHub by centralizing on a new plutocracy, I'd much rather see efforts towards full decentralization. There's nothing inherent to Git that requires that we all use the same set of servers.
[0] https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work
[1] https://git-scm.com/book/en/v2/Customizing-Git-Git-Configura...
[2] https://github.com/MichaelMure/git-bug
[3] https://github.com/dspinellis/git-issue
-
So, I went down the rabbit hole of buying GitHub Stars, so you won't have to
Regarding the issues, there are some projects like git-bug https://github.com/MichaelMure/git-bug trying to embed these sorts of meta-work into git.
-
Let's Make Sure Github Doesn't Become the only Option
Probably git-bug is closer to what Fossil does: It uses Git as a storage engine, and can coexist with your code in the same physical repository, but the issues don't actually show up as source files. Instead, each issue is a special branch (buried in refs so it won't clutter up git branch) that has zero common ancestry with anything else. So in theory you can poke at it with Git, but really, the Git under the hood is mostly an implementation detail, and as long as you interact with those files through the tool, it guarantees you won't have merge conflicts.
-
Clocks and Causality – Ordering Events in Distributed Systems
You might be interested by git-bug and https://github.com/MichaelMure/git-bug/blob/master/doc/model..., which seems to be exactly what you describe. (Disclaimer: author).
Git
- Git tracks itself. See it's first commit of itself
-
Resistance against London tube map commit history (a.k.a. git merge hell) (2015)
Look at any PR/patch series that got merged into the Git project. https://github.com/git/git/
Any random one. Because those that did not meet the minimum criteria for a well-crafted history would not have passed review.
- GitHub Git Mirror Down
- Four ways to solve the "Remote Origin Already Exists" error.
-
So You Think You Know Git – Git Tips and Tricks by Scott Chacon
Boy, I can't find this either (but also, the kernel mailing list is _really_ difficult to search). I really remember Linus saying something like "it's not a real SCM, but maybe someone could build one on top of it someday" or something like that, but I cannot figure out how to find that.
You _can_ see, though, that in his first README, he refers to what he's building as not a "real SCM":
https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23...
- Maintain-Git.txt
-
Git Commit Messages by Jeff King
Here is the direct link, as HN somehow removes the query string: https://github.com/git/git/commits?author=peff&since=2023-10...
- Git commit messages by Jeff King
- My favourite Git commit (2019)
-
Do we think of Git commits as diffs, snapshots, and/or histories?
I understand all that.
I'm saying, if you write a survey and one of the possible answers is "diff", but you don't clearly define what you mean by "diff", then don't be surprised if respondents use any reasonable definition that makes sense to them. Ask an ambiguous question, get a mishmash of answers.
The thing that Git uses for packfiles is called a "delta" by Git, but it's also reasonable to call it a "diff". After all, Git's delta algorithm is "greatly inspired by parts of LibXDiff from Davide Libenzi"[1]. Not LibXDelta but LibXDiff.
Yes, how Git stores blobs (using deltas) is orthogonal to how Git uses blobs. But while that orthogonality is useful for reasoning about Git, it's not wrong to think of a commit as the totality of what Git does, including that optimization. (Some people, when learning Git, stumble over the way it's described as storing full copies, think it's wasteful. For them to wrap their heads around Git, they have to understand that the optimization exists. Which makes sense because Git probably wouldn't be practical if it lacked that optimization.)
The reason I'm bringing all this up is, if you're trying to explain Git, which is what the original article is about, then it's very important to keep in mind that someone who is learning Git needs to know what you mean when you say "diff". Most people who already know Git would tend to gravitate toward the definition of "diff" that you're assuming (the thing that Git computes on the fly and never stores), but people who already know Git aren't the target audience when you're teaching Git.
---
[1] https://github.com/git/git/blob/master/diff-delta.c
What are some alternatives?
git-issue - Git-based decentralized issue management
scalar - Scalar: A set of tools and extensions for Git to allow very large monorepos to run on Git without a virtualization layer
EdenSCM - A Scalable, User-Friendly Source Control System. [Moved to: https://github.com/facebook/sapling]
PineappleCAS - A generic computer algebra system targeted for the TI-84+ CE calculators
nessie - Nessie: Transactional Catalog for Data Lakes with Git-like semantics
Subversion - Mirror of Apache Subversion
Kaiserreich-4-Bug-Reports - Issue tracker for Kaiserreich for Hearts of Iron 4
vscode-gitlens - Supercharge Git inside VS Code and unlock untapped knowledge within each repository — Visualize code authorship at a glance via Git blame annotations and CodeLens, seamlessly navigate and explore Git repositories, gain valuable insights via rich visualizations and powerful comparison commands, and so much more
dolt - Dolt – Git for Data
linux - Linux kernel source tree
gumtree - An awesome code differencing tool
chromebrew - Package manager for Chrome OS [Moved to: https://github.com/chromebrew/chromebrew]