git-bug
gumtree
git-bug | gumtree | |
---|---|---|
56 | 6 | |
8,003 | 861 | |
- | 1.3% | |
6.3 | 8.2 | |
6 days ago | 9 days ago | |
Go | Java | |
GNU General Public License v3.0 only | GNU Lesser General Public License v3.0 only |
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).
gumtree
-
Pijul: Version-Control Post-Git • Goto 2023
I'm not familiar with Pijul, and haven't finished watching this presentation, but IME the problems with modern version control tools is that they still rely on comparing lines of plain text, something we've been doing for decades. Merge conflicts are an issue because our tools are agnostic about the actual content they're tracking.
Instead, the tools should be smarter and work on the level of functions, classes, packages, sentences, paragraphs, or whatever primitive makes sense for the project and file that is being changed. In the case of code bases, they need to be aware of the language and the AST of the program. For binary files, they need to be aware of the file format and its binary structure. This would allow them to show actually meaningful diffs, and minimize the chances of conflicts, and of producing a corrupt file after an automatic merge.
There has been some research in this area, and there are a few semantic diffing tools[1,2,3], but I'm not aware of this being widely used in any VCS.
Nowadays, with all the machine learning advances, the ideal VCS should also use ML to understand the change at a deeper level, and maybe even suggest improvements. If AI can write code for me, it could surely understand what I'm trying to do, and help me so that version control is entirely hands-free, instead of having to fight with it, and be constantly aware of it, as I have to do now.
I just finished watching the presentation, and Pijul seems like an iterative improvement over Git. Nothing jumped out at me like a killer feature that would make me want to give it a try. It might be because the author focuses too much on technical details, instead of taking a step back and rethinking what a modern VCS tool should look like today.
[1]: https://semanticdiff.com/
[2]: https://github.com/trailofbits/graphtage
[3]: https://github.com/GumTreeDiff/gumtree
-
We should format code on demand
There’s also gumtree: https://github.com/GumTreeDiff/gumtree/wiki/Languages
- Difftastic: Syntax-aware structured diff tool
-
A New Era for Mechanical CAD
GumTree does AST level diffing, hypothetically one could build VCS on top of that. That would work for binary files as long as they are parseable to some sort of sensible AST.
https://github.com/GumTreeDiff/gumtree
- Gumtree: A neat code differencing tool
-
What comes after Git? It's been 15 years since it was created. SVN was created 5 years before Git. CVS was 15 years before SVN
There are a few AST-based diffing programs e.g. GumTreeDiff. I haven't tried any of them though.
What are some alternatives?
git-issue - Git-based decentralized issue management
difftastic - a structural diff that understands syntax 🟥🟩
EdenSCM - A Scalable, User-Friendly Source Control System. [Moved to: https://github.com/facebook/sapling]
locust - "git diff" over abstract syntax trees
nessie - Nessie: Transactional Catalog for Data Lakes with Git-like semantics
diffr - Yet another diff highlighting tool
Kaiserreich-4-Bug-Reports - Issue tracker for Kaiserreich for Hearts of Iron 4
apheleia - 🌷 Run code formatter on buffer contents without moving point, using RCS patches and dynamic programming.
dolt - Dolt – Git for Data
git-imerge - Incremental merge for git
noms - The versioned, forkable, syncable database
mergify - Merge git changes on commit at a time.