Skip to content

Use head_info rather than stacks or stack_details when possible#13904

Draft
Caleb-T-Owens wants to merge 2 commits into
caleb/head-info-has-gerrit-metadatafrom
caleb/use-head-info-rather-than-stacks
Draft

Use head_info rather than stacks or stack_details when possible#13904
Caleb-T-Owens wants to merge 2 commits into
caleb/head-info-has-gerrit-metadatafrom
caleb/use-head-info-rather-than-stacks

Conversation

@Caleb-T-Owens
Copy link
Copy Markdown
Contributor

We still need some usage of stacks for the branch listing page AFAIK, but using head_info for the main projection is a big help since it avoids the issues with some strange inconsistency issues between stack_details and stacks.

@Caleb-T-Owens Caleb-T-Owens force-pushed the caleb/use-head-info-rather-than-stacks branch from 4cbfd44 to f7e416e Compare May 20, 2026 14:16
@Caleb-T-Owens Caleb-T-Owens changed the base branch from master to caleb/head-info-has-gerrit-metadata May 20, 2026 14:16
@Caleb-T-Owens Caleb-T-Owens force-pushed the caleb/use-head-info-rather-than-stacks branch from f7e416e to 7a2e646 Compare May 20, 2026 15:04
Copy link
Copy Markdown
Member

@krlvi krlvi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome!

@github-actions github-actions Bot added the rust Pull requests that update Rust code label May 20, 2026
@Caleb-T-Owens Caleb-T-Owens force-pushed the caleb/head-info-has-gerrit-metadata branch from cec2bc9 to e27c1f1 Compare May 21, 2026 12:47
We still need some usage of `stacks` for the branch listing page AFAIK, but using `head_info` for the main projection is a big help since it avoids the issues with some strange inconsistency issues between `stack_details` and `stacks`.
@Caleb-T-Owens Caleb-T-Owens force-pushed the caleb/head-info-has-gerrit-metadata branch from e27c1f1 to deaeac0 Compare May 21, 2026 12:48
@Caleb-T-Owens Caleb-T-Owens force-pushed the caleb/use-head-info-rather-than-stacks branch from bae9c5e to 56545d8 Compare May 21, 2026 12:49
@slarse
Copy link
Copy Markdown
Contributor

slarse commented May 21, 2026

@Caleb-T-Owens Smoke tests failed with

Error: database is locked

Caused by:
    Error code 5: database is locked

That's not related to the code in this PR (see this comment) and probably a spurious error, but it's still worrying. My best guess is that it's the background sync interfering with the next command being executed. but is not great for scripting at the moment.

@Byron
Copy link
Copy Markdown
Collaborator

Byron commented May 21, 2026

I think there is a way to turn backtraces on with anyhow, so it can then show the origin of the error. Maybe RUST_BACKTRACE=full` would do the trick? Maybe there is more to it as well, might need some research.

Then once it's clear where this is happening, it can be fixed.
What might be happening here is that something doesn't obtain a repository RW-lock, so the database acts as sync mechanism, and slow-running opts take too long and trigger a busy timeout. Our own repository lock has no timeout.
But… that's just a guess.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

@gitbutler/desktop rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants