Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Git rebase experience #99501

Closed
firelizzard18 opened this issue Jun 6, 2020 · 5 comments
Closed

Improve Git rebase experience #99501

firelizzard18 opened this issue Jun 6, 2020 · 5 comments
Assignees
Labels
info-needed Issue requires more information from poster

Comments

@firelizzard18
Copy link

When a rebase is active, the commit action should be disabled. If I am in the middle of a rebase and I click the commit button on the source control panel or type Ctrl+Enter in the commit message box, it should not commit.

The usual scenario is:

  1. git rebase master or git rebase -i <ref>
  2. "error: Failed to merge in the changes... Resolve all conflicts manually"
  3. I resolve the conflicts via VSCode
  4. I mark conflicts resolved via VSCode
  5. I forget what I'm doing, reflexes take over, and I commit via VSCode (Ctrl+Enter in the commit message box)
  6. Lots of cursing, followed by git reset --hard <upstream branch>, and try again

When I am in the middle of a rebase and I attempt to commit, VSCode should kindly prevent me from being an idiot.

@joaomoreno
Copy link
Member

If you are in the middle of a rebase and commit with VS Code, you'll find that VS Code actually runs git rebase --continue. It won't run git commit.

What version of VS Code are you on?

@joaomoreno joaomoreno added the info-needed Issue requires more information from poster label Jun 8, 2020
@firelizzard18
Copy link
Author

VS Code version: Code 1.45.1 (5763d90, 2020-05-14T08:27:35.169Z)
OS version: Windows_NT x64 10.0.19041
Remote OS version: Linux x64 4.19.104-microsoft-standard

System Info
Item Value
CPUs Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz (12 x 3300)
GPU Status 2d_canvas: enabled
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode: unavailable_off
rasterization: enabled
skia_renderer: disabled_off_ok
video_decode: enabled
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off_ok
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 63.90GB (38.12GB free)
Process Argv --folder-uri vscode-remote://wsl%2Bubuntu2/usr/src/gitlab/gitlab-development-kit/gitlab
Screen Reader no
VM 0%
Item Value
Remote WSL: Ubuntu2
OS Linux x64 4.19.104-microsoft-standard
CPUs Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz (12 x 3299)
Memory (System) 50.14GB (34.95GB free)
VM 0%
Extensions (24)
Extension Author (truncated) Version
Bookmarks ale 11.2.0
better-toml bun 0.3.2
gitlens eam 10.2.1
EditorConfig Edi 0.15.1
vscode-go-test-adapter eth 0.1.2
gitlab-workflow fat 2.2.0
vscode-test-explorer hbe 2.19.1
Go ms- 0.14.3
vetur oct 0.24.0
vscode-graphql Pri 0.2.14
ruby reb 0.27.0
rewrap stk 1.11.1
code-spell-checker str 1.9.0
vscode-ruby win 0.27.0
vscode-proto3 zxh 0.4.2
gotemplate cas 0.4.0
vscode-firefox-debug fir 2.8.0
remote-wsl ms- 0.44.2
debugger-for-chrome msj 4.12.8
idl myt 0.3.1
material-icon-theme PKi 4.1.0
tcl sle 0.2.0
haml vay 1.0.1
vscode-ruby win 0.27.0

@firelizzard18
Copy link
Author

After entering Ctrl+Enter in the commit message box, when I go back to the command line and try git rebase --continue, Git tells me that a rebase is not in progress. I'm fairly certain I've done this at times when the rebase certainly was not done - when I reverted and reran the rebase, there were additional commits that I needed to manually merge, after the point that I had used VSCode's commit action.

Either way, unless and until VSCode has full support for rebasing (that is, I can rebase without using the terminal at all), I am uncomfortable with VSCode's commit action doing something. So maybe a configuration value, such as "disable committing during a rebase"?

@joaomoreno
Copy link
Member

I might not have been clear. What I meant was:

If you are in a middle of a rebase and you press Ctrl+Enter, VS Code will not run git commit. It will run git rebase --continue. This is effectively rebase support.

@github-actions
Copy link

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.

Happy Coding!

@github-actions github-actions bot locked and limited conversation to collaborators Aug 1, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
info-needed Issue requires more information from poster
Projects
None yet
Development

No branches or pull requests

2 participants