[Bug] An upgrade that adds language support does not bring those files into an existing index

Open
#2,167 0 comments 0 reactions 1 assignee View on GitHub

@RaghavChamadiya is already working on this.

Since Sep 8, 2026.

Assessment

This issue has not been assessed yet.

Description

bug

Third piece of #2163, and the one with the most surface area.

When a release adds a language, an existing index never picks up the files that language covers. The files have not changed since last_sync_commit, so incremental update skips them, even though the set of languages we can parse has changed underneath.

Reproduced on a VB.NET repo with 200 .vb files:

repowise 0.48.0  init      ->  10 files, 0 symbols   (VB.NET not supported yet)
upgrade to 0.49.0
repowise update              ->  "Already up to date."
repowise update --index-only ->  "Already up to date."
repowise init --yes          ->  208 files, 5,576 symbols

So the only recovery is a full init, and nothing tells the user that is what they need. update --full is not it either: it is documented as reusing the persisted graph instead of re-parsing, and it also requires a provider, which a keyless index does not have.

Shape of the fix

Persist a fingerprint of the supported-language set (or an indexer version) in state.json next to last_sync_commit, compare it on update, and force a re-parse of the newly covered extensions when it moves. The decision to make is whether update does that silently, prompts, or just tells the user to re-init.

Why this is not a starter issue. last_sync_commit is read across init_cmd, update_cmd, status_cmd, doctor_cmd and augment_cmd, and the change lands in incremental.py, persist.py and update_cmd/command.py, which carry 28, 29 and 27 prior bug fixes respectively.

Dominant language
Python
Stars
6.7k
Forks
718
Avg merge
1d 13h
Merged PRs (30d)
439

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from repowise-dev/repowise

All issues in repowise-dev/repowise

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.