gitkraken / vscode-gitlens

Supercharge Git inside VS Code and unlock untapped knowledge within each repository — Visualize code authorship at a glance via Git blame annotations and CodeLens, seamlessly navigate and explore Git repositories, gain valuable insights via rich visualizations and powerful comparison commands, and so much more
http://gitkraken.com/gitlens
Other
9.05k stars 1.35k forks source link

Commit Graph does not update to current branch correctly #2298

Closed tpak closed 2 years ago

tpak commented 2 years ago

Description

When opening the Commit Graph in a repo with thousands of commits (~3k commits and ~35k+ LOC), pick a branch and right click, switch to the branch. The Commit Graph UI does not indicate the change to the new branch (i.e. the checkmark stays on the old branch - see screenshots below).

If I switch away from Commit Graph and come back it will refresh and display correctly. I was able to see this by switching to a code window or to the competition (Git Graph) and coming back. This definitely seems to be a challenge on my larger repo's not my smaller repo's.

At first, I thought it was not switching branches, although it does in fact switch, it is just the Commit Graph UI that does not update until some event forces it to refresh.

GitLens Version

v13.0.3 (preview)

VS Code Version

Version: 1.72.2 Commit: d045a5eda657f4d7b676dedbfa7aab8207f8a075 Date: 2022-10-12T22:15:55.763Z (2 wks ago) Electron: 19.0.17 Chromium: 102.0.5005.167 Node.js: 16.14.2 V8: 10.2.154.15-electron.0 OS: Darwin arm64 21.6.0 Sandboxed: No

Git Version

git version 2.38.1

Logs, Screenshots, Screen Captures, etc

  1. Commit Graph view after switching branches. You can see Commit Graph on branch 'development' and VS Code on 'staging' (lower left)

    Screen Shot 2022-10-26 at 4 22 08 PM
  2. Switch to GitGraph - you can see it is correctly synced to the branch (it never exhibits any lag when switching branches)

    Screen Shot 2022-10-26 at 4 22 55 PM
  3. Now, switch back to Commit Graph, and it updates. Sometimes you can see it refresh, sometimes not.

    Screen Shot 2022-10-26 at 4 23 44 PM
tpak commented 2 years ago

I will add this here since it seems to be directly related. I just performed a merge and then "sync" to the origin repo and the Git Graph UI does not update to show that origin and local are in sync. Again, switching away and coming back forces a refresh and the UI then updates.

Screen Shot 2022-10-26 at 4 56 07 PM
eamodio commented 2 years ago

Can you please enable debug logging by running the GitLens: Enable Debug Logging command from the Command Palette (F1 or ctrl/cmd+shift+p). This will enable logging to the GitLens & GitLens (Git) channels in the Output pane.

Once enabled, please reproduce the issue, and attach the logs from the GitLens channel, and if its Git related please also attach the logs from the GitLens (Git) channel.

Thank you!

tpak commented 2 years ago

I started on branch main and switched to branch development. before doing so, I cleared the output in both channels. In the CommitGraph, main is still showing as the selected branch after switching to development. However, it is clearly on development in a console window.

GitLens:

[2022-11-03 06:09:57.299] [  2bd] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:09:57.299] [  2bd] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:10:03.914] [  2be] GraphWebview(gitlens.graph).switchTo(e={"preventDefaultContextMenuItems":true,"webviewItemGroup":"gitlens:refGroup","webviewItemGroupValue":{"type":"refGroup","refs":[{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"development","name":"development","id":"/Users/chris/source/growmotely/growmotely-backend|heads/development","remote":false,"upstream":{"name":"origin/development","missing":false}},{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"origin/development","name":"origin/development","id":"/Users/chris/source/growmotely/growmotely-backend|remotes/origin/development","remote":true,"upstream":{"name":"origin","missing":false}}]},"webviewItem":"gitlens:branch+tracking","webviewItemValue":{"type":"branch","ref":{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"development","name":"development","id":"/Users/chris/source/growmotely/growmotely-backend|heads/development","remote":false,"upstream":{"name":"origin/development","missing":false}}},"webview":"gitlens.graph"})
[2022-11-03 06:10:03.916] [  2c3] Repository(/Users/chris/source/growmotely/growmotely-backend).switch(H=development, Q={"progress":false})
[2022-11-03 06:10:03.916] [  2c4] GitProviderService.checkout(e=/Users/chris/source/growmotely/growmotely-backend, t=development, r={})
[2022-11-03 06:10:03.916] [  2c5] LocalGitProvider.checkout(e=/Users/chris/source/growmotely/growmotely-backend, t=development, r={})
[2022-11-03 06:10:03.918] [  2bf] GitCommandsCommand.execute completed
[2022-11-03 06:10:03.918] [  2be] GraphWebview(gitlens.graph).switchTo(e={"preventDefaultContextMenuItems":true,"webviewItemGroup":"gitlens:refGroup","webviewItemGroupValue":{"type":"refGroup","refs":[{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"development","name":"development","id":"/Users/chris/source/growmotely/growmotely-backend|heads/development","remote":false,"upstream":{"name":"origin/development","missing":false}},{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"origin/development","name":"origin/development","id":"/Users/chris/source/growmotely/growmotely-backend|remotes/origin/development","remote":true,"upstream":{"name":"origin","missing":false}}]},"webviewItem":"gitlens:branch+tracking","webviewItemValue":{"type":"branch","ref":{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"development","name":"development","id":"/Users/chris/source/growmotely/growmotely-backend|heads/development","remote":false,"upstream":{"name":"origin/development","missing":false}}},"webview":"gitlens.graph"}) completed • 4 ms
[2022-11-03 06:10:03.945] Warning(/opt/homebrew/bin/git -c core.quotepath=false -c color.ui=false checkout development --): Switched to branch 'development'

[2022-11-03 06:10:03.946] [GIT  ] [/Users/chris/source/growmotely/growmotely-backend] git checkout development -- • 29 ms
[2022-11-03 06:10:03.946] [  2c5] LocalGitProvider.checkout(e=/Users/chris/source/growmotely/growmotely-backend, t=development, r={}) completed • 29 ms
[2022-11-03 06:10:03.946] [  2c4] GitProviderService.checkout(e=/Users/chris/source/growmotely/growmotely-backend, t=development, r={}) completed • 29 ms
[2022-11-03 06:10:03.946] [  2c6] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(unknown)
[2022-11-03 06:10:03.946] [  2c7] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:10:03.946] [  2c7] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:10:03.946] [  2c8] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged
[2022-11-03 06:10:03.946] [  2c8] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged completed • 0 ms
[2022-11-03 06:10:03.946] [  2c6] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(unknown) completed • 0 ms
[2022-11-03 06:10:03.946] [  2c3] Repository(/Users/chris/source/growmotely/growmotely-backend).switch(H=development, Q={"progress":false}) completed • 30 ms
[2022-11-03 06:10:04.033] [  2c9] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/HEAD))
[2022-11-03 06:10:04.033] [  2ca] Repository(/Users/chris/source/growmotely/growmotely-backend).resetCaches(branches) completed • 0 ms
[2022-11-03 06:10:04.033] [  2cb] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(heads)
[2022-11-03 06:10:04.033] [  2cc] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:10:04.033] [  2cc] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:10:04.033] [  2cd] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged
[2022-11-03 06:10:04.033] [  2ce] TimelineWebviewView(gitlens.views.timeline).updateState
[2022-11-03 06:10:04.033] [  2ce] TimelineWebviewView(gitlens.views.timeline).updateState completed • 0 ms
[2022-11-03 06:10:04.033] [  2cd] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged completed • 0 ms
[2022-11-03 06:10:04.033] [  2cb] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(heads) completed • 0 ms
[2022-11-03 06:10:04.033] [  2c9] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/HEAD)) completed • 0 ms
[2022-11-03 06:10:04.033] [  2cf] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/index))
[2022-11-03 06:10:04.033] [  2d0] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(index)
[2022-11-03 06:10:04.033] [  2d1] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:10:04.033] [  2d1] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:10:04.033] [  2d2] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged
[2022-11-03 06:10:04.033] [  2d3] TimelineWebviewView(gitlens.views.timeline).updateState
[2022-11-03 06:10:04.033] [  2d3] TimelineWebviewView(gitlens.views.timeline).updateState completed • 0 ms
[2022-11-03 06:10:04.033] [  2d2] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged completed • 0 ms
[2022-11-03 06:10:04.033] [  2d0] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(index) completed • 0 ms
[2022-11-03 06:10:04.033] [  2cf] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/index)) completed • 0 ms
[2022-11-03 06:10:04.284] Repository(/Users/chris/source/growmotely/growmotely-backend) firing changes=unknown, heads, index
[2022-11-03 06:10:28.623] [  2d4] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:10:28.623] [  2d4] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:10:46.241] [  2d5] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:10:46.241] [  2d5] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms

GitLens (Git): not much here [2022-11-03 06:10:03.946] [ 29ms] [/Users/chris/source/growmotely/growmotely-backend] git checkout development --

Now, switch away from the CommitGraph Tab and come back and Gitlens channel has refreshed after 2022-11-03 06:10:46.241 but I will include it all here:


[2022-11-03 06:09:57.299] [  2bd] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:09:57.299] [  2bd] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:10:03.914] [  2be] GraphWebview(gitlens.graph).switchTo(e={"preventDefaultContextMenuItems":true,"webviewItemGroup":"gitlens:refGroup","webviewItemGroupValue":{"type":"refGroup","refs":[{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"development","name":"development","id":"/Users/chris/source/growmotely/growmotely-backend|heads/development","remote":false,"upstream":{"name":"origin/development","missing":false}},{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"origin/development","name":"origin/development","id":"/Users/chris/source/growmotely/growmotely-backend|remotes/origin/development","remote":true,"upstream":{"name":"origin","missing":false}}]},"webviewItem":"gitlens:branch+tracking","webviewItemValue":{"type":"branch","ref":{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"development","name":"development","id":"/Users/chris/source/growmotely/growmotely-backend|heads/development","remote":false,"upstream":{"name":"origin/development","missing":false}}},"webview":"gitlens.graph"})
[2022-11-03 06:10:03.916] [  2c3] Repository(/Users/chris/source/growmotely/growmotely-backend).switch(H=development, Q={"progress":false})
[2022-11-03 06:10:03.916] [  2c4] GitProviderService.checkout(e=/Users/chris/source/growmotely/growmotely-backend, t=development, r={})
[2022-11-03 06:10:03.916] [  2c5] LocalGitProvider.checkout(e=/Users/chris/source/growmotely/growmotely-backend, t=development, r={})
[2022-11-03 06:10:03.918] [  2bf] GitCommandsCommand.execute completed
[2022-11-03 06:10:03.918] [  2be] GraphWebview(gitlens.graph).switchTo(e={"preventDefaultContextMenuItems":true,"webviewItemGroup":"gitlens:refGroup","webviewItemGroupValue":{"type":"refGroup","refs":[{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"development","name":"development","id":"/Users/chris/source/growmotely/growmotely-backend|heads/development","remote":false,"upstream":{"name":"origin/development","missing":false}},{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"origin/development","name":"origin/development","id":"/Users/chris/source/growmotely/growmotely-backend|remotes/origin/development","remote":true,"upstream":{"name":"origin","missing":false}}]},"webviewItem":"gitlens:branch+tracking","webviewItemValue":{"type":"branch","ref":{"refType":"branch","repoPath":"/Users/chris/source/growmotely/growmotely-backend","ref":"development","name":"development","id":"/Users/chris/source/growmotely/growmotely-backend|heads/development","remote":false,"upstream":{"name":"origin/development","missing":false}}},"webview":"gitlens.graph"}) completed • 4 ms
[2022-11-03 06:10:03.945] Warning(/opt/homebrew/bin/git -c core.quotepath=false -c color.ui=false checkout development --): Switched to branch 'development'

[2022-11-03 06:10:03.946] [GIT  ] [/Users/chris/source/growmotely/growmotely-backend] git checkout development -- • 29 ms
[2022-11-03 06:10:03.946] [  2c5] LocalGitProvider.checkout(e=/Users/chris/source/growmotely/growmotely-backend, t=development, r={}) completed • 29 ms
[2022-11-03 06:10:03.946] [  2c4] GitProviderService.checkout(e=/Users/chris/source/growmotely/growmotely-backend, t=development, r={}) completed • 29 ms
[2022-11-03 06:10:03.946] [  2c6] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(unknown)
[2022-11-03 06:10:03.946] [  2c7] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:10:03.946] [  2c7] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:10:03.946] [  2c8] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged
[2022-11-03 06:10:03.946] [  2c8] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged completed • 0 ms
[2022-11-03 06:10:03.946] [  2c6] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(unknown) completed • 0 ms
[2022-11-03 06:10:03.946] [  2c3] Repository(/Users/chris/source/growmotely/growmotely-backend).switch(H=development, Q={"progress":false}) completed • 30 ms
[2022-11-03 06:10:04.033] [  2c9] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/HEAD))
[2022-11-03 06:10:04.033] [  2ca] Repository(/Users/chris/source/growmotely/growmotely-backend).resetCaches(branches) completed • 0 ms
[2022-11-03 06:10:04.033] [  2cb] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(heads)
[2022-11-03 06:10:04.033] [  2cc] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:10:04.033] [  2cc] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:10:04.033] [  2cd] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged
[2022-11-03 06:10:04.033] [  2ce] TimelineWebviewView(gitlens.views.timeline).updateState
[2022-11-03 06:10:04.033] [  2ce] TimelineWebviewView(gitlens.views.timeline).updateState completed • 0 ms
[2022-11-03 06:10:04.033] [  2cd] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged completed • 0 ms
[2022-11-03 06:10:04.033] [  2cb] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(heads) completed • 0 ms
[2022-11-03 06:10:04.033] [  2c9] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/HEAD)) completed • 0 ms
[2022-11-03 06:10:04.033] [  2cf] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/index))
[2022-11-03 06:10:04.033] [  2d0] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(index)
[2022-11-03 06:10:04.033] [  2d1] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:10:04.033] [  2d1] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:10:04.033] [  2d2] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged
[2022-11-03 06:10:04.033] [  2d3] TimelineWebviewView(gitlens.views.timeline).updateState
[2022-11-03 06:10:04.033] [  2d3] TimelineWebviewView(gitlens.views.timeline).updateState completed • 0 ms
[2022-11-03 06:10:04.033] [  2d2] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged completed • 0 ms
[2022-11-03 06:10:04.033] [  2d0] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(index) completed • 0 ms
[2022-11-03 06:10:04.033] [  2cf] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/index)) completed • 0 ms
[2022-11-03 06:10:04.284] Repository(/Users/chris/source/growmotely/growmotely-backend) firing changes=unknown, heads, index
[2022-11-03 06:10:28.623] [  2d4] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:10:28.623] [  2d4] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:10:46.241] [  2d5] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:10:46.241] [  2d5] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:10:59.058] [  2d6] GitProviderService.onWindowStateChanged(e=focused=false)
[2022-11-03 06:10:59.058] [  2d6] GitProviderService.onWindowStateChanged(e=focused=false) completed • 0 ms
[2022-11-03 06:12:47.448] [  2d7] GitProviderService.onWindowStateChanged(e=focused=true)
[2022-11-03 06:12:47.448] [  2d7] GitProviderService.onWindowStateChanged(e=focused=true) completed • 0 ms
[2022-11-03 06:12:47.590] [  2d8] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/FETCH_HEAD))
[2022-11-03 06:12:47.590] [  2d8] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/FETCH_HEAD)) completed • 0 ms
[2022-11-03 06:12:48.244] [  2d9] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/FETCH_HEAD))
[2022-11-03 06:12:48.244] [  2d9] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/FETCH_HEAD)) completed • 0 ms
[2022-11-03 06:12:49.550] [  2da] GitProviderService.onWindowStateChanged(e=focused=false)
[2022-11-03 06:12:49.550] [  2da] GitProviderService.onWindowStateChanged(e=focused=false) completed • 0 ms
[2022-11-03 06:13:37.866] [  2db] GitProviderService.onWindowStateChanged(e=focused=true)
[2022-11-03 06:13:37.866] [  2db] GitProviderService.onWindowStateChanged(e=focused=true) completed • 0 ms
[2022-11-03 06:13:39.786] [  2dc] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:13:39.786] [  2dc] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:13:40.867] [  2dd] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:13:40.867] [  2dd] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:13:44.810] [  2de] GitProviderService.onWindowStateChanged(e=focused=false)
[2022-11-03 06:13:44.810] [  2de] GitProviderService.onWindowStateChanged(e=focused=false) completed • 0 ms
[2022-11-03 06:13:54.688] [  2df] GitProviderService.onWindowStateChanged(e=focused=true)
[2022-11-03 06:13:54.688] [  2df] GitProviderService.onWindowStateChanged(e=focused=true) completed • 0 ms
[2022-11-03 06:14:01.195] [  2e0] GitProviderService.onWindowStateChanged(e=focused=false)
[2022-11-03 06:14:01.195] [  2e0] GitProviderService.onWindowStateChanged(e=focused=false) completed • 0 ms
[2022-11-03 06:14:57.363] [  2e1] GitProviderService.onWindowStateChanged(e=focused=true)
[2022-11-03 06:14:57.363] [  2e1] GitProviderService.onWindowStateChanged(e=focused=true) completed • 0 ms
[2022-11-03 06:15:01.780] [  2e2] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:15:01.780] [  2e2] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:15:07.712] Webview(gitlens.graph).onViewStateChanged — active=false, visible=false
[2022-11-03 06:15:08.022] [  2e3] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/index))
[2022-11-03 06:15:08.022] [  2e4] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(index)
[2022-11-03 06:15:08.022] [  2e5] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:08.022] [  2e5] GitDocumentTracker.reset(j=repository, H=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:15:08.022] [  2e6] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged
[2022-11-03 06:15:08.022] [  2e7] TimelineWebviewView(gitlens.views.timeline).updateState
[2022-11-03 06:15:08.022] [  2e7] TimelineWebviewView(gitlens.views.timeline).updateState completed • 0 ms
[2022-11-03 06:15:08.022] [  2e6] TimelineWebviewView(gitlens.views.timeline).onRepositoryChanged completed • 0 ms
[2022-11-03 06:15:08.022] [  2e4] Repository(/Users/chris/source/growmotely/growmotely-backend).fireChange(index) completed • 0 ms
[2022-11-03 06:15:08.022] [  2e3] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/index)) completed • 0 ms
[2022-11-03 06:15:08.273] Repository(/Users/chris/source/growmotely/growmotely-backend) firing changes=index
[2022-11-03 06:15:09.859] Webview(gitlens.graph).onViewStateChanged — active=true, visible=true
[2022-11-03 06:15:09.859] [  2e8] GraphWebview(gitlens.graph).updateState(true)
[2022-11-03 06:15:09.859] [  2e9] GraphWebview(gitlens.graph).notifyDidChangeState
[2022-11-03 06:15:09.859] [  2ea] GitProviderService.getCommitsForGraph(e=/Users/chris/source/growmotely/growmotely-backend, t=function () { [native code] }, r={"limit":506,"ref":"771269e78bd533faf985eaf3775b96da528544e0"})
[2022-11-03 06:15:09.859] [  2eb] LocalGitProvider.getCommitsForGraph(e=/Users/chris/source/growmotely/growmotely-backend, t=function () { [native code] }, r={"limit":506,"ref":"771269e78bd533faf985eaf3775b96da528544e0"})
[2022-11-03 06:15:09.859] [  2ec] LocalGitProvider.getStash(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:09.859] [  2ed] LocalGitProvider.getBranches(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:09.859] [  2ee] LocalGitProvider.getRemotes(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:09.860] [  2ef] LocalGitProvider.getCurrentUser(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:09.860] [  2f0] GitProviderService.getStatusForRepo(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:09.860] [  2f1] LocalGitProvider.getStatusForRepo(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:09.860] [  2e8] GraphWebview(gitlens.graph).updateState(true) completed • 1 ms
[2022-11-03 06:15:09.860] [  2f2] CommitDetailsWebviewView(gitlens.views.commitDetails).show(i={"preserveFocus":true,"preserveVisibility":false})
[2022-11-03 06:15:09.860] [  2ec] LocalGitProvider.getStash(e=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:15:09.860] [  2ef] LocalGitProvider.getCurrentUser(e=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:15:09.860] [  2f3] GitProviderService.visibilityCore(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:09.860] [  2f4] LocalGitProvider.getRemotes(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:09.866] [  2f2] CommitDetailsWebviewView(gitlens.views.commitDetails).show(i={"preserveFocus":true,"preserveVisibility":false}) completed • 6 ms
[2022-11-03 06:15:09.878] [GIT  ] [/Users/chris/source/growmotely/growmotely-backend] git remote -v • 18 ms
[2022-11-03 06:15:09.878] [  2f5] GitRemoteParser.parse completed • 0 ms
[2022-11-03 06:15:09.878] [  2ee] LocalGitProvider.getRemotes(e=/Users/chris/source/growmotely/growmotely-backend) completed • 18 ms
[2022-11-03 06:15:09.878] [GIT  ] [/Users/chris/source/growmotely/growmotely-backend] git remote -v • 17 ms
[2022-11-03 06:15:09.878] [  2f6] GitRemoteParser.parse completed • 0 ms
[2022-11-03 06:15:09.878] [  2f4] LocalGitProvider.getRemotes(e=/Users/chris/source/growmotely/growmotely-backend) completed • 17 ms
[2022-11-03 06:15:09.884] [GIT  ] [/Users/chris/source/growmotely/growmotely-backend] git log -z --format=%H -n1 771269e78bd533faf985eaf3775b96da528544e0 -- • 25 ms
[2022-11-03 06:15:09.885] [GIT  ] [/Users/chris/source/growmotely/growmotely-backend] git for-each-ref --format=%3ch%3e%(HEAD)%3cn%3e%(refname)%3cu%3e%(upstream:short)%3ct%3e%(upstream:track)%3cr%3e%(objectname)%3cd%3e%(committerdate:iso8601) refs/heads refs/remotes • 25 ms
[2022-11-03 06:15:09.885] [  2f7] GitBranchParser.parse completed • 0 ms
[2022-11-03 06:15:09.885] [  2ed] LocalGitProvider.getBranches(e=/Users/chris/source/growmotely/growmotely-backend) completed • 26 ms
[2022-11-03 06:15:09.900] [GIT  ] [/Users/chris/source/growmotely/growmotely-backend] git status --porcelain=v2 --branch -u --find-renames -- • 36 ms
[2022-11-03 06:15:09.900] [  2f9] GitStatusParser.parseV2 completed • 0 ms
[2022-11-03 06:15:09.900] [  2f8] GitStatusParser.parse completed • 0 ms
[2022-11-03 06:15:09.900] [  2f1] LocalGitProvider.getStatusForRepo(e=/Users/chris/source/growmotely/growmotely-backend) completed • 40 ms
[2022-11-03 06:15:09.900] [  2f0] GitProviderService.getStatusForRepo(e=/Users/chris/source/growmotely/growmotely-backend) completed • 40 ms
[2022-11-03 06:15:09.925] [  2eb] LocalGitProvider.getCommitsForGraph(e=/Users/chris/source/growmotely/growmotely-backend, t=function () { [native code] }, r={"limit":506,"ref":"771269e78bd533faf985eaf3775b96da528544e0"}) completed • 66 ms
[2022-11-03 06:15:09.925] [  2ea] GitProviderService.getCommitsForGraph(e=/Users/chris/source/growmotely/growmotely-backend, t=function () { [native code] }, r={"limit":506,"ref":"771269e78bd533faf985eaf3775b96da528544e0"}) completed • 66 ms
[2022-11-03 06:15:09.925] [SGIT ] [/Users/chris/source/growmotely/growmotely-backend] git log -z --format=%H%x00%aN%x00%aE%x00%at%x00%ct%x00%P%x00%D%x00%B%x00 --date-order --all -- • 39 ms
[2022-11-03 06:15:10.244] [  2f3] GitProviderService.visibilityCore(e=/Users/chris/source/growmotely/growmotely-backend) completed • 384 ms
[2022-11-03 06:15:10.245] [  2fc] GraphWebview(gitlens.graph).postMessage(i=(id=host:11, method=graph/didChange))
[2022-11-03 06:15:10.293] [  2fc] GraphWebview(gitlens.graph).postMessage(i=(id=host:11, method=graph/didChange)) completed • 47 ms
[2022-11-03 06:15:10.293] [  2e9] GraphWebview(gitlens.graph).notifyDidChangeState completed • 434 ms
[2022-11-03 06:15:10.579] [  2fd] GraphWebview(gitlens.graph).onMessageReceivedCore(i=webview:5: method=graph/selection/update)
[2022-11-03 06:15:10.579] [  2fd] GraphWebview(gitlens.graph).onMessageReceivedCore(i=webview:5: method=graph/selection/update) completed • 0 ms
[2022-11-03 06:15:10.830] [  2fe] GitProviderService.getCommit(e=/Users/chris/source/growmotely/growmotely-backend, t=771269e78bd533faf985eaf3775b96da528544e0)
[2022-11-03 06:15:10.831] [  2ff] LocalGitProvider.getCommit(e=/Users/chris/source/growmotely/growmotely-backend, t=771269e78bd533faf985eaf3775b96da528544e0)
[2022-11-03 06:15:10.831] [  300] LocalGitProvider.getLog(e=/Users/chris/source/growmotely/growmotely-backend, t={"limit":2,"ref":"771269e78bd533faf985eaf3775b96da528544e0"})
[2022-11-03 06:15:10.849] [GIT  ] [/Users/chris/source/growmotely/growmotely-backend] git log --format=%x3c%x2ff%x3e%n%x3cr%x3e%x20%H%n%x3ca%x3e%x20%aN%n%x3ce%x3e%x20%aE%n%x3cd%x3e%x20%at%n%x3cn%x3e%x20%cN%n%x3cm%x3e%x20%cE%n%x3cc%x3e%x20%ct%n%x3cp%x3e%x20%P%n%x3cs%x3e%n%B%n%x3c%x2fs%x3e%n%x3cf%x3e -M -m --name-status --full-history -n3 771269e78bd533faf985eaf3775b96da528544e0 -- • 17 ms
[2022-11-03 06:15:10.849] [  301] LocalGitProvider.getCurrentUser(e=/Users/chris/source/growmotely/growmotely-backend)
[2022-11-03 06:15:10.849] [  301] LocalGitProvider.getCurrentUser(e=/Users/chris/source/growmotely/growmotely-backend) completed • 0 ms
[2022-11-03 06:15:10.849] [  302] GitLogParser.parse
[2022-11-03 06:15:10.849] [  302] GitLogParser.parse completed • 0 ms
[2022-11-03 06:15:10.849] [  300] LocalGitProvider.getLog(e=/Users/chris/source/growmotely/growmotely-backend, t={"limit":2,"ref":"771269e78bd533faf985eaf3775b96da528544e0"}) completed • 18 ms
[2022-11-03 06:15:10.849] [  2ff] LocalGitProvider.getCommit(e=/Users/chris/source/growmotely/growmotely-backend, t=771269e78bd533faf985eaf3775b96da528544e0) completed • 18 ms
[2022-11-03 06:15:10.849] [  2fe] GitProviderService.getCommit(e=/Users/chris/source/growmotely/growmotely-backend, t=771269e78bd533faf985eaf3775b96da528544e0) completed • 18 ms
[2022-11-03 06:15:10.850] [  303] CommitDetailsWebviewView(gitlens.views.commitDetails).show(i={"preserveFocus":true,"preserveVisibility":false})
[2022-11-03 06:15:10.852] [  303] CommitDetailsWebviewView(gitlens.views.commitDetails).show(i={"preserveFocus":true,"preserveVisibility":false}) completed • 1 ms
[2022-11-03 06:15:18.264] [  304] GitProviderService.onWindowStateChanged(e=focused=false)
[2022-11-03 06:15:18.264] [  304] GitProviderService.onWindowStateChanged(e=focused=false) completed • 0 ms
[2022-11-03 06:15:56.624] [  305] GitProviderService.onWindowStateChanged(e=focused=true)
[2022-11-03 06:15:56.624] [  305] GitProviderService.onWindowStateChanged(e=focused=true) completed • 0 ms
[2022-11-03 06:15:56.625] [  306] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged
[2022-11-03 06:15:56.625] [  306] TimelineWebviewView(gitlens.views.timeline).onActiveEditorChanged completed • 0 ms
[2022-11-03 06:15:56.726] [  307] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/FETCH_HEAD))
[2022-11-03 06:15:56.726] [  307] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/FETCH_HEAD)) completed • 0 ms
[2022-11-03 06:15:57.371] [  308] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/FETCH_HEAD))
[2022-11-03 06:15:57.371] [  308] Repository(/Users/chris/source/growmotely/growmotely-backend).onRepositoryChanged(H=Uri(file:///Users/chris/source/growmotely/growmotely-backend/.git/FETCH_HEAD)) completed • 0 ms

And Gitlens (Git) after coming back


[2022-11-03 06:10:03.946] [     29ms] [/Users/chris/source/growmotely/growmotely-backend] git checkout development --
[2022-11-03 06:15:09.878] [     18ms] [/Users/chris/source/growmotely/growmotely-backend] git remote -v
[2022-11-03 06:15:09.878] [     17ms] [/Users/chris/source/growmotely/growmotely-backend] git remote -v
[2022-11-03 06:15:09.884] [     25ms] [/Users/chris/source/growmotely/growmotely-backend] git log -z --format=%H -n1 771269e78bd533faf985eaf3775b96da528544e0 --
[2022-11-03 06:15:09.885] [     25ms] [/Users/chris/source/growmotely/growmotely-backend] git for-each-ref --format=%3ch%3e%(HEAD)%3cn%3e%(refname)%3cu%3e%(upstream:short)%3ct%3e%(upstream:track)%3cr%3e%(objectname)%3cd%3e%(committerdate:iso8601) refs/heads refs/remotes
[2022-11-03 06:15:09.900] [     36ms] [/Users/chris/source/growmotely/growmotely-backend] git status --porcelain=v2 --branch -u --find-renames --
[2022-11-03 06:15:09.925] [     39ms] [/Users/chris/source/growmotely/growmotely-backend] git log -z --format=%H%x00%aN%x00%aE%x00%at%x00%ct%x00%P%x00%D%x00%B%x00 --date-order --all --
[2022-11-03 06:15:10.849] [     17ms] [/Users/chris/source/growmotely/growmotely-backend] git log --format=%x3c%x2ff%x3e%n%x3cr%x3e%x20%H%n%x3ca%x3e%x20%aN%n%x3ce%x3e%x20%aE%n%x3cd%x3e%x20%at%n%x3cn%x3e%x20%cN%n%x3cm%x3e%x20%cE%n%x3cc%x3e%x20%ct%n%x3cp%x3e%x20%P%n%x3cs%x3e%n%B%n%x3c%x2fs%x3e%n%x3cf%x3e -M -m --name-status --full-history -n3 771269e78bd533faf985eaf3775b96da528544e0 --

Again, please note, the switch happens instantly, it is the UI that lags and needs the event to trigger it.

tpak commented 2 years ago

Loom: tpak: removed link after close

eamodio commented 2 years ago

@tpak Thanks for the logs!

Can you please verify this fix in tomorrow's pre-release edition of GitLens?

You can switch to the pre-release edition of GitLens, by clicking on the "Switch to Pre-Release version of this extension" from the Extensions view.

image

tpak commented 2 years ago

@eamodio as you requested, I have switched to pre-release and can confirm that it seems to be fixed now.

I'd call this resolved. Thanks for the good work!

Additional system /version info so you can confirm I am on the correct version - but I do see this issue in the changelog inside VS Code:

v2022.11.305
Pre-Release

More Info
Published
9/5/2016, 16:30:06
Last released
11/3/2022, 03:10:05
Last updated
11/3/2022, 13:10:43
Identifier
eamodio.gitlens

❯ git --version              
git version 2.38.1
tpak commented 2 years ago

@eamodio If it is all the same to you, I'll remove my Loom when this closes.

tpak commented 2 years ago

I would also note that my above comment here: https://github.com/gitkraken/vscode-gitlens/issues/2298#issuecomment-1292756255 was me being confused by the UI showing what branch the commit was selected in the graph view. I'm not convinced that is the best way to display/convey that info, but I'm getting used to it. I'm of the mild opinion that the way the Git Graph plugin shows that info when hovering over the connection in the graph is slightly better, but that may be b/c I have used that plugin for a long time. Each has +- though, just a little feedback as you continue onward. Again, thanks.

eamodio commented 2 years ago

@tpak Thanks so much for your help and feedback!

The lag/delay in updating is intentional, but I agree it is too long right now. We currently delay (debounce) the processing of our file watching events by 250ms, to ensure we don't churn on git changing multiple things at once, and then we have another 500ms debounce delay before we update the Graph, again so we don't send too many updates to the Graph at once.

In tomorrow's pre-release, I've shortened the 500ms Graph debounce down to 250ms for non-repo based changes and removed it entirely for "known" repo-based changes. This makes things feel much snappier.

I've added a special case for when the HEAD changes (e.g. you switch to a new branch, or commit something) to update the selected row in the Graph to the new HEAD, so it should be clearer when switching branches, etc.

Regarding your https://github.com/gitkraken/vscode-gitlens/issues/2298#issuecomment-1302584409, what information are you most interested in seeing? Do you want to see the all the branches and tags that any selected commit can be reached from?

tpak commented 2 years ago

@eamodio I'll keep an eye on the lag and let you know if it seems too slow or erratic after the update - the reasons you have the debounce in there are solid, and like I said, the lag was notable but well within acceptable boundaries. It seems like it will only be better now!

About the 2298 comment above, I think what confused me is this, where I see "main" 2x and it is very subtle which branch you are actually on vs which you have selected and it is trying to convey where the branch is merged:

Screen Shot 2022-11-04 at 12 10 29 PM

When using the Git Graph plugin, if you hover/click on a merge point (my terminology) you see this which can be very helpful:

Screen Shot 2022-11-04 at 12 15 41 PM

But for that same point in your graph I can not figure out other than visually which branches this commit is in:

Screen Shot 2022-11-04 at 12 22 27 PM

Selecting the commit in the other tool also shows me quite a lot of info about the commit:

Screen Shot 2022-11-04 at 12 24 07 PM

My points here are not really relevant to this bug/issue, if you'd like, I can open them as feature requests or you can use this comment and reference into a new issue probably quicker than I can, unless of course they are already in there and I have not found them yet.

github-actions[bot] commented 1 year ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.