Skip to content

Ability to take the ref updates (--update-refs) into account during interactive rebase #3815

@bgolinvaux

Description

@bgolinvaux

Description

Hello,

It have set my git editor to code with:

[core]
    editor = code --wait

When I execute

git rebase -i --update-refs master

Code directly displays the GitLens interactive rebase editor:

Image

However, nothing indicates that I used --update-refs and that there were some refs along the way, as mentioned in the git-generated text file:

Image

Furthermore, it seems there is a bug in there : I was tinkering with the interactive UI, in this scenario with a ref update in the middle, and tried to set all commits to squash (wondering if it would delete the ref -- that's really more of a Git question rather than a GitLens one)

At some point, the commit line right after the ref update got visually duplicated (the whole line, including the dropdown), with one of these two seemingly unwilling to be edited (the combo box was "frozen"). Furthermore, keyboard navigation stopped working. There could be something that made Code behave in a strange way : perhaps Gitlens is simply not prepared to process a line that is neither a proper entry, nor a comment line?

This is not really a huge issue, but maybe you would want to have a line inserted between the interactive rebase "picker" lines that say "ref XXXXX will be set to commit 1234abcd", and perhaps prevent squashing commits that straddle a ref update ?

Thanks for reading!

GitLens Version

16.0.4

VS Code Version

Version: 1.95.3 (user setup)
Commit: f1a4fb101478ce6ec82fe9627c43efbf9e98c813
Date: 2024-11-13T14:50:04.152Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.22631

Git Version

git version 2.47.1 (WSL2)

Logs, Screenshots, Screen Captures, etc

Image

Image

Metadata

Metadata

Assignees

Labels

area-rebase-editorIssues or features related to the Interactive Rebase Editorneeds-verificationRequest for verificationpending-releaseResolved but not yet released to the stable edition

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions