Re: Round-tripping fast-export/import changes commit hashes
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Mar 1, 2021, 20:02 UTC
- Message-ID
- <87im6ak5hd.fsf@evledraar.gmail.com>
- In-Reply-To
- <CAPkN8xLE68d5Ngpy+LOQ8SALNgfB-+q4F3mFK-QBD=+EOKZSVg@mail.gmail.com>
On Mon, Mar 01 2021, anatoly techtonik wrote:
Show 19 quoted lines
> On Sun, Feb 28, 2021 at 1:34 PM Ævar Arnfjörð Bjarmason > <avarab@gmail.com> 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...