I have a multi-terabyte filesystem I want to diff against a multi-terabyte tar file. The tar file is only available from stdin - no seeking allowed. I do not have the disk space to write the tar on stdin to disk.
GNU "tar --diff" is almost what I want, except:
- It does not allow comparing mtime's within a tolerance - some of the mtimes in the tarball are rounded. It'd be better to ignore mtimes than to compare them overprecisely.
- It does not report on files in the filesystem that are not in the tarball.
- GNU tar does not appear to build with a modern gcc.
Before I code something myself, is something like this already available?
I'd prefer a solution in Python, C, Rust, Java, C++ or Go - in that order.
I googled this for about an hour, and did find several almost-solutions, but nothing precisely like what I'm looking for.
Thanks!