graphite-cli
Graphite's CLI makes creating and submitting stacked changes easy. (by withgraphite)
ghstack
Submit stacked diffs to GitHub on the command line (by ezyang)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
graphite-cli | ghstack | |
---|---|---|
8 | 7 | |
217 | 554 | |
- | - | |
7.2 | 8.5 | |
10 months ago | 13 days ago | |
TypeScript | Python | |
GNU Affero General Public License v3.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
graphite-cli
Posts with mentions or reviews of graphite-cli.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-17.
- Graphite CLI development is no more open source
-
Stacked changes: how FB and Google engineers stay unblocked and ship faster
This is exactly the problem that graphite-cli solves (https://github.com/screenplaydev/graphite-cli)
It keeps track of branchs and their parents by storing a tiny bit of metadata in the native git refs. It uses that information to perform recursive rebases: https://github.com/screenplaydev/graphite-cli/blob/main/src/...
It ends up working seamlessly - you just modify some branch, and then run `gt stack fix` to recursively rebase everything. (and then `gt stack submit` to sync everything to github :)
docs here: https://docs.graphite.dev/guides/graphite-cli
-
How to use native git as a key-value store
You can read Graphite's full implementation of metadata handing here.
-
Show HN: Stacked diffs / interdependent changes (on GitHub)
We (Screenplay, https://screenplay.dev) built an internal tool (Graphite) to enable stacked diffs on GitHub for an individual (i.e. you can adopt it without your team also having to adopt it). It's inspired by some of the internal tooling we had at bigger companies. Specifically, the tool has two parts:
* The CLI - https://github.com/screenplaydev/graphite-cli: Allows you to create diffs, restack them, submit them to GitHub, etc. It runs locally and stores all the metadata in your .git folder.
ghstack
Posts with mentions or reviews of ghstack.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-09-30.
- Reorient GitHub Pull Requests Around Changesets
-
Why SQLite Does Not Use Git
It seems like this is an idea that is really sticky.
[0] https://github.com/ezyang/ghstack
-
How much refactoring is too much for one PR?
And there are various tools to help make this workflow easier to manage. Graphite and ghstack, to name just two examples.
- Ghstack: Auto-Update Interdependent PRs
- Ghstack: Submit stacked diffs to GitHub on the command line
-
Stacked changes: how FB and Google engineers stay unblocked and ship faster
How is this different from ghstack? https://github.com/ezyang/ghstack (which is what Edward Yang for PyTorch developers to mimic the stacked workflow, although it works with other repos).
-
A Better Model for Stacked (GitHub) Pull Requests
While working on PyTorch, I also wrote an equivalent tool (funnily named nearly the same thing) for doing stack diffs (https://github.com/ezyang/ghstack/), which most of our team uses for more complicated PRs. The UX for working on commits is a bit different than this tool though; instead of pushing branches individually, you just run "ghstack" on a stack of commits and it will create a PR per commit in the chain (amending each commit so that its commit message records what PR it corresponds to). To update the PRs, just amend or interactive rebase the original commits. Personally, I find this a lot easier to handle than finagling tons of branches.
What are some alternatives?
When comparing graphite-cli and ghstack you can also consider the following projects:
git-stack - Stacked branch management for Git
git-stack - Stacked branch management for Git
git-branchless - High-velocity, monorepo-scale workflow for Git
fossil-mirror - A test of the ability of the Fossil DVCS to mirror to GitHub