Some notes about the needs here -
x86_64 repositories may have i386 packages hardlinked to i386 repositories; they would be both added in the same push.
At release time, a (roughly) cp -al prerelease release takes place, which offers a lot of opportunity for hardlinking - and that would be to existing content.
So we probably want to build a hash->path index of existing content when scanning for changes, so that we can get a list of paths to check for hardlinks [or even infer new hardlinks.
Some notes about the needs here -
x86_64 repositories may have i386 packages hardlinked to i386 repositories; they would be both added in the same push.
At release time, a (roughly) cp -al prerelease release takes place, which offers a lot of opportunity for hardlinking - and that would be to existing content.
So we probably want to build a hash->path index of existing content when scanning for changes, so that we can get a list of paths to check for hardlinks [or even infer new hardlinks.