Patch support
Support for patches in the way portage does would be extremely helpful. particularly for dealing with old-style bump maps, as there is not currently known to be a piece of software that can fix them automatically, however they could be fixed manually with NifScope and a binary patch could be created and included in the repository.
This would also be an alternative way of handling the TR-Patcher, and using this for all patches would reduce the number of dependencies, as the TR-Patcher would only be needed for adding mods to the repository. The same is true for cleaning files with tes3cmd.
https://github.com/mendsley/bsdiff appears to be a good tool for this. Windows binaries are not available, however by the look of the README, a small change should make it compile on Windows.
xdelta appears to be preferable to bsdiff due to actually checking that the file to be patched is the expected file and aborting if they differ. It also happens to come with a variety of build options and will likely be easier to build on windows than bsdiff. While xdelta also supports encoding input/output file names in the patches, it unfortunately does not seem to support in-place default files (there is no way to modify the destination file after the fact to indicate that the output file should be the same as the input file). This would mean that we couldn't simply create the patches and include a list of patches to be automatically applied in the way that Portage does with text patches. The solution may be to use arrow notation for binary patches to indicate the file that the patch should be applied to, and pass this filename to xdelta as the source and dest arguments.