Skip to content

Git status indicators not working with reftable storage backend #46747

Closed

Description

@kfreitag1

Git status indicators not working with reftable storage backend

Summary

Git status indicators (file colors in project panel, gutter diff markers, branch name) do not appear when opening repositories that use Git's reftable reference storage format (extensions.refstorage=reftable).

This is a regression report / reopen request for #14414, which was closed on Dec 26, 2025 but the issue persists in Zed 0.218.7.

Environment

  • Zed version: 0.218.7
  • OS: macOS (Darwin 25.2.0)
  • Git version: 2.x with reftable support

Steps to Reproduce

# Create a test repo with reftable format
mkdir zed-reftable-test && cd zed-reftable-test
git init --ref-format=reftable
git config user.email "[email protected]"
git config user.name "Test"
echo "hello" > test.txt
git add . && git commit -m "Initial"
echo "modified" >> test.txt

# Open in Zed
zed .

Expected Behavior

  • Branch name should appear in the git panel
  • test.txt should be highlighted in the project panel

Actual Behavior

  • No branch name displayed
  • No file status colors in project panel

Potential Cause

Zed uses libgit2 (via the git2 Rust crate) for git operations. libgit2 does not yet support the reftable format. See: libgit2/libgit2#7117

Workaround Suggestion

As mentioned in #14414 comments, a potential workaround would be to shell out to the git CLI for repositories where libgit2 fails to initialize, falling back gracefully until libgit2 gains reftable support.

Impact

This affects users of:

  • Large monorepos that use reftable for performance (reftable is faster for repos with many refs)
  • Any repository cloned with --ref-format=reftable
  • Repositories where git is configured with init.defaultRefFormat=reftable

Related Issues

Activity

  1. added
    state:needs triagetriage is not complete: no `area:*` label, or no `severity:*`/`reach:*` for Bugs/Crashes
    on Jan 13, 2026
  2. added
    reach:many usersBugs that happen for at least a third of the users across all platforms and kinds of usage
    severity:S2Average run-of-the-mill bugs; a feature is broken but only partially
    on Jan 13, 2026
  3. added
    state:needs reproNeeds reproduction steps and/or someone to reproduce
    and removed
    state:needs triagetriage is not complete: no `area:*` label, or no `severity:*`/`reach:*` for Bugs/Crashes
    on Jan 13, 2026
  4. miguelraz commented on Jan 14, 2026

    @miguelraz
    Contributor

    Thanks for the report!

    The reason the original issue you linked was closed is that it was a feature request, and those are now handled in this repository as GitHub Discussions.

    Would you mind closing and moving over to the Discussion?

  5. added theissue type on Mar 17, 2026
  6. added a commit that references this issue on Jun 2, 2026
    c57de85
  7. added a commit that references this issue on Jun 2, 2026
    b6bf169
  8. added a commit that references this issue on Jul 17, 2026
    9a4dfe6
  9. added a commit that references this issue on Aug 8, 2026
    dcda677
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:integrations/gitGit integration feedbackreach:many usersBugs that happen for at least a third of the users across all platforms and kinds of usageseverity:S2Average run-of-the-mill bugs; a feature is broken but only partiallystate:needs reproNeeds reproduction steps and/or someone to reproduce

    Type

    Projects

    • Status
      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions