git-filter-repo fails to build with Python 3.13.0a2. I don't know whether Python 3.13 is a culprit in this case, but the package builds successfully in Koschei, hence reporting to increase visibility. This report is automated and not very verbose, but we'll try to get back here with details. == t9390-filter-repo.sh == not ok 29 - tag of tag before relevant portion of history # # test_create_repo filtered_tag_of_tag && # ( # cd filtered_tag_of_tag && # echo contents >file && # git add file && # git commit -m "Initial" && # # git tag -a -m "Inner Tag" inner_tag HEAD && # git tag -a -m "Outer Tag" outer_tag inner_tag && # # mkdir subdir && # echo stuff >subdir/whatever && # git add subdir && # git commit -m "Add file in subdir" && # # git filter-repo --force --subdirectory-filter subdir && # # git show-ref >refs && # ! grep refs/tags refs && # git log --all --oneline >commits && # test_line_count = 1 commits # ) # not ok 51 - commit message encoding preserved if requested # # ( # git init commit_message_encoding && # cd commit_message_encoding && # # cat >input <<-\EOF && # feature done # commit refs/heads/develop # mark :1 # original-oid deadbeefdeadbeefdeadbeefdeadbeefdeadbeef # author Just Me <just> 1234567890 -0200 # committer Just Me <just> 1234567890 -0200 # encoding iso-8859-7 # data 5 # EOF # # printf "Pi: \360\n\ndone\n" >>input && # # cat input | git fast-import --quiet && # git rev-parse develop >expect && # # git filter-repo --preserve-commit-encoding --force && # git rev-parse develop >actual && # test_cmp expect actual # ) # not ok 63 - --state-branch with changing renames # # test_create_repo state_branch_renames_export # test_create_repo state_branch_renames && # ( # cd state_branch_renames && # git fast-import --quiet <$DATA/basic-numbers && # git branch -d A && # git branch -d B && # git tag -d v1.0 && # # ORIG=$(git rev-parse master) && # git reset --hard master~1 && # git filter-repo --path-rename ten:zehn \ # --state-branch state_info \ # --target ../state_branch_renames_export && # # cd ../state_branch_renames_export && # git log --format=%s --name-status >actual && # cat <<-EOF >expect && # Merge branch ${SQ}A${SQ} into B # add twenty # # M twenty # add ten # # M zehn # Initial # # A twenty # A zehn # EOF # test_cmp expect actual && # # cd ../state_branch_renames && # # git reset --hard $ORIG && # git filter-repo --path-rename twenty:veinte \ # --state-branch state_info \ # --target ../state_branch_renames_export && # # cd ../state_branch_renames_export && # git log --format=%s --name-status >actual && # cat <<-EOF >expect && # whatever # # A ten # A veinte # Merge branch ${SQ}A${SQ} into B # add twenty # # M twenty # add ten # # M zehn # Initial # # A twenty # A zehn # EOF # test_cmp expect actual # ) # not ok 64 - --state-branch with expanding paths and refs # # test_create_repo state_branch_more_paths_export # test_create_repo state_branch_more_paths && # ( # cd state_branch_more_paths && # git fast-import --quiet <$DATA/basic-numbers && # # git reset --hard master~1 && # git filter-repo --path ten --state-branch state_info \ # --target ../state_branch_more_paths_export \ # --refs master && # # cd ../state_branch_more_paths_export && # echo 2 >expect && # git rev-list --count master >actual && # test_cmp expect actual && # test_must_fail git rev-parse master~1:twenty && # test_must_fail git rev-parse master:twenty && # # cd ../state_branch_more_paths && # # git reset --hard v1.0 && # git filter-repo --path ten --path twenty \ # --state-branch state_info \ # --target ../state_branch_more_paths_export && # # cd ../state_branch_more_paths_export && # echo 3 >expect && # git rev-list --count master >actual && # test_cmp expect actual && # test_must_fail git rev-parse master~2:twenty && # git rev-parse master:twenty # ) # # failed 4 among 70 test(s) 1..70 https://docs.python.org/3.13/whatsnew/3.13.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.13/fedora-rawhide-x86_64/06692105-git-filter-repo/ For all our attempts to build git-filter-repo with Python 3.13, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.13/package/git-filter-repo/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.13: https://copr.fedorainfracloud.org/coprs/g/python/python3.13/ Let us know here if you have any questions. Python 3.13 is planned to be included in Fedora 41. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.13. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle. Changing version to 40.
This can be fixed by applying https://github.com/newren/git-filter-repo/pull/526/files (which Debian also applies: https://salsa.debian.org/python-team/packages/git-filter-repo/-/blob/debian/latest/debian/patches/options.patch?ref_type=heads) But unfortunately now test #41 is also failing, not sure why yet
Let's see if -6 fixes this for Python 3.13 too
It did.