gt repo sync
immediately after merging in a change to your remote trunk branch - this will zip through and delete your merged branches, ensuring that your local environment is up-to-date and ready for you to keep developing!Merge all (n)
lets you fire-and-forget merging your stack; when you click the button, Graphite will merge each of your PRs one-by-one, automatically:Merge
button you'll see Merge all (n)
, where "n" is the number of PRs below the current PR in the stack plus the current PR.Merge all (n)
from the furtheest-upstack PR which you'd like to merge and 2) not all PRs in the stack need to be accepted and passing checks to merge; for example, if only PRs 1, 2, and 3 in a stack of 5 have been accepted and are passing checks, you can still utilize Merge all (n)
on PR 3 to merge those into trunk.Merge all (n)
adds a comment to the affected PRs in GitHub.Merge all (n)
fails due to a rebase conflict, go to your terminal and run gt repo sync && gt stack fix && gt stack submit
(resolving any conflicts along the way and running gt continue
). Once you've done this, go back to the affected PR in Graphite (or to the same place in the stack where you initially kicked off the Merge all (n)
job), and click Merge all (n)
one more time to re-queue the PR for merging.m
merge conflicts, there will only be m
total rebases (and additional CI runs) kicked off by the merge process.Merge all (n)
will take n
minutes, but if there are merge conflicts, job time is a byproduct of the time it takes to run GitHub checks on a PR and how many PRs encounter merge conflicts.gt repo sync
will pull down the latest changes and rebase PR C for you, cutting out the problematic commmits; a subsequent re-submit will then eliminate the detected merge conflict for PR C.Merge all (n)
is designed to similarly automatically resolve this flavor of merge conflict without the need for manual intervention of monitoring. When a merge conflict is found, the merge cron performs a shallow clone of the repo, containing just the stack commits and the trunk commit and utilizes Graphite's knowledge of the stack to perform the same set of operations.Merge all (n)
will work with your team's merge process, feel free to reach out to [email protected] - we'd love to help you unlock this tool.