awesome-structure-editors
git-imerge
Our great sponsors
awesome-structure-editors | git-imerge | |
---|---|---|
10 | 12 | |
303 | 2,660 | |
- | - | |
4.8 | 0.0 | |
about 1 month ago | 12 months ago | |
Python | Python | |
Creative Commons Zero v1.0 Universal | GNU 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.
awesome-structure-editors
-
Ask HN: Can we do better than Git for version control?
Yes, I think that we can do better than plain text as the source of truth, and thus git would probably need to change.
There's work around a bunch of languages that are not based on text, some have their own editor or a tool to manage a canonical representation in text for you that would make them friendlier to git.
- https://github.com/yairchu/awesome-structure-editors/blob/main/README.md
- Structure Editors: A list of projectional code editor projects
-
Pijul: Version-Control Post-Git • Goto 2023
There's many more akin projects listed in https://github.com/yairchu/awesome-structure-editors/blob/ma...
I can't wait fast enough for these ideas to reshape how we deal with programs and build stuff.
-
Is Haskell gaining or losing popularity?
Haskell seems to be pretty big. For example in this list of projects it appears to be the second most popular language (after TypeScript) :)
-
Ask HN: Any IDEs or text editor plugins with AST-driven navigation?
See https://github.com/yairchu/awesome-structure-editors
-
A Block-Based Functional Programming Language
You could submit a pull request to get it added to awesome-structure-editors by /u/yairchu
-
Emacs Is Not Enough
It would be interesting to have such a general project go somewhere.
While in principle structural editing sounds like an incredible advance, there are 'good enough' advantages to plain-text tools that make it a much more practical solution. The other issue is of course integration with existing tooling, which you either skip entirely or compromise on the design.
What I feel is missing, between the description of "old, bad state of things" and "utopian vision" is a review of some of the projects that already tried to achieve this ideal state. It turns out there are a number of them, and most of them failed to achieve any traction or impact [0].
The rants are very long, so I skimmed quickly the one about git; I understand the complaints, although git is only bringing me joy and no pain --interactive rebase, absorb and a few aliases made it a breeze. But in a similar fashion there are projects trying to solve its fundamental issues, like pijul(.org); what are they missing?
[0] https://github.com/yairchu/awesome-structure-editors/blob/ma...
- Ask HN: Is Vim still worth learning?
- Structure Editors
-
Ask HN: More “experimental“ UIs for editing/writing code?
Some good ones pops up in Projectional Programming [1] once in a while. The pinned thread links to the structure-editors github list [2] too.
[1] https://www.reddit.com/r/nosyntax/
[2] https://github.com/yairchu/awesome-structure-editors
git-imerge
- Dealing with Diverged Git Branches
- Pijul: Version-Control Post-Git • Goto 2023
-
Save rebase progress and attempt to cherry-pick?
Afaik, there's currently no official way to pause/stash a rebase/merge-in-progress. (There is git-imerge which supports incremental merges/rebases (basically split a big merge into smaller ones), but I never used it and think you'll need to use it from the start of a merge/rebase.)
-
I have a feature branch that is now way behind it's remote parent. How do I make this work?
Try git imerge.
-
What is the best way to undertake a heavyweight merge (dozens of files)?
If the merge is large in the number of commits involved git imerge may be useful to you. It breaks down one big merge into many smaller merges, essentially merging one new commit from each branch, one at a time. The advantage being that you only ever need to consider the conflict between two individual commits at a time.
- Git-imerge: Incremental merge for Git
-
strategy to update 2yo feature branch off of develop
The repo for it is https://github.com/mhagger/git-imerge and the blog post / instructions is at https://wilsonmar.github.io/git-imerge/
- interactive merge in git
-
Jujutsu – A Git-compatible DVCS that is both simple and powerful
Similar ideas have been discussed before in Git, but I don't think anyone has acted on them much. Michael Haggerty's git-imerge tries to make conflicts shareable, but I think it was more of a side-effect of the original goal of optimizing rebase/merge and auto-reducing conflicts to their minimal representation. I'm very curious how conflicts are represented in Jujutsu so I can better understand this power. I'm curious about how conflicts in conflict-resolution commits are handled and other such magic.
That gist seems like a simplified version of https://github.com/mhagger/git-imerge, so check that out if you haven't. (I haven't looked at git-imerge in a long time, so I should read about it again myself.)
What are some alternatives?
lisperanto - Lisperanto is a spatial canvas for programming; Lisperanto is a spatial canvas for knowledge; Lisperanto is a spatial canvas for ideas;
jj - A Git-compatible VCS that is both simple and powerful
unit - Next Generation Visual Programming System
elasticsearch-py - Official Python client for Elasticsearch
metadesk
git-mergify-rebase - Merge git changes one commit at a time.
git-stack - Stacked branch management for Git
pg_similarity - set of functions and operators for executing similarity queries
gtoolkit - Glamorous Toolkit is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem.
gumtree - An awesome code differencing tool
git-machete - Probably the sharpest git repository organizer & rebase/merge workflow automation tool you've ever seen
mergify - Merge git changes on commit at a time.