Use actual diff information instead of re-scanning the whole tree
- Dominant language
- TypeScript
- Stars
- 40
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Right now, to keep things simple, dryad uses the GitHub API to grab the entire file tree for whatever commit is at HEAD. It then checks _every single_ file against the database to see if anything has changed.
A more optimal approach (especially for big repositories) would be to consume each commit on the target branch and actually use the commit's information about what file(s) changed. Then only reindex (or delete) those.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the GitHub API call that retrieves the entire file tree at HEAD and the database comparison that follows. Then inspect how commit-level changed-file information can drive reindexing or deletion; done means the target branch's changed files are used without rescanning the whole tree.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, typescript
- Domain
- performance, search
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100