https://linen.dev logo
Join Slack
Powered by
# cli-beta
  • j

    Jacob Gold

    02/15/2024, 12:11 AM
    1.2.3 pushed to beta:
    Copy code
    - Fixed an issue where `gt submit` would fail in repositories using `git-lfs`.
    🎉 3
  • a

    Atlas Wegman

    02/16/2024, 8:02 PM
    Can I run
    gt absorb
    on an already commited stack? For example, I have a large branch where I renamed an API across 100 files. I'd like this to be at the bottom (near the trunk) but it's in the middle.
    j
    j
    • 3
    • 2
  • s

    Slackbot

    02/27/2024, 6:21 PM
    This message was deleted.
    ❤️ 2
    b
    j
    • 3
    • 2
  • s

    Slackbot

    03/06/2024, 4:20 PM
    This message was deleted.
    j
    m
    • 3
    • 5
  • s

    Slackbot

    03/08/2024, 7:43 PM
    This message was deleted.
    b
    j
    • 3
    • 6
  • j

    Jacob Gold

    03/26/2024, 12:49 AM
    Big CLI release! Included are major changes to the inner workings of
    gt sync
    and
    gt get
    (and to a lesser extent,
    gt submit
    ) to better support collaborative flows. We expect to iterate on this for a bit in the beta group – we currently have the new versions of those commands gated behind a feature flag that checks for CLI v1.3.1, and may bump that value if we decide its not yet ready for general release (in which case you would bump your beta CLI in order to keep testing). 1.3.1 • Updated
    gt submit
    to match the new behavior of
    gt sync
    and
    gt get
    . •
    gt submit
    now skips branches with no commits between head and base and their descendants, instead of failing outright (GitHub does not allow PRs with no commits). •
    gt submit
    now prompts to restack if the
    --restack
    flag is not passed and it would fail without restacking. • Fixed a bug where
    gt submit
    would restack in certain cases when the
    --restack
    flag was not passed. • Fixed a bug where
    gt submit
    was not prompting to choose between pasting template/commit messages and editing them. • Fixed a bug where legacy scoped submit commands were not enforcing that branches be restacked before submitting. • Deleting branches in
    gt sync
    ,
    gt get
    ,
    gt submit
    , or with
    gt delete
    now prints the SHA the branch was at before deletion like Git, as there is no reflog for deleted branches. • Added better error messaging for the new version of
    gt sync
    when unauthed. • Fixed a bug where commands that open a URL would fail if
    xdg-open
    was not installed, instead of printing the URL to the terminal. • Fixed a bug where
    gt get
    would not set up the remote-tracking branch properly. • Fixed a bug in the new version of
    gt get
    and
    gt sync
    where branches would not get newly associated with PRs. • Fixed a typo in
    gt absorb
    . 1.3.0 • This version of the Graphite CLI includes a significant update to
    gt sync
    and
    gt get
    that will be rolled out over the coming weeks via a server-side feature flag. • The primary goal of these changes is to improve the experience of syncing remote changes to your local branches, ensuring that flows like collaborating on a stack or applying suggested edits to a PR are seamless and reliable. • Notably,
    gt sync
    now syncs all branches, where previously it just synced trunk. This brings it closer to the behavior of
    gt get
    . • Conversely,
    gt get
    with no argument passed is essentially "`gt sync` for the currently checked out stack." • The full behavior is: a. Update the trunk branch to match remote b. Clean up branches associated with merged or closed PRs c. Sync any remote changes to local branches d. Restack branches as needed • If you'd like to be included in the initial rollout of these changes, please let us know in the #C0604H4AM97 channel on our Community Slack. Since we are using a server-side feature flag, updating to 1.3.0 alone will not enable the new behavior. (NB: see above for details, but currently flagged to roll out to all installations at 1.3.1 or higher) • The changes are largely based on your feedback, and we're excited to see how they improve your experience with Graphite. THANK YOU! •
    gt create
    now applies the branch prefix to branch names passed in directly (e.g.
    gt create branch-name
    with a prefix of
    prefix/
    will yield a branch called
    prefix/branch-name
    ). This behavior can be disabled in
    gt config
    . If the branch name already begins with the prefix, it will not be added again. • Graphite now sets the environment variable
    GT
    to
    1
    , which can be checked by subprocesses like an editor or Git hook to determine if they are being run from Graphite. • Fixed a bug where
    gt absorb
    would fail if the git config to detect copies in diffs was enabled. • Fixed a bug where
    gt split --by-hunk
    would leave the user in a detached state if interrupted. • If no changes are staged in a step of
    gt split --by-hunk
    , it will now prompt to stage changes again instead of exiting with an error. • Slightly updated help text and error messages for
    gt fold
    .
    🚀 4
    🙌🏻 1
    🙌 4
    🦜 4
    🎉 5
    ultra fast parrot 4
    gopher party 5
  • j

    Jacob Gold

    03/26/2024, 5:57 PM
    If you're seeing any hangs on
    gt submit
    in 1.3.1, this should help: 1.3.2 • Fixed a bug where
    gt submit
    would hang in certain cases.
    ✅ 1
  • j

    Jacob Gold

    04/12/2024, 4:48 PM
    1.3.3 is now in beta. • Fixed an issue where
    gt submit
    could fail in certain cases due to the format of a Git remote URL. • Fixed an issue where the wrong branch name was referenced by `gt move`'s prompt. • Fixed an issue where
    gt absorb
    could fail in certain environments. • Fixed an issue where
    gt log short
    could incorrectly show a branch as "updated remotely" when it was not. • Added interactivity to
    gt feedback
    .
  • v

    Vampire

    04/19/2024, 9:41 PM
    Copy code
    $ gt --version
    1.3.2
    $ gt sync
    🌲 Pulling master from remote...
    UNCAUGHT EXCEPTION: fetch failed
    UNCAUGHT EXCEPTION: TypeError: fetch failed
        at Object.fetch (node:internal/deps/undici/undici:11457:11)
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Object.request (C:\Users\bkautler\AppData\Roaming\npm\node_modules\@withgraphite\graphite-cli\graphite.js:3:1303363)
        at async i (C:\Users\bkautler\AppData\Roaming\npm\node_modules\@withgraphite\graphite-cli\graphite.js:3:1302781)
        at async a (C:\Users\bkautler\AppData\Roaming\npm\node_modules\@withgraphite\graphite-cli\graphite.js:3:1131032)
    😿
    d
    • 2
    • 8
  • j

    Jacob Gold

    04/22/2024, 8:51 PM
    Hey, wanted to provide a quick update here on the `sync`/`get`/`submit` update, for those of you following — we have disabled the feature flag on versions up to 1.3.3. due to a few edge cases where the new behavior causes issues. It will be re-enabled for version 1.3.4, which should hit beta soon. Thanks for helping us test!
  • j

    Jacob Gold

    04/29/2024, 9:53 PM
    1.3.4 is now in beta. The updated versions of `sync`/`get`/`submit` are re-enabled if you are on this version or higher. • Fixed multiple issues with the new versions of
    gt get
    ,
    gt sync
    , and
    gt submit
    . The new versions will be rolled back out with this release. • Fixed an issue where
    post-checkout
    hooks were swallowed, resulting in issues when interactive scripts are used. • Fixed some typos in command output. •
    gt demo
    now skips all Git hooks (with an implicit global
    --no-verify
    ). •
    gt sync
    no longer prints out
    Restacking branches
    if there are no branches to restack. • Added details about troubleshooting to
    gt --help
    .
    graphite fractal 3
  • b

    Brendan Ngo

    05/22/2024, 9:21 PM
    1.3.5 is now in beta. This has a handful of bug fixes, mostly related to the newest collaboration changes. • Updated
    gt modify
    to leave descendants in an unrestacked state when there are conflicts. • Updated
    gt split
    behavior to skip git hooks. • Fixed bug where local version was being overwritten by remote even when user selected
    no
    from prompt. • Fixed bug where remote rebase-only changes were not reconciled during
    gt sync
    . • Fixed bug where staged changes were incorrectly detected as unstaged. • Fixed bug where files changed in parent directories were not detected. • Fixed bug where children of split branches were not being tracked. • Fixed bug where pre-push hooks were not being run from the repo root. • Removed references to deprecated command names.
    graphite fractal 3
    j
    n
    • 3
    • 2
  • j

    Jeremías Díaz

    05/23/2024, 3:31 PM
    Question: do I need to uninstall the regular CLI to use the beta?
    d
    • 2
    • 4
  • b

    Brendan Ngo

    05/29/2024, 9:50 PM
    1.3.6 is now in beta • Updated
    gt feedback
    to not require to be run in a repo • Fixed bug where a command could trigger thousands of parallel git commands at once causing spawn issues • Fixed bug where
    gt get
    would try to checkout a branch that was just deleted
    🔥 1
  • b

    Brendan Ngo

    06/06/2024, 9:16 PM
    1.3.7 is now in beta! • Updated
    gt modify
    to print out conflicts when it cannot restack cleanly • Added better error handling in
    gt sync/get
    for server-side errors • Fixed more cases of the bug where local version was being overwritten by remote even when user selected
    no
    from prompt. • Fixed bug where remote tracking errors would cause commands to fail completely • Fixed bug where staged changes were incorrectly detected because of a stale index cache
    ❤️ 2
  • b

    Brendan Ngo

    06/13/2024, 4:02 PM
    1.3.8 is now in beta! • Updated
    gt absorb
    to print the number of hunks that were not absorbed • Updated
    gt log
    to not show
    updated remotely
    since it does not respect the new sync changes • Fixed bug where
    gt sync
    would always ask to reconcile when there were local changes
    ❤️ 1
  • b

    Brendan Ngo

    06/18/2024, 6:00 PM
    1.3.9 is now in beta! • Updated
    gt demo
    to initialize Graphite automatically if the current repo has not yet been initialized
  • b

    Brendan Ngo

    06/28/2024, 8:47 PM
    1.3.10 is now in beta! • Updated
    gt squash
    to no-op when there are no commits to squash or only a single commit • Updated all prompt suggestions to support fuzzy searching branches
  • b

    Brendan Ngo

    07/10/2024, 9:10 PM
    🪵 1.4.1 multitrunk is now in beta! This minor version upgrade (1.4.0+) introduces support for working on multiple trunks simultaneously without having to re-initialize! This is now available for public beta all you need to do is be using the most recent beta cli version (instructions to set up beta cli here). 🪵 You can now configure multiple trunks in
    gt config
    >
    Repository-level settings
    >
    Trunk branches
    >
    Add additional trunk branch
    . After configuring additional trunks, you can now pass in
    --all
    to commands like
    log
    ,
    checkout
    ,
    move
    , and
    sync
    to see and perform actions across all your trunks. By default, we only show and sync branches for the trunk you’re currently based on. Everything else should work normally and single trunk workflows should have no affect. NOTE: docs and guides are not up-to-date with these changes and will be updated once we move to stable
    1.4.0 2024-07-03
    • Major changes to the internal gt data model to support having multiple trunks at once • Added new
    gt config
    repository options to: ◦ Add an additional trunk ◦ Remove additional trunks ◦ Configure a local trunk to open all PRs against a different target trunk, supporting workflows where users work locally off a descendant of their remote trunk • Updated
    gt trunk
    to print out the current trunk name instead of checkout the trunk • Added a
    --all
    option to
    gt trunk
    to print out all the configured trunks • Added a
    --all
    option to
    gt log
    to show all branches across all configured trunks • Added a
    --all
    option to
    gt checkout
    to show all branches across all configured trunks in the interactive selector • Added a
    --all
    option to
    gt move
    to show all branches across all configured trunks in the interactive selector • Added a
    --all
    option to
    gt sync
    to pull all configured trunks and sync all branches across all these trunks. By default only syncs the current trunk branches. • Added a
    --target-trunk
    option to
    gt submit
    to define what trunk to open PRs against on remote. • Updated
    gt sync
    and
    gt submit
    to handle cases where a merged PR’s merge commit is not actually included in the up-to-date trunk • Updated
    gt init
    to reset gt back to single trunk, warning the user if they have multiple trunks currently configured • Fixed a bug during command initialization that caused the CLI to hang infinitely
    1.4.1 2024-07-10
    • Added a
    --trunk/-t
    to
    gt checkout
    to switch to the current trunk • Fixed bug where
    gt sync
    would try to update a trunk you don’t have configured • Fixed bug in
    gt demo
    that incorrectly created a “-p” directory to run the demo in • Updated
    gt init --reset
    to also reset PR metadata • Reduced the maximum number of parallel git calls in order to reduce spawn errors
    🪵 3
    🔥 4
  • b

    Brendan Ngo

    08/01/2024, 10:21 PM
    1.4.2 is now in beta! We’ve been focusing a lot on polish based on y’alls feedback and hope to continue pushing on this in the next few weeks! • Added support for
    --verbose/-v
    in
    gt create
    and
    gt modify
    to include the diff in the commit message template • Added a
    --add
    flag to
    gt trunk
    to configure an additional trunk branch • Updated list of unmerged conflict files to print paths relative to the current working directory • Updated
    gt create
    to suppress the detached HEAD message on every create • Update pre-push hook error messages to include more details • Updated
    gt demo
    to work in repos the user cannot submit to yet • Fixed a bug where the branch name date prefix was incorrect in
    gt config
    • Fixed a bug where
    gt submit
    would not fetch the branch before submitting to determine if it needs submitting • Fixed a bug where
    gt continue
    would swallow the post-rewrite git hook output • Fixed a bug where
    gt track
    would incorrectly tell you to track the branch • Fixed a bug where the
    --force
    flag was not respected in
    gt submit
    when the remote was updated • Fixed a bug in the interactive selector with
    --all
    where trunks could not be correctly selected
    🔥 3
  • z

    Ziyao Wei

    08/14/2024, 3:48 PM
    1.4.3 is now in beta! • Added a
    --stack
    flag to
    gt checkout
    to only show current stack • Fixed a bug where
    gt log
    and
    gt checkout
    don’t work on untracked branches • Fixed a bug where unsetting a trunk would not fully unset it • Fixed a bug where
    gt
    throws a cannot read undefined error while reading ‘validationResult’ • Fixed a bug where
    gt track
    might get into an infinite loop while recovering diverged branches • Improved merge conflict status to handle unstaged changes during rebasing • Updated instructions for committing untracked files to be more clear • Updated networking error diagnostics • Updated
    gt pr
    ,
    gt docs
    , and
    gt dash
    to print out the URL being opened
    graphite fractal 1
  • b

    Brendan Ngo

    09/03/2024, 2:53 PM
    1.4.4 is now in beta! • Added new
    gt unlink
    command to unlink a branch from the currently associated PR • Added better support for re-using branch names • Added support for passing a branch name to
    gt info
    • Added installation information to CLI releases • Fixed a bug where rebases would not handle commits without a parent commit (e.g. original or orphaned commits) • Fixed a bug where rebases with merge commits would cause conflicts with already merged commits • Fixed a bug where request error logs could cause circular structure errors • Updated
    gt rename
    to use the correct name when asking for a rename confirmation • Updated
    gt create --insert
    to leave descendants in an un-restacked state when there are conflicts • Updated
    gt delete
    to also prune branches • Updated pre-push git hooks to better handle running in repo root
    graphite fractal 1
  • b

    Brendan Ngo

    09/17/2024, 8:04 PM
    1.4.5 is now in beta! Performance improvements, better worktree support and misc bug fixes • Added support for working with and updating branches checked out across worktrees • Added support for working with branches automatically rebased by graphite • Fixed a bug where adding an undefined trunk would corrupt cli metadata • Fixed a bug where
    gt sync --all
    would only clean up branches on the current trunk • Improved
    gt submit
    performance by skipping unnecessary fetches • Improved performance of deleting branches by only deleting required metadata • Updated
    gt checkout
    to work while on a detached head • Updated
    gt submit
    to submit branches that have never been submitted with Graphite • Updated
    gt sync
    to better handle cases where the branch was updated outside of Graphite • Updated
    gt init --trunk
    to warn against setting a trunk that does not exist locally • Updated
    gt sync
    and
    gt get
    to work on untracked branches
    graphite fractal 1
  • b

    Brendan Ngo

    09/27/2024, 3:30 PM
    1.4.6 is now in beta! • Fixed a bug where
    gt sync
    would not update trunk if there were no previously submitted branches • Updated
    gt submit --branch
    to work while checked out untracked branches • Updated support for git pre-push hooks on Windows machines
  • b

    Brendan Ngo

    10/31/2024, 8:09 PM
    1.4.7 (skipped beta) • Fixed a bug in
    gt demo
    that would corrupt the repo’s name and owner • Updated sending non-info cli output to stderr instead of sending everything to stdout 1.4.8 is now in beta! • Added additional debugging information for pr info updates
  • b

    Brendan Ngo

    12/10/2024, 8:46 PM
    1.4.11 (skipped beta) • Internal improvements to config files • Add linux arm64 build to releases
  • b

    Brendan Ngo

    12/10/2024, 8:49 PM
    1.5.0 introducing
    gt abort
    and
    gt undo
    , now in beta!
    • Introduced
    gt abort
    , which aborts the current rebase operation and restores the repository state to before the original command that introduced the conflict • Introduced
    gt undo
    , which undoes the most recent Graphite mutation, restoring the repository to its state before the mutation was applied. • Fixed a bug where submitting a moved branch could temporarily result in incorrect diffs on remote • Updated
    gt create
    to prompt for a branch name for empty branches if one was not provided
  • d

    David Bradford

    01/02/2025, 10:07 PM
    1.5.2 is now in beta • Cleanup
    graphite-base
    branches if a submit fails to push to remote • Fixed a bug where
    graphite-base
    branches were incorrectly introduced in trailing trunk multi-trunk configurations • Fixed a bug where
    gt submit
    could lead to incorrect diffs upstack if submit was not run on the full stack • Fixed a bug where
    gt rename
    did not use configured branch prefixes • Fixed a bug where
    gt
    commands could fail with
    EAGAIN
    errors • Fixed a bug where
    gt delete
    could fail when run on untracked branches
    v
    • 2
    • 4
  • d

    David Bradford

    03/21/2025, 9:12 PM
    1.6.0 is now in beta • Added support for multiple
    -m
    flags in
    gt create
    ,
    gt modify
    , and
    gt squash
    . • Provided additional context when commands fail due to Graphite maintenance and incidents. • Use commit message for branch name if there are no staged changes. • Updated output colors to avoid difficult to read output. • Fixed a bug where
    gt feedback
    could fail due to large log files. • Fixed a bug where the remote repository could be marked as ''. • Fixed a bug where a large number of commits can cause "Invalid string length" exceptions. • Fixed a bug where whitespace in the repository path is not handled correctly when worktrees are used. • Dropped official support for Node 18 in anticipation of its end-of-life date on 2024-04-30 (note: this is only a minor version bump because we don't expect any breaking changes). • Removed
    gt interactive
    graphite fractal 2
  • j

    Jacob Gold

    03/26/2025, 3:46 PM
    1.6.1 is now in beta • Fixed a bug where in certain cases, trunk commits could be included in a tracked branch, resulting in many Graphite operations hanging or failing. • Fixed a bug where certain cases of syncing a branch submitted outside of Graphite would crash the CLI. • Added better protections against running too many
    git
    subprocesses.