Skip to content

Moves gk metadata to a dedicated git config file#4956

Merged
eamodio merged 1 commit intomainfrom
debt/custom-config
Feb 6, 2026
Merged

Moves gk metadata to a dedicated git config file#4956
eamodio merged 1 commit intomainfrom
debt/custom-config

Conversation

@eamodio
Copy link
Member

@eamodio eamodio commented Feb 4, 2026

Purpose

Reduces noise in the primary Git configuration by migrating GitKraken-specific metadata to a dedicated storage location. This prevents extension-specific data from cluttering user-facing config files and avoids triggering unnecessary repository change events for standard Git operations.

Changes

  • Introduces a new configuration file located at .git/gk/config specifically for extension metadata like branch merge targets, associated issues, and access timestamps.
  • Implements specialized configuration providers with built-in fallbacks to ensure backward compatibility with existing metadata stored in the primary Git config.
  • Updates repository watchers to specifically monitor the new metadata file for changes.
  • Optimizes metadata caching by sharing GitKraken configuration across worktrees through the common .git directory.
  • Refines configuration types to clearly distinguish between core Git settings and extension-specific properties.

@eamodio eamodio added this to the 17.10 milestone Feb 4, 2026
@eamodio eamodio requested a review from ianhattendorf February 4, 2026 19:33
@eamodio eamodio self-assigned this Feb 4, 2026
@augmentcode
Copy link

augmentcode bot commented Feb 4, 2026

🤖 Augment PR Summary

Summary: Moves GitKraken/GitLens branch metadata out of the primary Git config into .git/gk/config to reduce user-facing noise and avoid triggering standard repo change events.

Changes:

  • Splits config key typing into core Git keys vs GitKraken metadata keys.
  • Adds getGkConfig/setGkConfig and regex variants with backward-compatible fallback to legacy .git/config.
  • Updates branch merge-base/merge-target, last-accessed/modified, and associated-issues reads/writes to use the GK config file.
  • Extends repository watchers and cache invalidation with a new RepositoryChange.GkConfig signal.
  • Refactors config-regex helpers to return parsed Map results rather than raw command output.

Technical Notes: GK config is shared across worktrees using the common .git directory, while still consulting standard config for backward compatibility.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

@eamodio eamodio force-pushed the debt/custom-config branch from ee17448 to 1eeba93 Compare February 4, 2026 21:09
@eamodio
Copy link
Member Author

eamodio commented Feb 4, 2026

augment review

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Copy link
Contributor

@ianhattendorf ianhattendorf left a comment

Choose a reason for hiding this comment

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

Should we migrate values to the new location? One time/on use/etc.

 - Adds a separate storage location at `.git/gk/config` for custom branch metadata to avoid cluttering the primary Git config and causing repo changes
@eamodio eamodio force-pushed the debt/custom-config branch from 1eeba93 to e9b61f9 Compare February 6, 2026 04:41
@eamodio
Copy link
Member Author

eamodio commented Feb 6, 2026

I added a one-time best effort migration, and no more fallbacks.

@eamodio eamodio merged commit 204c6e4 into main Feb 6, 2026
6 checks passed
@eamodio eamodio linked an issue Feb 9, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Separate GitLens metadata storage from Git configuration

2 participants