]> git.ipfire.org Git - thirdparty/git.git/commitdiff
remote-mediawiki: fix duplicate revisions being imported
authorSimon Legner <Simon.Legner@gmail.com>
Mon, 21 Sep 2020 10:39:55 +0000 (12:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Sep 2020 19:37:38 +0000 (12:37 -0700)
Fix a bug with revisions being imported twice. This commit is being
backported from Git-Mediawiki.git's e41ee9b ("All revisions imported
twice", 2018-02-02) to git.git. See [1] for the original commit and
[2] and [3] for the upstream PR and issue.

1. https://github.com/Git-Mediawiki/Git-Mediawiki/commit/e41ee9b3a32416df381cdc79f63350665c84151e
2. https://github.com/Git-Mediawiki/Git-Mediawiki/pull/61
3. https://github.com/Git-Mediawiki/Git-Mediawiki/issues/29

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/mw-to-git/git-remote-mediawiki.perl

index 08190e23e1aa01008155c2d0d38dd728f137dd9f..26d5e1a174ed5ba786b28a88fd0fa33ebfa93309 100755 (executable)
@@ -807,7 +807,10 @@ sub get_more_refs {
 sub mw_import {
        # multiple import commands can follow each other.
        my @refs = (shift, get_more_refs('import'));
+       my $processedRefs;
        foreach my $ref (@refs) {
+               next if $processedRefs->{$ref}; # skip duplicates: "import refs/heads/master" being issued twice; TODO: why?
+               $processedRefs->{$ref} = 1;
                mw_import_ref($ref);
        }
        print {*STDOUT} "done\n";