index-of-git
Given the SHA of a file that existed at any point in the history of a git repo, find the text of that file. This module maintains an in-memory index to make that search fast. It could easily be extended to keep a persistent index, if that turns out to be worthwhile.
It does not currently provide the commit + filename information, because I don't need that, and it would be a bit more work because we'd need to track all the commit + filename pairs which had matching content. And would you want the commits where the filename didn't change, but still had that content?
API
const Index = const options = // gitroot: where your repo is, default CWD // git: or your own simple-git instance // hasher: your own hash function, default vihash // variants: lists of argument lists for hasher, default sha256, sha512const ix = options const text = await ix// => '' since that's the sha256 of the null string, if there's an empty// file anywhere in the repo history// => undefined if there's no empty file anywhere in the repo history