Switched to a new branch 'master'
branch 'master' set up to track 'origin/master'.
HEAD is now at d1297f65 Merge pull request #1198 from RyaxTech/replace-password-in-uri-by-stars
HEAD is now at d906f31a remove comment
HEAD is now at 6643a9fe Merge pull request #1202 from Yobmod/main
HEAD is now at 6f765a20 prepare next release
============================= test session starts ==============================
platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0 -- /usr/bin/python
cachedir: .pytest_cache
rootdir: /dev
configfile: null
collecting ... collected 528 items / 2 deselected / 526 selected

../../../../dev/test/test_actor.py::TestActor::test_from_string_should_handle_just_name <- ../build/python-gitpython/src/gitpython/test/test_actor.py PASSED [  0%]
../../../../dev/test/test_actor.py::TestActor::test_from_string_should_separate_name_and_email <- ../build/python-gitpython/src/gitpython/test/test_actor.py PASSED [  0%]
../../../../dev/test/test_actor.py::TestActor::test_should_display_representation <- ../build/python-gitpython/src/gitpython/test/test_actor.py PASSED [  0%]
../../../../dev/test/test_actor.py::TestActor::test_str_should_alias_name <- ../build/python-gitpython/src/gitpython/test/test_actor.py PASSED [  0%]
../../../../dev/test/test_base.py::TestBase::test_add_unicode <- ../build/python-gitpython/src/gitpython/test/test_base.py PASSED [  0%]
../../../../dev/test/test_base.py::TestBase::test_base_object <- ../build/python-gitpython/src/gitpython/test/test_base.py PASSED [  1%]
../../../../dev/test/test_base.py::TestBase::test_get_object_type_by_name <- ../build/python-gitpython/src/gitpython/test/test_base.py PASSED [  1%]
../../../../dev/test/test_base.py::TestBase::test_object_resolution <- ../build/python-gitpython/src/gitpython/test/test_base.py PASSED [  1%]
../../../../dev/test/test_base.py::TestBase::test_with_bare_rw_repo <- ../build/python-gitpython/src/gitpython/test/test_base.py PASSED [  1%]
../../../../dev/test/test_base.py::TestBase::test_with_rw_remote_and_rw_repo <- ../build/python-gitpython/src/gitpython/test/test_base.py PASSED [  1%]
../../../../dev/test/test_base.py::TestBase::test_with_rw_repo <- ../build/python-gitpython/src/gitpython/test/test_base.py PASSED [  2%]
../../../../dev/test/test_blob.py::TestBlob::test_mime_type_should_return_mime_type_for_known_types <- ../build/python-gitpython/src/gitpython/test/test_blob.py PASSED [  2%]
../../../../dev/test/test_blob.py::TestBlob::test_mime_type_should_return_text_plain_for_unknown_types <- ../build/python-gitpython/src/gitpython/test/test_blob.py PASSED [  2%]
../../../../dev/test/test_blob.py::TestBlob::test_nodict <- ../build/python-gitpython/src/gitpython/test/test_blob.py PASSED [  2%]
../../../../dev/test/test_blob_filter.py::test_blob_filter[paths0-path0-True] <- ../build/python-gitpython/src/gitpython/test/test_blob_filter.py PASSED [  2%]
../../../../dev/test/test_blob_filter.py::test_blob_filter[paths1-path1-True] <- ../build/python-gitpython/src/gitpython/test/test_blob_filter.py PASSED [  3%]
../../../../dev/test/test_blob_filter.py::test_blob_filter[paths2-path2-False] <- ../build/python-gitpython/src/gitpython/test/test_blob_filter.py PASSED [  3%]
../../../../dev/test/test_blob_filter.py::test_blob_filter[paths3-path3-True] <- ../build/python-gitpython/src/gitpython/test/test_blob_filter.py PASSED [  3%]
../../../../dev/test/test_clone.py::TestClone::test_checkout_in_non_empty_dir <- ../build/python-gitpython/src/gitpython/test/test_clone.py PASSED [  3%]
../../../../dev/test/test_commit.py::TestCommit::test_ambiguous_arg_iteration <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  3%]
../../../../dev/test/test_commit.py::TestCommit::test_bake <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  3%]
../../../../dev/test/test_commit.py::TestCommit::test_commit_co_authors <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  4%]
../../../../dev/test/test_commit.py::TestCommit::test_count <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  4%]
../../../../dev/test/test_commit.py::TestCommit::test_datetimes <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  4%]
../../../../dev/test/test_commit.py::TestCommit::test_equality <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  4%]
../../../../dev/test/test_commit.py::TestCommit::test_gpgsig <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  4%]
../../../../dev/test/test_commit.py::TestCommit::test_invalid_commit <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  5%]
../../../../dev/test/test_commit.py::TestCommit::test_iter_items <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  5%]
../../../../dev/test/test_commit.py::TestCommit::test_iter_parents <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  5%]
../../../../dev/test/test_commit.py::TestCommit::test_iteration <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  5%]
../../../../dev/test/test_commit.py::TestCommit::test_list <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  5%]
../../../../dev/test/test_commit.py::TestCommit::test_name_rev <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  6%]
../../../../dev/test/test_commit.py::TestCommit::test_renames <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  6%]
../../../../dev/test/test_commit.py::TestCommit::test_replace_invalid_attribute <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  6%]
../../../../dev/test/test_commit.py::TestCommit::test_replace_new_sha <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  6%]
../../../../dev/test/test_commit.py::TestCommit::test_replace_no_changes <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  6%]
../../../../dev/test/test_commit.py::TestCommit::test_repr <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  7%]
../../../../dev/test/test_commit.py::TestCommit::test_rev_list_bisect_all <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  7%]
../../../../dev/test/test_commit.py::TestCommit::test_serialization <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  7%]
../../../../dev/test/test_commit.py::TestCommit::test_serialization_unicode_support <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  7%]
../../../../dev/test/test_commit.py::TestCommit::test_stats <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  7%]
../../../../dev/test/test_commit.py::TestCommit::test_str <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  7%]
../../../../dev/test/test_commit.py::TestCommit::test_trailers <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  8%]
../../../../dev/test/test_commit.py::TestCommit::test_traversal <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  8%]
../../../../dev/test/test_commit.py::TestCommit::test_unicode_actor <- ../build/python-gitpython/src/gitpython/test/test_commit.py PASSED [  8%]
../../../../dev/test/test_config.py::TestBase::test_add_to_multiple <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [  8%]
../../../../dev/test/test_config.py::TestBase::test_base <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [  8%]
../../../../dev/test/test_config.py::TestBase::test_complex_aliases <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [  9%]
../../../../dev/test/test_config.py::TestBase::test_conditional_includes_from_branch_name <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [  9%]
../../../../dev/test/test_config.py::TestBase::test_conditional_includes_from_branch_name_error <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [  9%]
../../../../dev/test/test_config.py::TestBase::test_conditional_includes_from_git_dir <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [  9%]
../../../../dev/test/test_config.py::TestBase::test_config_include <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [  9%]
../../../../dev/test/test_config.py::TestBase::test_empty_config_value <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 10%]
../../../../dev/test/test_config.py::TestBase::test_get_values_works_without_requiring_any_other_calls_first <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 10%]
../../../../dev/test/test_config.py::TestBase::test_includes_order <- ../build/python-gitpython/src/gitpython/test/test_config.py SKIPPED [ 10%]
../../../../dev/test/test_config.py::TestBase::test_lock_reentry <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 10%]
../../../../dev/test/test_config.py::TestBase::test_multi_line_config <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 10%]
../../../../dev/test/test_config.py::TestBase::test_multiple_to_single <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 11%]
../../../../dev/test/test_config.py::TestBase::test_multiple_values <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 11%]
../../../../dev/test/test_config.py::TestBase::test_multiple_values_rename <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 11%]
../../../../dev/test/test_config.py::TestBase::test_read_write <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 11%]
../../../../dev/test/test_config.py::TestBase::test_rename <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 11%]
../../../../dev/test/test_config.py::TestBase::test_setlast <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 11%]
../../../../dev/test/test_config.py::TestBase::test_single_to_multiple <- ../build/python-gitpython/src/gitpython/test/test_config.py PASSED [ 12%]
../../../../dev/test/test_db.py::TestDB::test_base <- ../build/python-gitpython/src/gitpython/test/test_db.py PASSED [ 12%]
../../../../dev/test/test_diff.py::TestDiff::test_binary_diff_1 <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 12%]
../../../../dev/test/test_diff.py::TestDiff::test_binary_diff_2 <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 12%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_file_with_colon <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 12%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_index <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 13%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_index_raw_format <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 13%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_initial_commit <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 13%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_interface <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 13%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_of_modified_files_not_added_to_the_index <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 13%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_patch_format <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 14%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_submodule <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 14%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_unsafe_paths <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 14%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_with_change_in_type <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 14%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_with_copied_file <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 14%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_with_rename <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 15%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_with_spaces <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 15%]
../../../../dev/test/test_diff.py::TestDiff::test_diff_with_staged_file <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 15%]
../../../../dev/test/test_diff.py::TestDiff::test_empty_diff <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 15%]
../../../../dev/test/test_diff.py::TestDiff::test_list_from_string_new_mode <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 15%]
../../../../dev/test/test_diff.py::TestDiff::test_rename_override <- ../build/python-gitpython/src/gitpython/test/test_diff.py PASSED [ 15%]
../../../../dev/test/test_docs.py::Tutorials::test_add_file_and_commit <- ../build/python-gitpython/src/gitpython/test/test_docs.py PASSED [ 16%]
../../../../dev/test/test_docs.py::Tutorials::test_init_repo_object <- ../build/python-gitpython/src/gitpython/test/test_docs.py PASSED [ 16%]
../../../../dev/test/test_docs.py::Tutorials::test_references_and_objects <- ../build/python-gitpython/src/gitpython/test/test_docs.py FAILED [ 16%]
../../../../dev/test/test_docs.py::Tutorials::test_submodules <- ../build/python-gitpython/src/gitpython/test/test_docs.py FAILED [ 16%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_001____cmd______None__None___None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 16%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_002____cmd______None__None____steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 17%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_003____cmd______None__None____ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 17%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_004____cmd______7___exit_code_7_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 17%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_005____cmd______7___exit_code_7______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 17%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_006____cmd______7___exit_code_7______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 17%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_007____cmd_______Some_string_____Some_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 18%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_008____cmd_______Some_string_____Some_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 18%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_009____cmd_______Some_string_____Some_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 18%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_010____cmd_______παλιο_string_____παλιο_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 18%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_011____cmd_______παλιο_string_____παλιο_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 18%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_012____cmd_______παλιο_string_____παλιο_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 19%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_013 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 19%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_014 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 19%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_015 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 19%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_016 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 19%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_017 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 19%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_018 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 20%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_019 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 20%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_020 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 20%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_021 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 20%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_022____θνιψοδε______None__None___None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 20%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_023____θνιψοδε______None__None____steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 21%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_024____θνιψοδε______None__None____ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 21%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_025____θνιψοδε______7___exit_code_7_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 21%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_026____θνιψοδε______7___exit_code_7______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 21%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_027____θνιψοδε______7___exit_code_7______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 21%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_028____θνιψοδε_______Some_string_____Some_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 22%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_029____θνιψοδε_______Some_string_____Some_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 22%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_030____θνιψοδε_______Some_string_____Some_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 22%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_031____θνιψοδε_______παλιο_string_____παλιο_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 22%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_032____θνιψοδε_______παλιο_string_____παλιο_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 22%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_033____θνιψοδε_______παλιο_string_____παλιο_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 23%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_034 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 23%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_035 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 23%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_036 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 23%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_037 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 23%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_038 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 23%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_039 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 24%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_040 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 24%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_041 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 24%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_042 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 24%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_043____θνιψοδε____normal____argvs_____None__None___None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 24%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_044____θνιψοδε____normal____argvs_____None__None____steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 25%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_045____θνιψοδε____normal____argvs_____None__None____ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 25%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_046____θνιψοδε____normal____argvs_____7___exit_code_7_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 25%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_047____θνιψοδε____normal____argvs_____7___exit_code_7______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 25%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_048____θνιψοδε____normal____argvs_____7___exit_code_7______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 25%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_049____θνιψοδε____normal____argvs______Some_string_____Some_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 26%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_050____θνιψοδε____normal____argvs______Some_string_____Some_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 26%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_051____θνιψοδε____normal____argvs______Some_string_____Some_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 26%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_052____θνιψοδε____normal____argvs______παλιο_string_____παλιο_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 26%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_053____θνιψοδε____normal____argvs______παλιο_string_____παλιο_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 26%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_054____θνιψοδε____normal____argvs______παλιο_string_____παλιο_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 26%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_055 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 27%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_056 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 27%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_057 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 27%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_058 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 27%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_059 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 27%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_060 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 28%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_061 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 28%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_062 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 28%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_063 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 28%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_064____cmd____ελληνικα____args_____None__None___None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 28%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_065____cmd____ελληνικα____args_____None__None____steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 29%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_066____cmd____ελληνικα____args_____None__None____ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 29%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_067____cmd____ελληνικα____args_____7___exit_code_7_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 29%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_068____cmd____ελληνικα____args_____7___exit_code_7______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 29%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_069____cmd____ελληνικα____args_____7___exit_code_7______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 29%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_070____cmd____ελληνικα____args______Some_string_____Some_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 30%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_071____cmd____ελληνικα____args______Some_string_____Some_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 30%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_072____cmd____ελληνικα____args______Some_string_____Some_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 30%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_073____cmd____ελληνικα____args______παλιο_string_____παλιο_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 30%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_074____cmd____ελληνικα____args______παλιο_string_____παλιο_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 30%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_075____cmd____ελληνικα____args______παλιο_string_____παλιο_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 30%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_076 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 31%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_077 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 31%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_078 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 31%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_079 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 31%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_080 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 31%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_081 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 32%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_082 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 32%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_083 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 32%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_084 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 32%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_085____θνιψοδε____κι____αλλα____strange____args_____None__None___None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 32%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_086____θνιψοδε____κι____αλλα____strange____args_____None__None____steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 33%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_087____θνιψοδε____κι____αλλα____strange____args_____None__None____ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 33%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_088____θνιψοδε____κι____αλλα____strange____args_____7___exit_code_7_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 33%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_089____θνιψοδε____κι____αλλα____strange____args_____7___exit_code_7______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 33%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_090____θνιψοδε____κι____αλλα____strange____args_____7___exit_code_7______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 33%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_091____θνιψοδε____κι____αλλα____strange____args______Some_string_____Some_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 34%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_092____θνιψοδε____κι____αλλα____strange____args______Some_string_____Some_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 34%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_093____θνιψοδε____κι____αλλα____strange____args______Some_string_____Some_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 34%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_094____θνιψοδε____κι____αλλα____strange____args______παλιο_string_____παλιο_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 34%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_095____θνιψοδε____κι____αλλα____strange____args______παλιο_string_____παλιο_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 34%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_096____θνιψοδε____κι____αλλα____strange____args______παλιο_string_____παλιο_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 34%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_097 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 35%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_098 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 35%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_099 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 35%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_100 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 35%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_101 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 35%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_102 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 36%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_103 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 36%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_104 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 36%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_105 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 36%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_106____θνιψοδε____κι____αλλα____non_unicode____args_____None__None___None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 36%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_107____θνιψοδε____κι____αλλα____non_unicode____args_____None__None____steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 37%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_108____θνιψοδε____κι____αλλα____non_unicode____args_____None__None____ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 37%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_109____θνιψοδε____κι____αλλα____non_unicode____args_____7___exit_code_7_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 37%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_110____θνιψοδε____κι____αλλα____non_unicode____args_____7___exit_code_7______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 37%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_111____θνιψοδε____κι____αλλα____non_unicode____args_____7___exit_code_7______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 37%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_112____θνιψοδε____κι____αλλα____non_unicode____args______Some_string_____Some_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 38%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_113____θνιψοδε____κι____αλλα____non_unicode____args______Some_string_____Some_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 38%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_114____θνιψοδε____κι____αλλα____non_unicode____args______Some_string_____Some_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 38%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_115____θνιψοδε____κι____αλλα____non_unicode____args______παλιο_string_____παλιο_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 38%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_116____θνιψοδε____κι____αλλα____non_unicode____args______παλιο_string_____παλιο_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 38%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_117____θνιψοδε____κι____αλλα____non_unicode____args______παλιο_string_____παλιο_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 38%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_118 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 39%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_119 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 39%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_120 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 39%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_121 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 39%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_122 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 39%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_123 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 40%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_124 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 40%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_125 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 40%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_126 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 40%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_127____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo_____None__None___None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 40%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_128____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo_____None__None____steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 41%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_129____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo_____None__None____ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 41%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_130____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo_____7___exit_code_7_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 41%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_131____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo_____7___exit_code_7______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 41%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_132____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo_____7___exit_code_7______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 41%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_133____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo______Some_string_____Some_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 42%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_134____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo______Some_string_____Some_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 42%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_135____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo______Some_string_____Some_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 42%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_136____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo______παλιο_string_____παλιο_string_____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 42%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_137____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo______παλιο_string_____παλιο_string______steram__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 42%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_138____git____clone_____v____https___fakeuser_fakepassword1234_fakerepo_example_com_testrepo______παλιο_string_____παλιο_string______ομορφο_stream__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 42%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_139 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 43%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_140 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 43%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_141 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 43%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_142 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 43%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_143 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 43%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_144 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 44%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_145 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 44%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_146 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 44%]
../../../../dev/test/test_exc.py::TExc::test_CommandError_unicode_147 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 44%]
../../../../dev/test/test_exc.py::TExc::test_ExceptionsHaveBaseClass <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 44%]
../../../../dev/test/test_exc.py::TExc::test_GitCommandError_1____cmd1____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 45%]
../../../../dev/test/test_exc.py::TExc::test_GitCommandError_2____cmd1_____some_cause__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 45%]
../../../../dev/test/test_exc.py::TExc::test_GitCommandError_3 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 45%]
../../../../dev/test/test_exc.py::TExc::test_GitCommandNotFound_1____cmd1____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 45%]
../../../../dev/test/test_exc.py::TExc::test_GitCommandNotFound_2____cmd1_____some_cause__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 45%]
../../../../dev/test/test_exc.py::TExc::test_GitCommandNotFound_3 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 46%]
../../../../dev/test/test_exc.py::TExc::test_HookExecutionError_1____cmd1____None_ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 46%]
../../../../dev/test/test_exc.py::TExc::test_HookExecutionError_2____cmd1_____some_cause__ <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 46%]
../../../../dev/test/test_exc.py::TExc::test_HookExecutionError_3 <- ../build/python-gitpython/src/gitpython/test/test_exc.py PASSED [ 46%]
../../../../dev/test/test_fun.py::TestFun::test_aggressive_tree_merge <- ../build/python-gitpython/src/gitpython/test/test_fun.py PASSED [ 46%]
../../../../dev/test/test_fun.py::TestFun::test_linked_worktree_traversal <- ../build/python-gitpython/src/gitpython/test/test_fun.py PASSED [ 46%]
../../../../dev/test/test_fun.py::TestFun::test_stat_mode_to_index_mode <- ../build/python-gitpython/src/gitpython/test/test_fun.py PASSED [ 47%]
../../../../dev/test/test_fun.py::TestFun::test_three_way_merge <- ../build/python-gitpython/src/gitpython/test/test_fun.py PASSED [ 47%]
../../../../dev/test/test_fun.py::TestFun::test_tree_entries_from_data_with_failing_name_decode_py3 <- ../build/python-gitpython/src/gitpython/test/test_fun.py PASSED [ 47%]
../../../../dev/test/test_fun.py::TestFun::test_tree_traversal <- ../build/python-gitpython/src/gitpython/test/test_fun.py PASSED [ 47%]
../../../../dev/test/test_fun.py::TestFun::test_tree_traversal_single <- ../build/python-gitpython/src/gitpython/test/test_fun.py PASSED [ 47%]
../../../../dev/test/test_git.py::TestGit::test_call_process_calls_execute <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 48%]
../../../../dev/test/test_git.py::TestGit::test_call_unpack_args <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 48%]
../../../../dev/test/test_git.py::TestGit::test_call_unpack_args_unicode <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 48%]
../../../../dev/test/test_git.py::TestGit::test_change_to_transform_kwargs_does_not_break_command_options <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 48%]
../../../../dev/test/test_git.py::TestGit::test_cmd_override <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 48%]
../../../../dev/test/test_git.py::TestGit::test_env_vars_passed_to_git <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 49%]
../../../../dev/test/test_git.py::TestGit::test_environment <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 49%]
../../../../dev/test/test_git.py::TestGit::test_execute_kwargs_set_agrees_with_method <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 49%]
../../../../dev/test/test_git.py::TestGit::test_handle_process_output <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 49%]
../../../../dev/test/test_git.py::TestGit::test_insert_after_kwarg_raises <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 49%]
../../../../dev/test/test_git.py::TestGit::test_it_accepts_environment_variables <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 50%]
../../../../dev/test/test_git.py::TestGit::test_it_accepts_stdin <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 50%]
../../../../dev/test/test_git.py::TestGit::test_it_avoids_upcasing_unrelated_environment_variable_names <- ../build/python-gitpython/src/gitpython/test/test_git.py SKIPPED [ 50%]
../../../../dev/test/test_git.py::TestGit::test_it_executes_git_and_returns_result <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 50%]
../../../../dev/test/test_git.py::TestGit::test_it_executes_git_not_from_cwd <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 50%]
../../../../dev/test/test_git.py::TestGit::test_it_ignores_false_kwargs <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 50%]
../../../../dev/test/test_git.py::TestGit::test_it_logs_if_it_uses_a_shell_1__None__False_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 51%]
../../../../dev/test/test_git.py::TestGit::test_it_logs_if_it_uses_a_shell_2__None__True_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 51%]
../../../../dev/test/test_git.py::TestGit::test_it_logs_if_it_uses_a_shell_3__False__True_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 51%]
../../../../dev/test/test_git.py::TestGit::test_it_logs_if_it_uses_a_shell_4__False__False_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 51%]
../../../../dev/test/test_git.py::TestGit::test_it_logs_if_it_uses_a_shell_5__True__False_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 51%]
../../../../dev/test/test_git.py::TestGit::test_it_logs_if_it_uses_a_shell_6__True__True_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 52%]
../../../../dev/test/test_git.py::TestGit::test_it_logs_istream_summary_for_stdin_1___None___None_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 52%]
../../../../dev/test/test_git.py::TestGit::test_it_logs_istream_summary_for_stdin_2____valid_stream_____1_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 52%]
../../../../dev/test/test_git.py::TestGit::test_it_raises_errors <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 52%]
../../../../dev/test/test_git.py::TestGit::test_it_raises_proper_exception_with_output_stream <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 52%]
../../../../dev/test/test_git.py::TestGit::test_it_transforms_kwargs_into_git_command_arguments <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 53%]
../../../../dev/test/test_git.py::TestGit::test_it_uses_shell_or_not_as_specified_1__None__False__False_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 53%]
../../../../dev/test/test_git.py::TestGit::test_it_uses_shell_or_not_as_specified_2__None__True__True_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 53%]
../../../../dev/test/test_git.py::TestGit::test_it_uses_shell_or_not_as_specified_3__False__True__False_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 53%]
../../../../dev/test/test_git.py::TestGit::test_it_uses_shell_or_not_as_specified_4__False__False__False_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 53%]
../../../../dev/test/test_git.py::TestGit::test_it_uses_shell_or_not_as_specified_5__True__False__True_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 53%]
../../../../dev/test/test_git.py::TestGit::test_it_uses_shell_or_not_as_specified_6__True__True__True_ <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 54%]
../../../../dev/test/test_git.py::TestGit::test_options_are_passed_to_git <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 54%]
../../../../dev/test/test_git.py::TestGit::test_persistent_cat_file_command <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 54%]
../../../../dev/test/test_git.py::TestGit::test_persistent_options <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 54%]
../../../../dev/test/test_git.py::TestGit::test_refresh <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 54%]
../../../../dev/test/test_git.py::TestGit::test_single_char_git_options_are_passed_to_git <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 55%]
../../../../dev/test/test_git.py::TestGit::test_version <- ../build/python-gitpython/src/gitpython/test/test_git.py PASSED [ 55%]
../../../../dev/test/test_index.py::TestIndex::test__to_relative_path_at_root <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 55%]
../../../../dev/test/test_index.py::TestIndex::test_add_a_file_with_wildcard_chars <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 55%]
../../../../dev/test/test_index.py::TestIndex::test_add_utf8P_path <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 55%]
../../../../dev/test/test_index.py::TestIndex::test_commit_msg_hook_fail <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 56%]
../../../../dev/test/test_index.py::TestIndex::test_commit_msg_hook_success <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 56%]
../../../../dev/test/test_index.py::TestIndex::test_compare_write_tree <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 56%]
../../../../dev/test/test_index.py::TestIndex::test_index_add_pathlike <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 56%]
../../../../dev/test/test_index.py::TestIndex::test_index_bare_add <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 56%]
../../../../dev/test/test_index.py::TestIndex::test_index_file_base <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 57%]
../../../../dev/test/test_index.py::TestIndex::test_index_file_diffing <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 57%]
../../../../dev/test/test_index.py::TestIndex::test_index_file_from_tree <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 57%]
../../../../dev/test/test_index.py::TestIndex::test_index_lock_handling <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 57%]
../../../../dev/test/test_index.py::TestIndex::test_index_merge_tree <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 57%]
../../../../dev/test/test_index.py::TestIndex::test_index_mutation <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 57%]
../../../../dev/test/test_index.py::TestIndex::test_index_new <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 58%]
../../../../dev/test/test_index.py::TestIndex::test_index_single_addremove <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 58%]
../../../../dev/test/test_index.py::TestIndex::test_pre_commit_hook_fail <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 58%]
../../../../dev/test/test_index.py::TestIndex::test_pre_commit_hook_success <- ../build/python-gitpython/src/gitpython/test/test_index.py PASSED [ 58%]
../../../../dev/test/test_installation.py::TestInstallation::test_installation <- ../build/python-gitpython/src/gitpython/test/test_installation.py PASSED [ 58%]
../../../../dev/test/test_quick_doc.py::QuickDoc::test_cloned_repo_object <- ../build/python-gitpython/src/gitpython/test/test_quick_doc.py PASSED [ 59%]
../../../../dev/test/test_quick_doc.py::QuickDoc::test_init_repo_object <- ../build/python-gitpython/src/gitpython/test/test_quick_doc.py PASSED [ 59%]
../../../../dev/test/test_reflog.py::TestRefLog::test_base <- ../build/python-gitpython/src/gitpython/test/test_reflog.py PASSED [ 59%]
../../../../dev/test/test_reflog.py::TestRefLog::test_reflogentry <- ../build/python-gitpython/src/gitpython/test/test_reflog.py PASSED [ 59%]
../../../../dev/test/test_refs.py::TestRefs::test_dereference_recursive <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 59%]
../../../../dev/test/test_refs.py::TestRefs::test_from_path <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 60%]
../../../../dev/test/test_refs.py::TestRefs::test_head_checkout_detached_head <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 60%]
../../../../dev/test/test_refs.py::TestRefs::test_head_reset <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 60%]
../../../../dev/test/test_refs.py::TestRefs::test_heads <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 60%]
../../../../dev/test/test_refs.py::TestRefs::test_is_valid <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 60%]
../../../../dev/test/test_refs.py::TestRefs::test_orig_head <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 61%]
../../../../dev/test/test_refs.py::TestRefs::test_reflog <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 61%]
../../../../dev/test/test_refs.py::TestRefs::test_refs <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 61%]
../../../../dev/test/test_refs.py::TestRefs::test_refs_outside_repo <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 61%]
../../../../dev/test/test_refs.py::TestRefs::test_set_tracking_branch_with_import <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 61%]
../../../../dev/test/test_refs.py::TestRefs::test_tag_base <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 61%]
../../../../dev/test/test_refs.py::TestRefs::test_tag_message <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 62%]
../../../../dev/test/test_refs.py::TestRefs::test_tags <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 62%]
../../../../dev/test/test_refs.py::TestRefs::test_tags_author <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 62%]
../../../../dev/test/test_refs.py::TestRefs::test_validity_ref_names <- ../build/python-gitpython/src/gitpython/test/test_refs.py PASSED [ 62%]
../../../../dev/test/test_remote.py::TestRemote::test_add_unsafe_url <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 62%]
../../../../dev/test/test_remote.py::TestRemote::test_add_unsafe_url_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 63%]
../../../../dev/test/test_remote.py::TestRemote::test_base <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 63%]
../../../../dev/test/test_remote.py::TestRemote::test_create_remote_unsafe_url <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 63%]
../../../../dev/test/test_remote.py::TestRemote::test_create_remote_unsafe_url_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 63%]
../../../../dev/test/test_remote.py::TestRemote::test_creation_and_removal <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 63%]
../../../../dev/test/test_remote.py::TestRemote::test_fetch_error <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 64%]
../../../../dev/test/test_remote.py::TestRemote::test_fetch_info <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 64%]
../../../../dev/test/test_remote.py::TestRemote::test_fetch_unsafe_options <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 64%]
../../../../dev/test/test_remote.py::TestRemote::test_fetch_unsafe_options_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 64%]
../../../../dev/test/test_remote.py::TestRemote::test_fetch_unsafe_url <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 64%]
../../../../dev/test/test_remote.py::TestRemote::test_fetch_unsafe_url_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 65%]
../../../../dev/test/test_remote.py::TestRemote::test_multiple_urls <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 65%]
../../../../dev/test/test_remote.py::TestRemote::test_pull_unsafe_options <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 65%]
../../../../dev/test/test_remote.py::TestRemote::test_pull_unsafe_options_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 65%]
../../../../dev/test/test_remote.py::TestRemote::test_pull_unsafe_url <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 65%]
../../../../dev/test/test_remote.py::TestRemote::test_pull_unsafe_url_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 65%]
../../../../dev/test/test_remote.py::TestRemote::test_push_error <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 66%]
../../../../dev/test/test_remote.py::TestRemote::test_push_unsafe_options <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 66%]
../../../../dev/test/test_remote.py::TestRemote::test_push_unsafe_options_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 66%]
../../../../dev/test/test_remote.py::TestRemote::test_push_unsafe_url <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 66%]
../../../../dev/test/test_remote.py::TestRemote::test_push_unsafe_url_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 66%]
../../../../dev/test/test_remote.py::TestRemote::test_set_unsafe_url <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 67%]
../../../../dev/test/test_remote.py::TestRemote::test_set_unsafe_url_allowed <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 67%]
../../../../dev/test/test_remote.py::TestRemote::test_uncommon_branch_names <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 67%]
../../../../dev/test/test_remote.py::TestTimeouts::test_timeout_funcs <- ../build/python-gitpython/src/gitpython/test/test_remote.py PASSED [ 67%]
../../../../dev/test/test_repo.py::TestRepo::test_alternates <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 67%]
../../../../dev/test/test_repo.py::TestRepo::test_archive <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 68%]
../../../../dev/test/test_repo.py::TestRepo::test_bare_property <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 68%]
../../../../dev/test/test_repo.py::TestRepo::test_blame_accepts_rev_opts <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 68%]
../../../../dev/test/test_repo.py::TestRepo::test_blame_complex_revision <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 68%]
../../../../dev/test/test_repo.py::TestRepo::test_blame_incremental <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 68%]
../../../../dev/test/test_repo.py::TestRepo::test_blame_real <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 69%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_command_injection <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 69%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_command_injection <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 69%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_keeps_env <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 69%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_pathlib <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 69%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_pathlib_withConfig <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 69%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_safe_options <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 70%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_unsafe_options <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 70%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_unsafe_options_allowed <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 70%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_unsafe_protocol <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 70%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_unsafe_protocol_allowed <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 70%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_unsafe_protocol_allowed_and_enabled <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 71%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_from_with_path_contains_unicode <- ../build/python-gitpython/src/gitpython/test/test_repo.py FAILED [ 71%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_safe_options <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 71%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_unsafe_options <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 71%]
../../../../dev/test/test_repo.py::TestRepo::test_clone_unsafe_options_allowed <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 71%]
../../../../dev/test/test_repo.py::TestRepo::test_commit_from_revision <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 72%]
../../../../dev/test/test_repo.py::TestRepo::test_commits <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 72%]
../../../../dev/test/test_repo.py::TestRepo::test_comparison_and_hash <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 72%]
../../../../dev/test/test_repo.py::TestRepo::test_config_level_paths <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 72%]
../../../../dev/test/test_repo.py::TestRepo::test_config_reader <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 72%]
../../../../dev/test/test_repo.py::TestRepo::test_config_writer <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 73%]
../../../../dev/test/test_repo.py::TestRepo::test_creation_deletion <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 73%]
../../../../dev/test/test_repo.py::TestRepo::test_daemon_export <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 73%]
../../../../dev/test/test_repo.py::TestRepo::test_date_format <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 73%]
../../../../dev/test/test_repo.py::TestRepo::test_description <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 73%]
../../../../dev/test/test_repo.py::TestRepo::test_do_not_strip_newline_in_stdout <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 73%]
../../../../dev/test/test_repo.py::TestRepo::test_empty_repo <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 74%]
../../../../dev/test/test_repo.py::TestRepo::test_file_handle_leaks <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 74%]
../../../../dev/test/test_repo.py::TestRepo::test_git_cmd <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 74%]
../../../../dev/test/test_repo.py::TestRepo::test_git_file <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 74%]
../../../../dev/test/test_repo.py::TestRepo::test_git_work_tree_dotgit <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 74%]
../../../../dev/test/test_repo.py::TestRepo::test_git_work_tree_env <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 75%]
../../../../dev/test/test_repo.py::TestRepo::test_head <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 75%]
../../../../dev/test/test_repo.py::TestRepo::test_heads_should_populate_head_data <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 75%]
../../../../dev/test/test_repo.py::TestRepo::test_heads_should_return_array_of_head_objects <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 75%]
../../../../dev/test/test_repo.py::TestRepo::test_ignored_items_reported <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 75%]
../../../../dev/test/test_repo.py::TestRepo::test_ignored_raises_error_w_symlink <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 76%]
../../../../dev/test/test_repo.py::TestRepo::test_index <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 76%]
../../../../dev/test/test_repo.py::TestRepo::test_init <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 76%]
../../../../dev/test/test_repo.py::TestRepo::test_is_ancestor <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 76%]
../../../../dev/test/test_repo.py::TestRepo::test_is_dirty <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 76%]
../../../../dev/test/test_repo.py::TestRepo::test_is_dirty_pathspec <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 76%]
../../../../dev/test/test_repo.py::TestRepo::test_is_dirty_with_bare_repository <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 77%]
../../../../dev/test/test_repo.py::TestRepo::test_is_dirty_with_path <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 77%]
../../../../dev/test/test_repo.py::TestRepo::test_is_valid_object <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 77%]
../../../../dev/test/test_repo.py::TestRepo::test_leaking_password_in_clone_logs <- ../build/python-gitpython/src/gitpython/test/test_repo.py SKIPPED [ 77%]
../../../../dev/test/test_repo.py::TestRepo::test_max_chunk_size <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 77%]
../../../../dev/test/test_repo.py::TestRepo::test_merge_base <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 78%]
../../../../dev/test/test_repo.py::TestRepo::test_new_should_raise_on_invalid_repo_location <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 78%]
../../../../dev/test/test_repo.py::TestRepo::test_new_should_raise_on_non_existent_path <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 78%]
../../../../dev/test/test_repo.py::TestRepo::test_pickleable <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 78%]
../../../../dev/test/test_repo.py::TestRepo::test_rebasing <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 78%]
../../../../dev/test/test_repo.py::TestRepo::test_remote_method <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 79%]
../../../../dev/test/test_repo.py::TestRepo::test_repo_creation_from_different_paths <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 79%]
../../../../dev/test/test_repo.py::TestRepo::test_repo_creation_pathlib <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 79%]
../../../../dev/test/test_repo.py::TestRepo::test_repo_odbtype <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 79%]
../../../../dev/test/test_repo.py::TestRepo::test_repr <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 79%]
../../../../dev/test/test_repo.py::TestRepo::test_rev_parse <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 80%]
../../../../dev/test/test_repo.py::TestRepo::test_rw_rev_parse <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 80%]
../../../../dev/test/test_repo.py::TestRepo::test_should_display_blame_information <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 80%]
../../../../dev/test/test_repo.py::TestRepo::test_submodule_update <- ../build/python-gitpython/src/gitpython/test/test_repo.py FAILED [ 80%]
../../../../dev/test/test_repo.py::TestRepo::test_submodules <- ../build/python-gitpython/src/gitpython/test/test_repo.py FAILED [ 80%]
../../../../dev/test/test_repo.py::TestRepo::test_tag <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 80%]
../../../../dev/test/test_repo.py::TestRepo::test_tag_to_full_tag_path <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 81%]
../../../../dev/test/test_repo.py::TestRepo::test_tilde_and_env_vars_in_repo_path <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 81%]
../../../../dev/test/test_repo.py::TestRepo::test_tree_from_revision <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 81%]
../../../../dev/test/test_repo.py::TestRepo::test_trees <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 81%]
../../../../dev/test/test_repo.py::TestRepo::test_untracked_files <- ../build/python-gitpython/src/gitpython/test/test_repo.py PASSED [ 81%]
../../../../dev/test/test_stats.py::TestStats::test_list_from_string <- ../build/python-gitpython/src/gitpython/test/test_stats.py PASSED [ 82%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_add_clone_multi_options_argument <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 82%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_add_empty_repo <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 82%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_add_no_clone_multi_options_argument <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 82%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_base_bare <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 82%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_base_rw <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 83%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_branch_renames <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 83%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_depth <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 83%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_first_submodule <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 83%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_git_submodule_compatibility <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 83%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_ignore_non_submodule_file <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 84%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_remove_norefs <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 84%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_rename <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 84%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_root_module <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 84%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_submodule_add_unsafe_options <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 84%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_submodule_add_unsafe_options_allowed <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 84%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_submodule_add_unsafe_url <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 85%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_submodule_add_unsafe_url_allowed <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 85%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_submodule_update_unsafe_options <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 85%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_submodule_update_unsafe_options_allowed <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 85%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_submodule_update_unsafe_url <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 85%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_submodule_update_unsafe_url_allowed <- ../build/python-gitpython/src/gitpython/test/test_submodule.py PASSED [ 86%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_to_relative_path_with_super_at_root_drive <- ../build/python-gitpython/src/gitpython/test/test_submodule.py SKIPPED [ 86%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_update_clone_multi_options_argument <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 86%]
../../../../dev/test/test_submodule.py::TestSubmodule::test_update_no_clone_multi_options_argument <- ../build/python-gitpython/src/gitpython/test/test_submodule.py FAILED [ 86%]
../../../../dev/test/test_tree.py::TestTree::test_serializable <- ../build/python-gitpython/src/gitpython/test/test_tree.py PASSED [ 86%]
../../../../dev/test/test_tree.py::TestTree::test_traverse <- ../build/python-gitpython/src/gitpython/test/test_tree.py PASSED [ 87%]
../../../../dev/test/test_util.py::TestUtils::test_actor <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 87%]
../../../../dev/test/test_util.py::TestUtils::test_actor_from_string <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 87%]
../../../../dev/test/test_util.py::TestUtils::test_actor_get_uid_laziness_called <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 87%]
../../../../dev/test/test_util.py::TestUtils::test_actor_get_uid_laziness_not_called <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 87%]
../../../../dev/test/test_util.py::TestUtils::test_altz_to_utctz_str <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 88%]
../../../../dev/test/test_util.py::TestUtils::test_blocking_lock_file <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 88%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_invalids_1_C_ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 88%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_invalids_2_C_Relative <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 88%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_invalids_3_D_Apps_123 <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 88%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_invalids_4_D_Apps_123 <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 88%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_invalids_5_____a_rel <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 89%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_invalids_6___share_a_rel <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 89%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_norm_ok_1_____bar____bar__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 89%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_norm_ok_2______bar____bar__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 89%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_norm_ok_3______bar_______bar__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 89%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_norm_ok_4_______bar_______bar__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 90%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_norm_ok_5______bar____foo____chu_______bar_chu__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 90%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_01___foo__bar____foo_bar__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 90%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_02___foo_bar____foo_bar__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 90%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_03___C___Users_____cygdrive_c_Users__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 90%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_04___C___d_e_____cygdrive_c_d_e__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 91%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_05___C________cygdrive_c___ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 91%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_06_______server__C___Users______server_C__Users__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 91%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_07_______server__C_______server_C___ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 91%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_08_______server__c_________server_c____ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 91%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_09_______server__BAR_______server_BAR___ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 92%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_10___D__Apps_____cygdrive_d_Apps__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 92%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_11___D__Apps__fOO_____cygdrive_d_Apps_fOO__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 92%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_12___D___Apps_123_____cygdrive_d_Apps_123__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 92%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_13__________a___com_____cygdrive_a_com__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 92%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_14__________a__com_____cygdrive_a_com__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 92%]
../../../../dev/test/test_util.py::TestUtils::test_cygpath_ok_15__________UNC__server__D___Apps______server_D__Apps__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 93%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_01___foo__bar____foo_bar__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 93%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_02___foo_bar____foo_bar__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 93%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_03___C___Users_____cygdrive_c_Users__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 93%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_04___C___d_e_____cygdrive_c_d_e__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 93%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_05___C________cygdrive_c___ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 94%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_06_______server__C___Users______server_C__Users__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 94%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_07_______server__C_______server_C___ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 94%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_08_______server__c_________server_c____ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 94%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_09_______server__BAR_______server_BAR___ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 94%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_10___D__Apps_____cygdrive_d_Apps__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 95%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_11___D__Apps__fOO_____cygdrive_d_Apps_fOO__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 95%]
../../../../dev/test/test_util.py::TestUtils::test_decygpath_12___D___Apps_123_____cygdrive_d_Apps_123__ <- ../build/python-gitpython/src/gitpython/test/test_util.py SKIPPED [ 95%]
../../../../dev/test/test_util.py::TestUtils::test_env_vars_for_windows_tests_1_HIDE_WINDOWS_KNOWN_ERRORS <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 95%]
../../../../dev/test/test_util.py::TestUtils::test_env_vars_for_windows_tests_2_HIDE_WINDOWS_FREEZE_ERRORS <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 95%]
../../../../dev/test/test_util.py::TestUtils::test_from_timestamp <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 96%]
../../../../dev/test/test_util.py::TestUtils::test_it_should_dashify <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 96%]
../../../../dev/test/test_util.py::TestUtils::test_iterable_list_1___name______ <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 96%]
../../../../dev/test/test_util.py::TestUtils::test_iterable_list_2___name____prefix___ <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 96%]
../../../../dev/test/test_util.py::TestUtils::test_lock_file <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 96%]
../../../../dev/test/test_util.py::TestUtils::test_parse_date <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 96%]
../../../../dev/test/test_util.py::TestUtils::test_pickle_tzoffset <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 97%]
../../../../dev/test/test_util.py::TestUtils::test_remove_password_from_command_line <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 97%]
../../../../dev/test/test_util.py::TestUtils::test_rmtree_can_wrap_exceptions <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 97%]
../../../../dev/test/test_util.py::TestUtils::test_rmtree_deletes_dir_with_readonly_files <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 97%]
../../../../dev/test/test_util.py::TestUtils::test_rmtree_deletes_nested_dir_with_files <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 97%]
../../../../dev/test/test_util.py::TestUtils::test_rmtree_does_not_wrap_unless_called_for_1 <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 98%]
../../../../dev/test/test_util.py::TestUtils::test_rmtree_does_not_wrap_unless_called_for_2 <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 98%]
../../../../dev/test/test_util.py::TestUtils::test_rmtree_does_not_wrap_unless_called_for_3 <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 98%]
../../../../dev/test/test_util.py::TestUtils::test_user_id <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 98%]
../../../../dev/test/test_util.py::TestUtils::test_utctz_to_altz <- ../build/python-gitpython/src/gitpython/test/test_util.py PASSED [ 98%]
../../../../dev/test/performance/test_commit.py::TestPerformance::test_commit_iteration <- ../build/python-gitpython/src/gitpython/test/performance/test_commit.py PASSED [ 99%]
../../../../dev/test/performance/test_commit.py::TestPerformance::test_commit_serialization <- ../build/python-gitpython/src/gitpython/test/performance/test_commit.py PASSED [ 99%]
../../../../dev/test/performance/test_commit.py::TestPerformance::test_commit_traversal <- ../build/python-gitpython/src/gitpython/test/performance/test_commit.py PASSED [ 99%]
../../../../dev/test/performance/test_commit.py::TestPerformance::test_iteration <- ../build/python-gitpython/src/gitpython/test/performance/test_commit.py PASSED [ 99%]
../../../../dev/test/performance/test_odb.py::TestObjDBPerformance::test_random_access <- ../build/python-gitpython/src/gitpython/test/performance/test_odb.py PASSED [ 99%]
../../../../dev/test/performance/test_streams.py::TestObjDBPerformance::test_large_data_streaming <- ../build/python-gitpython/src/gitpython/test/performance/test_streams.py PASSED [100%]

=================================== FAILURES ===================================
____________________ Tutorials.test_references_and_objects _____________________

self = <test.test_docs.Tutorials testMethod=test_references_and_objects>
rw_dir = '/tmp/test_references_and_objectsdakozrpt'

    @with_rw_directory
    def test_references_and_objects(self, rw_dir):
        # [1-test_references_and_objects]
        import git
    
>       repo = git.Repo.clone_from(self._small_repo_url(), os.path.join(rw_dir, "repo"), branch="master")

test/test_docs.py:218: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab245272d80>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
E             cmdline: git clone -v --branch=master -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_references_and_objectsdakozrpt/repo
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
__________________________ Tutorials.test_submodules ___________________________

self = <test.test_docs.Tutorials testMethod=test_submodules>

    @pytest.mark.xfail(
        sys.platform == "cygwin",
        reason="Cygwin GitPython can't find SHA for submodule",
        raises=ValueError,
    )
    def test_submodules(self):
        # [1-test_submodules]
        repo = self.rorepo
        sms = repo.submodules
    
        assert len(sms) == 1
        sm = sms[0]
        self.assertEqual(sm.name, "gitdb")  # git-python has gitdb as single submodule ...
>       self.assertEqual(sm.children()[0].name, "smmap")  # ... which has smmap as single submodule

test/test_docs.py:497: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = [], index = 0

    def __getitem__(self, index: Union[SupportsIndex, int, slice, str]) -> T_IterableObj:  # type: ignore
        assert isinstance(index, (int, str, slice)), "Index of IterableList should be an int or str"
    
        if isinstance(index, int):
>           return list.__getitem__(self, index)
E           IndexError: list index out of range

git/util.py:1120: IndexError
_____________ TestRepo.test_clone_from_with_path_contains_unicode ______________

self = <test.test_repo.TestRepo testMethod=test_clone_from_with_path_contains_unicode>

    def test_clone_from_with_path_contains_unicode(self):
        with tempfile.TemporaryDirectory() as tmpdir:
            unicode_dir_name = "\u0394"
            path_with_unicode = os.path.join(tmpdir, unicode_dir_name)
            os.makedirs(path_with_unicode)
    
            try:
>               Repo.clone_from(
                    url=self._small_repo_url(),
                    to_path=path_with_unicode,
                )

test/test_repo.py:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab2452a7500>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/tmpb0ls4k1e/Δ
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
________________________ TestRepo.test_submodule_update ________________________

self = <test.test_repo.TestRepo testMethod=test_submodule_update>
rwrepo = <git.repo.base.Repo '/tmp/non_bare_test_submodule_updateh8kxbib9/.git'>

    @with_rw_repo("HEAD", bare=False)
    def test_submodule_update(self, rwrepo):
        # fails in bare mode
        rwrepo._bare = True
        self.assertRaises(InvalidGitRepositoryError, rwrepo.submodule_update)
        rwrepo._bare = False
    
        # test create submodule
        sm = rwrepo.submodules[0]
>       sm = rwrepo.create_submodule(
            "my_new_sub",
            "some_path",
            join_path_native(self.rorepo.working_tree_dir, sm.path),
        )

test/test_repo.py:1124: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/repo/base.py:441: in create_submodule
    return Submodule.add(self, *args, **kwargs)
git/objects/submodule/base.py:492: in add
    mrepo = cls._clone_repo(
git/objects/submodule/base.py:296: in _clone_repo
    clone = git.Repo.clone_from(
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab244b8a300>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v --separate-git-dir=/tmp/non_bare_test_submodule_updateh8kxbib9/.git/modules/my_new_sub -- /build/python-gitpython/src/gitpython/git/ext/gitdb /tmp/non_bare_test_submodule_updateh8kxbib9/some_path
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb' does not exist
E           '

git/cmd.py:600: GitCommandError
___________________________ TestRepo.test_submodules ___________________________

self = <test.test_repo.TestRepo testMethod=test_submodules>

    @pytest.mark.xfail(
        sys.platform == "cygwin",
        reason="Cygwin GitPython can't find submodule SHA",
        raises=ValueError,
    )
    def test_submodules(self):
        self.assertEqual(len(self.rorepo.submodules), 1)  # non-recursive
>       self.assertGreaterEqual(len(list(self.rorepo.iter_submodules())), 2)
E       AssertionError: 1 not greater than or equal to 2

test/test_repo.py:1110: AssertionError
_____________ TestSubmodule.test_add_clone_multi_options_argument ______________

self = <test.test_submodule.TestSubmodule testMethod=test_add_clone_multi_options_argument>
rwdir = '/tmp/test_add_clone_multi_options_argument5e67fli0'

    @with_rw_directory
    def test_add_clone_multi_options_argument(self, rwdir):
        # Arrange
        parent = git.Repo.init(osp.join(rwdir, "parent"))
        sm_name = "foo"
    
        # Act
>       Submodule.add(
            parent,
            sm_name,
            sm_name,
            url=self._small_repo_url(),
            clone_multi_options=["--config core.eol=true"],
            allow_unsafe_options=True,
        )

test/test_submodule.py:1123: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/objects/submodule/base.py:492: in add
    mrepo = cls._clone_repo(
git/objects/submodule/base.py:296: in _clone_repo
    clone = git.Repo.clone_from(
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab244e13c00>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v --separate-git-dir=/tmp/test_add_clone_multi_options_argument5e67fli0/parent/.git/modules/foo --config core.eol=true -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_add_clone_multi_options_argument5e67fli0/parent/foo
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
____________ TestSubmodule.test_add_no_clone_multi_options_argument ____________

self = <test.test_submodule.TestSubmodule testMethod=test_add_no_clone_multi_options_argument>
rwdir = '/tmp/test_add_no_clone_multi_options_argument8wztq149'

    @with_rw_directory
    def test_add_no_clone_multi_options_argument(self, rwdir):
        # Arrange
        parent = git.Repo.init(osp.join(rwdir, "parent"))
        sm_name = "foo"
    
        # Act
>       Submodule.add(parent, sm_name, sm_name, url=self._small_repo_url())

test/test_submodule.py:1143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/objects/submodule/base.py:492: in add
    mrepo = cls._clone_repo(
git/objects/submodule/base.py:296: in _clone_repo
    clone = git.Repo.clone_from(
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab244c24500>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v --separate-git-dir=/tmp/test_add_no_clone_multi_options_argument8wztq149/parent/.git/modules/foo -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_add_no_clone_multi_options_argument8wztq149/parent/foo
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
__________________________ TestSubmodule.test_base_rw __________________________

self = git.Submodule(name=gitdb, path=git/ext/gitdb, url=/build/python-gitpython/src/gitpython/git/ext/gitdb, branch_path=refs/heads/master)

    @unbare_repo
    def module(self) -> "Repo":
        """:return: Repo instance initialized from the repository at our submodule path
        :raise InvalidGitRepositoryError: if a repository was not available. This could
            also mean that it was not yet initialized"""
        # late import to workaround circular dependencies
        module_checkout_abspath = self.abspath
        try:
>           repo = git.Repo(module_checkout_abspath)

git/objects/submodule/base.py:1224: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Repo' object has no attribute 'git_dir'") raised in repr()] Repo object at 0x6ab245099610>
path = '/tmp/non_bare_test_base_rwiewg8i0o/git/ext/gitdb'
odbt = <class 'git.db.GitCmdObjectDB'>, search_parent_directories = False
expand_vars = True

    def __init__(
        self,
        path: Optional[PathLike] = None,
        odbt: Type[LooseObjectDB] = GitCmdObjectDB,
        search_parent_directories: bool = False,
        expand_vars: bool = True,
    ) -> None:
        """Create a new Repo instance
    
        :param path:
            the path to either the root git directory or the bare git repo::
    
                repo = Repo("/Users/mtrier/Development/git-python")
                repo = Repo("/Users/mtrier/Development/git-python.git")
                repo = Repo("~/Development/git-python.git")
                repo = Repo("$REPOSITORIES/Development/git-python.git")
                repo = Repo("C:\\Users\\mtrier\\Development\\git-python\\.git")
    
            - In *Cygwin*, path may be a `'cygdrive/...'` prefixed path.
            - If it evaluates to false, :envvar:`GIT_DIR` is used, and if this also evals to false,
              the current-directory is used.
        :param odbt:
            Object DataBase type - a type which is constructed by providing
            the directory containing the database objects, i.e. .git/objects. It will
            be used to access all object data
        :param search_parent_directories:
            if True, all parent directories will be searched for a valid repo as well.
    
            Please note that this was the default behaviour in older versions of GitPython,
            which is considered a bug though.
        :raise InvalidGitRepositoryError:
        :raise NoSuchPathError:
        :return: git.Repo"""
    
        epath = path or os.getenv("GIT_DIR")
        if not epath:
            epath = os.getcwd()
        if Git.is_cygwin():
            # Given how the tests are written, this seems more likely to catch
            # Cygwin git used from Windows than Windows git used from Cygwin.
            # Therefore changing to Cygwin-style paths is the relevant operation.
            epath = cygpath(epath)
    
        epath = epath or path or os.getcwd()
        if not isinstance(epath, str):
            epath = str(epath)
        if expand_vars and re.search(self.re_envvars, epath):
            warnings.warn(
                "The use of environment variables in paths is deprecated"
                + "\nfor security reasons and may be removed in the future!!",
                stacklevel=1,
            )
        epath = expand_path(epath, expand_vars)
        if epath is not None:
            if not os.path.exists(epath):
                raise NoSuchPathError(epath)
    
        ## Walk up the path to find the `.git` dir.
        #
        curpath = epath
        git_dir = None
        while curpath:
            # ABOUT osp.NORMPATH
            # It's important to normalize the paths, as submodules will otherwise initialize their
            # repo instances with paths that depend on path-portions that will not exist after being
            # removed. It's just cleaner.
            if is_git_dir(curpath):
                git_dir = curpath
                # from man git-config : core.worktree
                # Set the path to the root of the working tree. If GIT_COMMON_DIR environment
                # variable is set, core.worktree is ignored and not used for determining the
                # root of working tree. This can be overridden by the GIT_WORK_TREE environment
                # variable. The value can be an absolute path or relative to the path to the .git
                # directory, which is either specified by GIT_DIR, or automatically discovered.
                # If GIT_DIR is specified but none of GIT_WORK_TREE and core.worktree is specified,
                # the current working directory is regarded as the top level of your working tree.
                self._working_tree_dir = os.path.dirname(git_dir)
                if os.environ.get("GIT_COMMON_DIR") is None:
                    gitconf = self._config_reader("repository", git_dir)
                    if gitconf.has_option("core", "worktree"):
                        self._working_tree_dir = gitconf.get("core", "worktree")
                if "GIT_WORK_TREE" in os.environ:
                    self._working_tree_dir = os.getenv("GIT_WORK_TREE")
                break
    
            dotgit = osp.join(curpath, ".git")
            sm_gitpath = find_submodule_git_dir(dotgit)
            if sm_gitpath is not None:
                git_dir = osp.normpath(sm_gitpath)
    
            sm_gitpath = find_submodule_git_dir(dotgit)
            if sm_gitpath is None:
                sm_gitpath = find_worktree_git_dir(dotgit)
    
            if sm_gitpath is not None:
                git_dir = expand_path(sm_gitpath, expand_vars)
                self._working_tree_dir = curpath
                break
    
            if not search_parent_directories:
                break
            curpath, tail = osp.split(curpath)
            if not tail:
                break
        # END while curpath
    
        if git_dir is None:
>           raise InvalidGitRepositoryError(epath)
E           git.exc.InvalidGitRepositoryError: /tmp/non_bare_test_base_rwiewg8i0o/git/ext/gitdb

git/repo/base.py:267: InvalidGitRepositoryError

The above exception was the direct cause of the following exception:

self = git.Submodule(name=gitdb, path=git/ext/gitdb, url=/build/python-gitpython/src/gitpython/git/ext/gitdb, branch_path=refs/heads/master)
recursive = False, init = True, to_latest_revision = False
progress = <git.objects.submodule.base.UpdateProgress object at 0x6ab245128f80>
dry_run = False, force = False, keep_going = False, env = None
clone_multi_options = None, allow_unsafe_options = False
allow_unsafe_protocols = False

    def update(
        self,
        recursive: bool = False,
        init: bool = True,
        to_latest_revision: bool = False,
        progress: Union["UpdateProgress", None] = None,
        dry_run: bool = False,
        force: bool = False,
        keep_going: bool = False,
        env: Union[Mapping[str, str], None] = None,
        clone_multi_options: Union[Sequence[TBD], None] = None,
        allow_unsafe_options: bool = False,
        allow_unsafe_protocols: bool = False,
    ) -> "Submodule":
        """Update the repository of this submodule to point to the checkout
        we point at with the binsha of this instance.
    
        :param recursive: if True, we will operate recursively and update child-
            modules as well.
        :param init: if True, the module repository will be cloned into place if necessary
        :param to_latest_revision: if True, the submodule's sha will be ignored during checkout.
            Instead, the remote will be fetched, and the local tracking branch updated.
            This only works if we have a local tracking branch, which is the case
            if the remote repository had a master branch, or of the 'branch' option
            was specified for this submodule and the branch existed remotely
        :param progress: UpdateProgress instance or None if no progress should be shown
        :param dry_run: if True, the operation will only be simulated, but not performed.
            All performed operations are read - only
        :param force:
            If True, we may reset heads even if the repository in question is dirty. Additinoally we will be allowed
            to set a tracking branch which is ahead of its remote branch back into the past or the location of the
            remote branch. This will essentially 'forget' commits.
            If False, local tracking branches that are in the future of their respective remote branches will simply
            not be moved.
        :param keep_going: if True, we will ignore but log all errors, and keep going recursively.
            Unless dry_run is set as well, keep_going could cause subsequent / inherited errors you wouldn't see
            otherwise.
            In conjunction with dry_run, it can be useful to anticipate all errors when updating submodules
        :param env: Optional dictionary containing the desired environment variables.
            Note: Provided variables will be used to update the execution
            environment for `git`. If some variable is not specified in `env`
            and is defined in `os.environ`, value from `os.environ` will be used.
            If you want to unset some variable, consider providing empty string
            as its value.
        :param clone_multi_options:  list of Clone options. Please see ``git.repo.base.Repo.clone``
            for details. Only take effect with `init` option.
        :param allow_unsafe_protocols: Allow unsafe protocols to be used, like ext
        :param allow_unsafe_options: Allow unsafe options to be used, like --upload-pack
        :note: does nothing in bare repositories
        :note: method is definitely not atomic if recurisve is True
        :return: self"""
        if self.repo.bare:
            return self
        # END pass in bare mode
    
        if progress is None:
            progress = UpdateProgress()
        # END handle progress
        prefix = ""
        if dry_run:
            prefix = "DRY-RUN: "
        # END handle prefix
    
        # to keep things plausible in dry-run mode
        if dry_run:
            mrepo = None
        # END init mrepo
    
        try:
            # ASSURE REPO IS PRESENT AND UPTODATE
            #####################################
            try:
>               mrepo = self.module()

git/objects/submodule/base.py:607: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/util.py:156: in wrapper
    return func(self, *args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = git.Submodule(name=gitdb, path=git/ext/gitdb, url=/build/python-gitpython/src/gitpython/git/ext/gitdb, branch_path=refs/heads/master)

    @unbare_repo
    def module(self) -> "Repo":
        """:return: Repo instance initialized from the repository at our submodule path
        :raise InvalidGitRepositoryError: if a repository was not available. This could
            also mean that it was not yet initialized"""
        # late import to workaround circular dependencies
        module_checkout_abspath = self.abspath
        try:
            repo = git.Repo(module_checkout_abspath)
            if repo != self.repo:
                return repo
            # END handle repo uninitialized
        except (InvalidGitRepositoryError, NoSuchPathError) as e:
>           raise InvalidGitRepositoryError("No valid repository at %s" % module_checkout_abspath) from e
E           git.exc.InvalidGitRepositoryError: No valid repository at /tmp/non_bare_test_base_rwiewg8i0o/git/ext/gitdb

git/objects/submodule/base.py:1229: InvalidGitRepositoryError

During handling of the above exception, another exception occurred:

self = <test.test_submodule.TestSubmodule testMethod=test_base_rw>
rwrepo = <git.repo.base.Repo '/tmp/non_bare_test_base_rwiewg8i0o/.git'>

    @with_rw_repo(k_subm_current)
    def test_base_rw(self, rwrepo):
>       self._do_base_tests(rwrepo)

test/test_submodule.py:469: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/test_submodule.py:195: in _do_base_tests
    assert sm.update() is sm
git/objects/submodule/base.py:665: in update
    mrepo = self._clone_repo(
git/objects/submodule/base.py:296: in _clone_repo
    clone = git.Repo.clone_from(
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab244f39280>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v -n --separate-git-dir=/tmp/non_bare_test_base_rwiewg8i0o/.git/modules/gitdb -- /build/python-gitpython/src/gitpython/git/ext/gitdb /tmp/non_bare_test_base_rwiewg8i0o/git/ext/gitdb
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb' does not exist
E           '

git/cmd.py:600: GitCommandError
----------------------------- Captured stdout call -----------------------------
513 0 1 DRY-RUN: Cloning url '/build/python-gitpython/src/gitpython/git/ext/gitdb' to '/tmp/non_bare_test_base_rwiewg8i0o/git/ext/gitdb' in submodule 'gitdb'
514 0 1 DRY-RUN: Done cloning to /tmp/non_bare_test_base_rwiewg8i0o/git/ext/gitdb
______________________ TestSubmodule.test_branch_renames _______________________

self = <test.test_submodule.TestSubmodule testMethod=test_branch_renames>
rw_dir = '/tmp/test_branch_renameszmw6yg8i'

    @with_rw_directory
    def test_branch_renames(self, rw_dir):
        # Setup initial sandbox:
        # parent repo has one submodule, which has all the latest changes
        source_url = self._small_repo_url()
>       sm_source_repo = git.Repo.clone_from(source_url, osp.join(rw_dir, "sm-source"), b="master")

test/test_submodule.py:983: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab2441dde00>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v -b master -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_branch_renameszmw6yg8i/sm-source
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
___________________________ TestSubmodule.test_depth ___________________________

self = <test.test_submodule.TestSubmodule testMethod=test_depth>
rwdir = '/tmp/test_depthewgeexr3'

    @pytest.mark.xfail(
        reason="for some unknown reason the assertion fails, even though it in fact is working in more common setup",
        raises=AssertionError,
    )
    @with_rw_directory
    def test_depth(self, rwdir):
        parent = git.Repo.init(osp.join(rwdir, "test_depth"))
        sm_name = "mymodules/myname"
        sm_depth = 1
>       sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url(), depth=sm_depth)

test/test_submodule.py:1064: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/repo/base.py:441: in create_submodule
    return Submodule.add(self, *args, **kwargs)
git/objects/submodule/base.py:492: in add
    mrepo = cls._clone_repo(
git/objects/submodule/base.py:296: in _clone_repo
    clone = git.Repo.clone_from(
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab2440a7540>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v --depth=1 --separate-git-dir=/tmp/test_depthewgeexr3/test_depth/.git/modules/mymodules/myname -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_depthewgeexr3/test_depth/mymodules/myname
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
________________ TestSubmodule.test_git_submodule_compatibility ________________

self = <test.test_submodule.TestSubmodule testMethod=test_git_submodule_compatibility>
rwdir = '/tmp/test_git_submodule_compatibilitynp5g_td2'

    @pytest.mark.xfail(
        HIDE_WINDOWS_KNOWN_ERRORS,
        reason='"The process cannot access the file because it is being used by another process" on call to sm.move',
        raises=PermissionError,
    )
    @with_rw_directory
    def test_git_submodule_compatibility(self, rwdir):
        parent = git.Repo.init(osp.join(rwdir, "parent"))
        sm_path = join_path_native("submodules", "intermediate", "one")
>       sm = parent.create_submodule("mymodules/myname", sm_path, url=self._small_repo_url())

test/test_submodule.py:834: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/repo/base.py:441: in create_submodule
    return Submodule.add(self, *args, **kwargs)
git/objects/submodule/base.py:492: in add
    mrepo = cls._clone_repo(
git/objects/submodule/base.py:296: in _clone_repo
    clone = git.Repo.clone_from(
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab245129c40>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v --separate-git-dir=/tmp/test_git_submodule_compatibilitynp5g_td2/parent/.git/modules/mymodules/myname -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_git_submodule_compatibilitynp5g_td2/parent/submodules/intermediate/one
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
_______________________ TestSubmodule.test_remove_norefs _______________________

self = <test.test_submodule.TestSubmodule testMethod=test_remove_norefs>
rwdir = '/tmp/test_remove_norefsjdvcf6f7'

    @with_rw_directory
    def test_remove_norefs(self, rwdir):
        parent = git.Repo.init(osp.join(rwdir, "parent"))
        sm_name = "mymodules/myname"
>       sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url())

test/test_submodule.py:941: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/repo/base.py:441: in create_submodule
    return Submodule.add(self, *args, **kwargs)
git/objects/submodule/base.py:492: in add
    mrepo = cls._clone_repo(
git/objects/submodule/base.py:296: in _clone_repo
    clone = git.Repo.clone_from(
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab23f72be40>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v --separate-git-dir=/tmp/test_remove_norefsjdvcf6f7/parent/.git/modules/mymodules/myname -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_remove_norefsjdvcf6f7/parent/mymodules/myname
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
__________________________ TestSubmodule.test_rename ___________________________

self = <test.test_submodule.TestSubmodule testMethod=test_rename>
rwdir = '/tmp/test_rename3fo5xmyx'

    @with_rw_directory
    def test_rename(self, rwdir):
        parent = git.Repo.init(osp.join(rwdir, "parent"))
        sm_name = "mymodules/myname"
>       sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url())

test/test_submodule.py:959: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
git/repo/base.py:441: in create_submodule
    return Submodule.add(self, *args, **kwargs)
git/objects/submodule/base.py:492: in add
    mrepo = cls._clone_repo(
git/objects/submodule/base.py:296: in _clone_repo
    clone = git.Repo.clone_from(
git/repo/base.py:1328: in clone_from
    return cls._clone(
git/repo/base.py:1237: in _clone
    finalize_process(proc, stderr=stderr)
git/util.py:453: in finalize_process
    proc.wait(**kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <git.cmd.Git.AutoInterrupt object at 0x6ab2450ead00>
stderr = "fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist\n"

    def wait(self, stderr: Union[None, str, bytes] = b"") -> int:
        """Wait for the process and return its status code.
    
        :param stderr: Previously read value of stderr, in case stderr is already closed.
        :warn: May deadlock if output or error pipes are used and not handled separately.
        :raise GitCommandError: if the return status is not 0"""
        if stderr is None:
            stderr_b = b""
        stderr_b = force_bytes(data=stderr, encoding="utf-8")
        status: Union[int, None]
        if self.proc is not None:
            status = self.proc.wait()
            p_stderr = self.proc.stderr
        else:  # Assume the underlying proc was killed earlier or never existed
            status = self.status
            p_stderr = None
    
        def read_all_from_possibly_closed_stream(stream: Union[IO[bytes], None]) -> bytes:
            if stream:
                try:
                    return stderr_b + force_bytes(stream.read())
                except (OSError, ValueError):
                    return stderr_b or b""
            else:
                return stderr_b or b""
    
        # END status handling
    
        if status != 0:
            errstr = read_all_from_possibly_closed_stream(p_stderr)
            log.debug("AutoInterrupt wait stderr: %r" % (errstr,))
>           raise GitCommandError(remove_password_if_present(self.args), status, errstr)
E           git.exc.GitCommandError: Cmd('/usr/bin/git') failed due to: exit code(128)
E             cmdline: /usr/bin/git clone -v --separate-git-dir=/tmp/test_rename3fo5xmyx/parent/.git/modules/mymodules/myname -- /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_rename3fo5xmyx/parent/mymodules/myname
E             stderr: 'fatal: repository '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap' does not exist
E           '

git/cmd.py:600: GitCommandError
________________________ TestSubmodule.test_root_module ________________________

self = <test.test_submodule.TestSubmodule testMethod=test_root_module>
rwrepo = <git.repo.base.Repo '/tmp/non_bare_test_root_moduleny4h2g73/.git'>

    @pytest.mark.xfail(
        sys.platform == "cygwin",
        reason="Cygwin GitPython can't find submodule SHA",
        raises=ValueError,
    )
    @pytest.mark.xfail(
        HIDE_WINDOWS_KNOWN_ERRORS,
        reason=(
            '"The process cannot access the file because it is being used by another process"'
            + " on first call to rm.update"
        ),
        raises=PermissionError,
    )
    @with_rw_repo(k_subm_current, bare=False)
    def test_root_module(self, rwrepo):
        # Can query everything without problems
        rm = RootModule(self.rorepo)
        assert rm.module() is self.rorepo
    
        # try attributes
        rm.binsha
        rm.mode
        rm.path
        assert rm.name == rm.k_root_name
        assert rm.parent_commit == self.rorepo.head.commit
        rm.url
        rm.branch
    
        assert len(rm.list_items(rm.module())) == 1
        rm.config_reader()
        with rm.config_writer():
            pass
    
        # deep traversal gitdb / async
        rsmsp = [sm.path for sm in rm.traverse()]
>       assert len(rsmsp) >= 2  # gitdb and async [and smmap], async being a child of gitdb
E       AssertionError: assert 1 >= 2
E        +  where 1 = len(['git/ext/gitdb'])

test/test_submodule.py:510: AssertionError
____________ TestSubmodule.test_update_clone_multi_options_argument ____________

self = <test.test_submodule.TestSubmodule testMethod=test_update_clone_multi_options_argument>
rwdir = '/tmp/test_update_clone_multi_options_argumentcdvdhcx2'

    @with_rw_directory
    def test_update_clone_multi_options_argument(self, rwdir):
        # Arrange
        parent = git.Repo.init(osp.join(rwdir, "parent"))
        sm_name = "foo"
        sm_url = self._small_repo_url()
        sm_branch = "refs/heads/master"
>       sm_hexsha = git.Repo(self._small_repo_url()).head.commit.hexsha

test/test_submodule.py:1074: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Repo' object has no attribute 'git_dir'") raised in repr()] Repo object at 0x6ab245204b90>
path = '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap'
odbt = <class 'git.db.GitCmdObjectDB'>, search_parent_directories = False
expand_vars = True

    def __init__(
        self,
        path: Optional[PathLike] = None,
        odbt: Type[LooseObjectDB] = GitCmdObjectDB,
        search_parent_directories: bool = False,
        expand_vars: bool = True,
    ) -> None:
        """Create a new Repo instance
    
        :param path:
            the path to either the root git directory or the bare git repo::
    
                repo = Repo("/Users/mtrier/Development/git-python")
                repo = Repo("/Users/mtrier/Development/git-python.git")
                repo = Repo("~/Development/git-python.git")
                repo = Repo("$REPOSITORIES/Development/git-python.git")
                repo = Repo("C:\\Users\\mtrier\\Development\\git-python\\.git")
    
            - In *Cygwin*, path may be a `'cygdrive/...'` prefixed path.
            - If it evaluates to false, :envvar:`GIT_DIR` is used, and if this also evals to false,
              the current-directory is used.
        :param odbt:
            Object DataBase type - a type which is constructed by providing
            the directory containing the database objects, i.e. .git/objects. It will
            be used to access all object data
        :param search_parent_directories:
            if True, all parent directories will be searched for a valid repo as well.
    
            Please note that this was the default behaviour in older versions of GitPython,
            which is considered a bug though.
        :raise InvalidGitRepositoryError:
        :raise NoSuchPathError:
        :return: git.Repo"""
    
        epath = path or os.getenv("GIT_DIR")
        if not epath:
            epath = os.getcwd()
        if Git.is_cygwin():
            # Given how the tests are written, this seems more likely to catch
            # Cygwin git used from Windows than Windows git used from Cygwin.
            # Therefore changing to Cygwin-style paths is the relevant operation.
            epath = cygpath(epath)
    
        epath = epath or path or os.getcwd()
        if not isinstance(epath, str):
            epath = str(epath)
        if expand_vars and re.search(self.re_envvars, epath):
            warnings.warn(
                "The use of environment variables in paths is deprecated"
                + "\nfor security reasons and may be removed in the future!!",
                stacklevel=1,
            )
        epath = expand_path(epath, expand_vars)
        if epath is not None:
            if not os.path.exists(epath):
>               raise NoSuchPathError(epath)
E               git.exc.NoSuchPathError: /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap

git/repo/base.py:215: NoSuchPathError
__________ TestSubmodule.test_update_no_clone_multi_options_argument ___________

self = <test.test_submodule.TestSubmodule testMethod=test_update_no_clone_multi_options_argument>
rwdir = '/tmp/test_update_no_clone_multi_options_argument74895xtz'

    @with_rw_directory
    def test_update_no_clone_multi_options_argument(self, rwdir):
        # Arrange
        parent = git.Repo.init(osp.join(rwdir, "parent"))
        sm_name = "foo"
        sm_url = self._small_repo_url()
        sm_branch = "refs/heads/master"
>       sm_hexsha = git.Repo(self._small_repo_url()).head.commit.hexsha

test/test_submodule.py:1098: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'Repo' object has no attribute 'git_dir'") raised in repr()] Repo object at 0x6ab245238f90>
path = '/build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap'
odbt = <class 'git.db.GitCmdObjectDB'>, search_parent_directories = False
expand_vars = True

    def __init__(
        self,
        path: Optional[PathLike] = None,
        odbt: Type[LooseObjectDB] = GitCmdObjectDB,
        search_parent_directories: bool = False,
        expand_vars: bool = True,
    ) -> None:
        """Create a new Repo instance
    
        :param path:
            the path to either the root git directory or the bare git repo::
    
                repo = Repo("/Users/mtrier/Development/git-python")
                repo = Repo("/Users/mtrier/Development/git-python.git")
                repo = Repo("~/Development/git-python.git")
                repo = Repo("$REPOSITORIES/Development/git-python.git")
                repo = Repo("C:\\Users\\mtrier\\Development\\git-python\\.git")
    
            - In *Cygwin*, path may be a `'cygdrive/...'` prefixed path.
            - If it evaluates to false, :envvar:`GIT_DIR` is used, and if this also evals to false,
              the current-directory is used.
        :param odbt:
            Object DataBase type - a type which is constructed by providing
            the directory containing the database objects, i.e. .git/objects. It will
            be used to access all object data
        :param search_parent_directories:
            if True, all parent directories will be searched for a valid repo as well.
    
            Please note that this was the default behaviour in older versions of GitPython,
            which is considered a bug though.
        :raise InvalidGitRepositoryError:
        :raise NoSuchPathError:
        :return: git.Repo"""
    
        epath = path or os.getenv("GIT_DIR")
        if not epath:
            epath = os.getcwd()
        if Git.is_cygwin():
            # Given how the tests are written, this seems more likely to catch
            # Cygwin git used from Windows than Windows git used from Cygwin.
            # Therefore changing to Cygwin-style paths is the relevant operation.
            epath = cygpath(epath)
    
        epath = epath or path or os.getcwd()
        if not isinstance(epath, str):
            epath = str(epath)
        if expand_vars and re.search(self.re_envvars, epath):
            warnings.warn(
                "The use of environment variables in paths is deprecated"
                + "\nfor security reasons and may be removed in the future!!",
                stacklevel=1,
            )
        epath = expand_path(epath, expand_vars)
        if epath is not None:
            if not os.path.exists(epath):
>               raise NoSuchPathError(epath)
E               git.exc.NoSuchPathError: /build/python-gitpython/src/gitpython/git/ext/gitdb/gitdb/ext/smmap

git/repo/base.py:215: NoSuchPathError
=============================== warnings summary ===============================
test/test_remote.py:43
  /build/python-gitpython/src/gitpython/test/test_remote.py:43: PytestCollectionWarning: cannot collect test class 'TestRemoteProgress' because it has a __init__ constructor (from: test/test_remote.py)
    class TestRemoteProgress(RemoteProgress):

test/test_submodule.py:55
  /build/python-gitpython/src/gitpython/test/test_submodule.py:55: PytestCollectionWarning: cannot collect test class 'TestRootProgress' because it has a __init__ constructor (from: test/test_submodule.py)
    class TestRootProgress(RootUpdateProgress):

../../../../usr/lib/python3.11/site-packages/_pytest/cacheprovider.py:451
  /usr/lib/python3.11/site-packages/_pytest/cacheprovider.py:451: PytestCacheWarning: could not create cache path /dev/.pytest_cache/v/cache/nodeids: [Errno 13] Permission denied: '/dev/.pytest_cache'
    config.cache.set("cache/nodeids", sorted(self.cached_nodeids))

../../../../usr/lib/python3.11/site-packages/_pytest/cacheprovider.py:405
  /usr/lib/python3.11/site-packages/_pytest/cacheprovider.py:405: PytestCacheWarning: could not create cache path /dev/.pytest_cache/v/cache/lastfailed: [Errno 13] Permission denied: '/dev/.pytest_cache'
    config.cache.set("cache/lastfailed", self.lastfailed)

../../../../usr/lib/python3.11/site-packages/_pytest/stepwise.py:56
  /usr/lib/python3.11/site-packages/_pytest/stepwise.py:56: PytestCacheWarning: could not create cache path /dev/.pytest_cache/v/cache/stepwise: [Errno 13] Permission denied: '/dev/.pytest_cache'
    session.config.cache.set(STEPWISE_CACHE_DIR, [])

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED ../../../../dev/test/test_docs.py::Tutorials::test_references_and_objects
FAILED ../../../../dev/test/test_docs.py::Tutorials::test_submodules - IndexE...
FAILED ../../../../dev/test/test_repo.py::TestRepo::test_clone_from_with_path_contains_unicode
FAILED ../../../../dev/test/test_repo.py::TestRepo::test_submodule_update - g...
FAILED ../../../../dev/test/test_repo.py::TestRepo::test_submodules - Asserti...
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_add_clone_multi_options_argument
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_add_no_clone_multi_options_argument
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_base_rw - ...
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_branch_renames
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_depth - gi...
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_git_submodule_compatibility
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_remove_norefs
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_rename - g...
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_root_module
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_update_clone_multi_options_argument
FAILED ../../../../dev/test/test_submodule.py::TestSubmodule::test_update_no_clone_multi_options_argument
==== 16 failed, 468 passed, 42 skipped, 2 deselected, 5 warnings in 47.69s =====
[1m[31m==> ERROR:(B[m[1m A failure occurred in check().(B[m
[1m    Aborting...(B[m
