On Mon, Mar 01 2021, anatoly techtonik wrote: > On Sun, Feb 28, 2021 at 1:34 PM Ævar Arnfjörð Bjarmason > <avarab@xxxxxxxxx> wrote: >> >> I think Elijah means that in the general case people are using fast >> export/import to export/import between different systems or in >> combination with a utility like git-filter-repo. >> >> In those cases users are also changing the content of the repository, so >> the hashes will change, invalidating signatures. >> >> But there's also cases where e.g. you don't modify the history, or only >> part of it, and could then preserve these headers. I think there's no >> inherent reason not to do so, just that nobody's cared enough to submit >> patches etc. > > Is fast-export/import the only way to filter information in `git`? Maybe there > is a slow json-export/import tool that gives a complete representation of all > events in a repository? Or API that can be used to serialize and import that > stream? Aside from other things mentioned & any issues in fast export/import in this thread, if you want round-trip correctness you're not going to want JSON-anything. It's not capable of representing arbitrary binary data. But in any case, it's not the fast-export format that's the issue, but how the tools in git.git are munging/rewriting/omitting the repository data in question...