]> git.ipfire.org Git - thirdparty/git.git/commit - t/t9351-fast-export-anonymize.sh
fast-export: anonymize "master" refname
authorJeff King <peff@peff.net>
Thu, 25 Jun 2020 19:48:35 +0000 (15:48 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 25 Jun 2020 21:19:23 +0000 (14:19 -0700)
commit8a494955835e3635926d4f6f4607c1ed95b011fc
treee7e6d86fda3226d95a2255c38c0bc799e2b7728d
parent65b5d9fae7684a282f48295b645c2f9da77c2736
fast-export: anonymize "master" refname

Running "fast-export --anonymize" will leave "refs/heads/master"
untouched in the output, for two reasons:

  - it helped to have some known reference point between the original
    and anonymized repository

  - since it's historically the default branch name, it doesn't leak any
    information

Now that we can ask fast-export to retain particular tokens, we have a
much better tool for the first one (because it works for any ref, not
just master).

For the second, the notion of "default branch name" is likely to become
configurable soon, at which point the name _does_ leak information.
Let's drop this special case in preparation.

Note that we have to adjust the test a bit, since it relied on using the
name "master" in the anonymized repos. We could just use
--anonymize-map=master to keep the same output, but then we wouldn't
know if it works because of our hard-coded master or because of the
explicit map.

So let's flip the test a bit, and confirm that we anonymize "master",
but keep "other" in the output.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/fast-export.c
t/t9351-fast-export-anonymize.sh