gitbutlerapp / gitbutler

The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
https://gitbutler.com
Other
11.5k stars 467 forks source link

First usage: "GibButler's integration commit not found on head" #4040

Open Greedquest opened 3 weeks ago

Greedquest commented 3 weeks ago

image

Failed update workspace

GibButler's integration commit not found on head

All I did was download the windows MSI and install, sign in with github user account, then open a local repo. I believe the github repo is private if that makes a difference.

Windows 11 Gitbutler 0.12.2

Greedquest commented 3 weeks ago

may be related to #4041

Byron commented 3 weeks ago

Thanks for reporting!

Here it would certainly be interesting to see the accompanying error from the log files - they can reveal the path of the file that couldn't be read just to validate the hypothesis that both issues are related.

Thanks for your help with this.

Greedquest commented 3 weeks ago

Not included in these logs, I tried going back to the repo on gitub, doing git clone, and then opening that in gitbutler and it worked. And that was a private repo. So I believe it is an error related to the fact that it was a "dirty" repo on my local machine with unstaged changes and several branches, and that gitbutler couldn't handle that, however the remote had a single branch so gitbutler could use that as a stable starting point.

Byron commented 3 weeks ago

(I also had to delete the comment with the log as it contained the GitButler access token)

It does seem that part of the problem was to not being able to write user-related information for some reason.

But what also is observable here is that it tried to debug-log sensitive information, like your GithubToken if it was set. I will attempt to fix that asap and review code to make sure sensitive fields can't be logged like that.

Greedquest commented 3 weeks ago

@Byron Thanks for sorting that out :) Is there anything else you need here or do you think you have enough to be going on with?

Here is a clean log no tokens. This is the very start of the logs so nothing happened prior. Note the typo GibButler

2024-06-08T12:37:13.109508Z  INFO crates\gitbutler-tauri\src/main.rs:87: starting app version=0.12.2 name=GitButler
2024-06-08T12:37:13.405173Z  INFO get_user: crates\gitbutler-tauri\src\users.rs:12: new
2024-06-08T12:37:13.405483Z  INFO get_user: crates\gitbutler-tauri\src\users.rs:12: close time.busy=212µs time.idle=160µs
2024-06-08T12:37:13.413906Z  INFO list_projects: crates\gitbutler-tauri\src\projects.rs:40: new
2024-06-08T12:37:13.414093Z  INFO list_projects: crates\gitbutler-tauri\src\projects.rs:40: close time.busy=105µs time.idle=84.8µs
2024-06-08T12:37:32.495869Z  INFO delete_user: crates\gitbutler-tauri\src\users.rs:35: new
2024-06-08T12:37:32.495990Z  INFO delete_user: crates\gitbutler-tauri\src\users.rs:35: close time.busy=87.9µs time.idle=34.7µs
2024-06-08T12:37:41.105785Z  INFO set_user: crates\gitbutler-tauri\src\users.rs:24: new user=User { id: 13659, name: None, given_name: None, family_name: None, email: "redacted@email.com", picture: "redacted-picture", locale: None, created_at: "2024-03-26T22:52:16Z", updated_at: "2024-06-08T12:37:39Z", access_token: "redacted-token", role: None, github_access_token: None, github_username: None }
2024-06-08T12:37:41.105811Z  INFO set_user: crates\gitbutler-tauri\src\users.rs:24: new user=User { id: 13659, name: None, given_name: None, family_name: None, email: "redacted@email.com", picture: "redacted-picture", locale: None, created_at: "2024-03-26T22:52:16Z", updated_at: "2024-06-08T12:37:39Z", access_token: "redacted-token", role: None, github_access_token: None, github_username: None }
2024-06-08T12:37:41.112563Z ERROR set_user: crates\gitbutler-tauri\src\users.rs:24: error=Error(failed to set user

Caused by:
    Access is denied. (os error 5)) user=User { id: 13659, name: None, given_name: None, family_name: None, email: "redacted@email.com", picture: "redacted-picture", locale: None, created_at: "2024-03-26T22:52:16Z", updated_at: "2024-06-08T12:37:39Z", access_token: "redacted-token", role: None, github_access_token: None, github_username: None }
2024-06-08T12:37:41.112587Z  INFO set_user: crates\gitbutler-tauri\src\users.rs:24: close time.busy=6.76ms time.idle=15.5µs user=User { id: 13659, name: None, given_name: None, family_name: None, email: "redacted@email.com", picture: "redacted-picture", locale: None, created_at: "2024-03-26T22:52:16Z", updated_at: "2024-06-08T12:37:39Z", access_token: "redacted-token", role: None, github_access_token: None, github_username: None }
2024-06-08T12:37:41.173920Z  INFO set_user: crates\gitbutler-tauri\src\users.rs:24: close time.busy=18.4ms time.idle=49.7ms user=User { id: 13659, name: None, given_name: None, family_name: None, email: "redacted@email.com", picture: "redacted-picture", locale: None, created_at: "2024-03-26T22:52:16Z", updated_at: "2024-06-08T12:37:39Z", access_token: "redacted-token", role: None, github_access_token: None, github_username: None }
2024-06-08T12:38:06.028928Z  INFO add_project: crates\gitbutler-tauri\src\projects.rs:22: new path="C:\\Users\\USERNAME\\Documents\\GitHub\\vbIteratorDEMO"
2024-06-08T12:38:06.038265Z  INFO add_project:watch: crates\gitbutler-tauri\src\watcher.rs:102: new path="C:\\Users\\USERNAME\\Documents\\GitHub\\vbIteratorDEMO"
2024-06-08T12:38:06.040734Z  INFO add_project:watch:file monitor: crates\gitbutler-watcher\src\file_monitor.rs:119: new path="C:\\Users\\USERNAME\\Documents\\GitHub\\vbIteratorDEMO" project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.042479Z  INFO list_projects: crates\gitbutler-tauri\src\projects.rs:40: new
2024-06-08T12:38:06.042684Z  INFO list_projects: crates\gitbutler-tauri\src\projects.rs:40: close time.busy=188µs time.idle=17.3µs
2024-06-08T12:38:06.244780Z  INFO get_project: crates\gitbutler-tauri\src\projects.rs:31: new id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.244894Z  INFO get_project: crates\gitbutler-tauri\src\projects.rs:31: new id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.245124Z  INFO get_project: crates\gitbutler-tauri\src\projects.rs:31: close time.busy=315µs time.idle=30.7µs id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.245214Z  INFO get_project: crates\gitbutler-tauri\src\projects.rs:31: close time.busy=305µs time.idle=14.8µs id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.246760Z  INFO set_project_active: crates\gitbutler-tauri\src\projects.rs:49: new id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.246842Z  INFO git_head: crates\gitbutler-tauri\src\commands.rs:68: new project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.247113Z  INFO set_project_active:watch: crates\gitbutler-tauri\src\watcher.rs:102: new id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.251583Z  INFO set_project_active:watch:file monitor: crates\gitbutler-watcher\src\file_monitor.rs:119: new id=e767d076-2f72-4c29-9c67-ac90236688a1 project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.253407Z  INFO fetch_from_remotes: crates\gitbutler-tauri\src\virtual_branches.rs:500: new project_id=e767d076-2f72-4c29-9c67-ac90236688a1 action=Some("auto")
2024-06-08T12:38:06.256947Z  INFO set_project_active: crates\gitbutler-tauri\src\projects.rs:49: new id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.257098Z  INFO git_head: crates\gitbutler-tauri\src\commands.rs:68: new project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.257309Z  INFO set_project_active:watch: crates\gitbutler-tauri\src\watcher.rs:102: new id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.261100Z  INFO set_project_active:watch:file monitor: crates\gitbutler-watcher\src\file_monitor.rs:119: new id=e767d076-2f72-4c29-9c67-ac90236688a1 project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.261528Z  INFO git_head: crates\gitbutler-tauri\src\commands.rs:68: close time.busy=14.7ms time.idle=24.2µs project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.262007Z  INFO git_head: crates\gitbutler-tauri\src\commands.rs:68: close time.busy=4.88ms time.idle=33.8µs project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.289367Z  INFO add_project:watch:file monitor: crates\gitbutler-watcher\src\file_monitor.rs:119: close time.busy=249ms time.idle=56.4µs path="C:\\Users\\USERNAME\\Documents\\GitHub\\vbIteratorDEMO" project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.289423Z  INFO add_project:watch: crates\gitbutler-tauri\src\watcher.rs:102: close time.busy=2.33ms time.idle=249ms path="C:\\Users\\USERNAME\\Documents\\GitHub\\vbIteratorDEMO"
2024-06-08T12:38:06.289432Z  INFO add_project: crates\gitbutler-tauri\src\projects.rs:22: close time.busy=11.7ms time.idle=249ms path="C:\\Users\\USERNAME\\Documents\\GitHub\\vbIteratorDEMO"
2024-06-08T12:38:06.370547Z  INFO get_base_branch_data: crates\gitbutler-tauri\src\virtual_branches.rs:103: new project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.498222Z  INFO set_project_active:watch:file monitor: crates\gitbutler-watcher\src\file_monitor.rs:119: close time.busy=247ms time.idle=93.7µs id=e767d076-2f72-4c29-9c67-ac90236688a1 project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.498259Z  INFO set_project_active:watch: crates\gitbutler-tauri\src\watcher.rs:102: close time.busy=3.80ms time.idle=247ms id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.498322Z  INFO set_project_active: crates\gitbutler-tauri\src\projects.rs:49: close time.busy=4.15ms time.idle=247ms id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.559199Z  INFO get_base_branch_data: crates\gitbutler-tauri\src\virtual_branches.rs:103: close time.busy=23.4ms time.idle=165ms project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.562622Z  INFO list_virtual_branches: crates\gitbutler-tauri\src\virtual_branches.rs:39: new project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.568862Z  INFO list_projects: crates\gitbutler-tauri\src\projects.rs:40: new
2024-06-08T12:38:06.569059Z  INFO list_projects: crates\gitbutler-tauri\src\projects.rs:40: close time.busy=172µs time.idle=26.8µs
2024-06-08T12:38:06.571087Z  INFO list_remote_branches: crates\gitbutler-tauri\src\virtual_branches.rs:452: new project_id=e767d076-2f72-4c29-9c67-ac90236688a1
2024-06-08T12:38:06.576372Z ERROR list_virtual_branches: crates\gitbutler-tauri\src\virtual_branches.rs:39: error=Error(<verification-failed>

Caused by:
    gibButler's integration commit not found on head) project_id=e767d076-2f72-4c29-9c67-ac90236688a1
Byron commented 3 weeks ago

Maybe the issue is a side-effect of it being unable to write the users.json file. To put this to the test, you could temporarily rename your data-folder so it gets a fresh start. Is anything different then, or is it more stable? My guess is that if it works, it doesn't work for long as something keeps interfering with its writes to that user information file.

Maybe even alternatively, you could try using the binary from this comment instead. It has some provisions to hopefully make writing to files more reliable on Windows.

Thanks for your continued help, it's appreciated.

mtsgrd commented 3 weeks ago

One thing that stands out to me is the lack of a set_base_branch call, because any uncommitted changes ought to be converted to a branch if called: https://github.com/gitbutlerapp/gitbutler/blob/10de79a0b0cec4e4b27966423d7aaf5b58db1f3c/crates/gitbutler-core/src/virtual_branches/base.rs#L193

@Greedquest do you remember if you were asked to set a target trunk branch?