gitextract_322qge9w/ ├── .ci/ │ ├── docker-ci/ │ │ ├── alma/ │ │ │ └── Dockerfile │ │ ├── alpine/ │ │ │ └── Dockerfile │ │ ├── arch/ │ │ │ └── Dockerfile │ │ ├── debian-gnupg1/ │ │ │ └── Dockerfile │ │ ├── debian-gnupg2/ │ │ │ └── Dockerfile │ │ ├── fedora/ │ │ │ └── Dockerfile │ │ ├── rocky/ │ │ │ └── Dockerfile │ │ └── ubuntu/ │ │ └── Dockerfile │ ├── github_release_script.sh │ ├── release-ci/ │ │ ├── alma/ │ │ │ └── Dockerfile │ │ ├── alpine/ │ │ │ └── Dockerfile │ │ ├── debian/ │ │ │ └── Dockerfile │ │ ├── fedora/ │ │ │ └── Dockerfile │ │ ├── rocky/ │ │ │ └── Dockerfile │ │ └── ubuntu/ │ │ └── Dockerfile │ └── releaser/ │ └── alpine/ │ └── Dockerfile ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── dependabot.yml │ └── workflows/ │ ├── build-man.yml │ ├── github-pages.yml │ ├── release-ci.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── Makefile ├── README.md ├── RFC/ │ └── RFC001.md ├── docs/ │ ├── Gemfile │ ├── _config.yml │ ├── _includes/ │ │ ├── favicons.html │ │ ├── footer.html │ │ ├── head.html │ │ ├── header.html │ │ ├── icon-github.html │ │ ├── icon-twitter.html │ │ └── why.md │ ├── _layouts/ │ │ ├── default.html │ │ ├── page.html │ │ └── post.html │ ├── _sass/ │ │ ├── _base.scss │ │ ├── _layout.scss │ │ └── _syntax-highlighting.scss │ ├── build.sh │ ├── css/ │ │ └── main.scss │ ├── feed.xml │ ├── images/ │ │ └── favicons/ │ │ ├── browserconfig.xml │ │ └── manifest.json │ ├── index.html │ ├── installation.md │ └── plugins.md ├── man/ │ ├── man1/ │ │ ├── git-secret-add.1 │ │ ├── git-secret-add.1.md │ │ ├── git-secret-cat.1 │ │ ├── git-secret-cat.1.md │ │ ├── git-secret-changes.1 │ │ ├── git-secret-changes.1.md │ │ ├── git-secret-clean.1 │ │ ├── git-secret-clean.1.md │ │ ├── git-secret-hide.1 │ │ ├── git-secret-hide.1.md │ │ ├── git-secret-init.1 │ │ ├── git-secret-init.1.md │ │ ├── git-secret-list.1 │ │ ├── git-secret-list.1.md │ │ ├── git-secret-remove.1 │ │ ├── git-secret-remove.1.md │ │ ├── git-secret-removeperson.1 │ │ ├── git-secret-removeperson.1.md │ │ ├── git-secret-reveal.1 │ │ ├── git-secret-reveal.1.md │ │ ├── git-secret-tell.1 │ │ ├── git-secret-tell.1.md │ │ ├── git-secret-usage.1 │ │ ├── git-secret-usage.1.md │ │ ├── git-secret-whoknows.1 │ │ └── git-secret-whoknows.1.md │ └── man7/ │ ├── git-secret.7 │ └── git-secret.7.md ├── src/ │ ├── _utils/ │ │ ├── _git_secret_tools.sh │ │ ├── _git_secret_tools_freebsd.sh │ │ ├── _git_secret_tools_linux.sh │ │ └── _git_secret_tools_osx.sh │ ├── commands/ │ │ ├── git_secret_add.sh │ │ ├── git_secret_cat.sh │ │ ├── git_secret_changes.sh │ │ ├── git_secret_clean.sh │ │ ├── git_secret_hide.sh │ │ ├── git_secret_init.sh │ │ ├── git_secret_list.sh │ │ ├── git_secret_remove.sh │ │ ├── git_secret_removeperson.sh │ │ ├── git_secret_reveal.sh │ │ ├── git_secret_tell.sh │ │ ├── git_secret_usage.sh │ │ └── git_secret_whoknows.sh │ ├── main.sh │ └── version.sh ├── tests/ │ ├── _test_base.bash │ ├── fixtures/ │ │ └── gpg/ │ │ ├── README.md │ │ ├── attacker1@gitsecret.io/ │ │ │ ├── private.key │ │ │ └── public.key │ │ ├── user1@gitsecret.io/ │ │ │ ├── private.key │ │ │ └── public.key │ │ ├── user2@gitsecret.io/ │ │ │ ├── private.key │ │ │ └── public.key │ │ ├── user3@gitsecret.io/ │ │ │ ├── private.key │ │ │ └── public.key │ │ ├── user4@gitsecret.io/ │ │ │ ├── private.key │ │ │ └── public.key │ │ └── user5@gitsecret.io/ │ │ ├── private.key │ │ └── public.key │ ├── test_add.bats │ ├── test_cat.bats │ ├── test_changes.bats │ ├── test_clean.bats │ ├── test_expiration.bats │ ├── test_hide.bats │ ├── test_hide_continue.bats │ ├── test_init.bats │ ├── test_list.bats │ ├── test_main.bats │ ├── test_make_install.bats │ ├── test_noname.bats │ ├── test_remove.bats │ ├── test_removeperson.bats │ ├── test_reveal.bats │ ├── test_reveal_filename.bats │ ├── test_tell.bats │ ├── test_usage.bats │ └── test_whoknows.bats ├── utils/ │ ├── apk/ │ │ ├── build.sh │ │ ├── deploy.sh │ │ ├── install.sh │ │ ├── meta.sh │ │ └── nfpm.yml │ ├── build-utils.sh │ ├── deb/ │ │ ├── build.sh │ │ ├── deploy.sh │ │ └── install.sh │ ├── install.sh │ ├── rpm/ │ │ ├── build.sh │ │ ├── deploy.sh │ │ ├── git-secret.repo │ │ └── install.sh │ ├── tests.sh │ └── uninstall.sh └── vendor/ ├── README.md └── bats-core/ ├── .devcontainer/ │ ├── Dockerfile │ └── devcontainer.json ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ ├── check_pr_label.sh │ ├── release.yml │ ├── release_dockerhub.yml │ └── tests.yml ├── .gitignore ├── .readthedocs.yml ├── AUTHORS ├── Dockerfile ├── LICENSE.md ├── README.md ├── bin/ │ └── bats ├── contrib/ │ ├── release.sh │ ├── rpm/ │ │ └── bats.spec │ └── semver ├── docker/ │ ├── install_tini.sh │ └── tini.pubkey.gpg ├── docker-compose.override.dist ├── docker-compose.yml ├── docs/ │ ├── .markdownlint.json │ ├── CHANGELOG.md │ ├── CODEOWNERS │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── Makefile │ ├── PULL_REQUEST_TEMPLATE.md │ ├── examples/ │ │ ├── README.md │ │ ├── package-tarball │ │ └── package-tarball.bats │ ├── make.bat │ ├── releasing.md │ ├── source/ │ │ ├── _static/ │ │ │ └── .gitkeep │ │ ├── _templates/ │ │ │ └── .gitkeep │ │ ├── conf.py │ │ ├── docker-usage.md │ │ ├── faq.rst │ │ ├── gotchas.rst │ │ ├── index.rst │ │ ├── installation.rst │ │ ├── requirements.txt │ │ ├── tutorial.rst │ │ ├── usage.md │ │ └── writing-tests.md │ └── versions.md ├── install.sh ├── lib/ │ └── bats-core/ │ ├── common.bash │ ├── formatter.bash │ ├── preprocessing.bash │ ├── semaphore.bash │ ├── test_functions.bash │ ├── tracing.bash │ └── validator.bash ├── libexec/ │ └── bats-core/ │ ├── bats │ ├── bats-exec-file │ ├── bats-exec-suite │ ├── bats-exec-test │ ├── bats-format-cat │ ├── bats-format-junit │ ├── bats-format-pretty │ ├── bats-format-tap │ ├── bats-format-tap13 │ └── bats-preprocess ├── man/ │ ├── Makefile │ ├── README.md │ ├── bats.1 │ ├── bats.1.ronn │ ├── bats.7 │ └── bats.7.ronn ├── package.json ├── shellcheck.sh ├── test/ │ ├── bats.bats │ ├── concurrent-coordination.bash │ ├── file_setup_teardown.bats │ ├── fixtures/ │ │ ├── bats/ │ │ │ ├── BATS_TMPDIR.bats │ │ │ ├── cmd_using_stdin.bash │ │ │ ├── comment_style.bats │ │ │ ├── dos_line_no_shellcheck.bats │ │ │ ├── duplicate-tests_no_shellcheck.bats │ │ │ ├── empty.bats │ │ │ ├── environment.bats │ │ │ ├── evaluation_count/ │ │ │ │ ├── file1.bats │ │ │ │ └── file2.bats │ │ │ ├── expand_var_in_test_name.bats │ │ │ ├── exported_function.bats │ │ │ ├── external_function_calls.bats │ │ │ ├── external_functions.bash │ │ │ ├── external_functions.bats │ │ │ ├── failing.bats │ │ │ ├── failing_and_passing.bats │ │ │ ├── failing_helper.bats │ │ │ ├── failing_setup.bats │ │ │ ├── failing_teardown.bats │ │ │ ├── failing_with_bash_cond.bats │ │ │ ├── failing_with_bash_expression.bats │ │ │ ├── failing_with_negated_command.bats │ │ │ ├── failure_in_free_code.bats │ │ │ ├── hang_after_run.bats │ │ │ ├── hang_in_run.bats │ │ │ ├── hang_in_setup_file.bats │ │ │ ├── hang_in_teardown.bats │ │ │ ├── hang_in_teardown_file.bats │ │ │ ├── hang_in_test.bats │ │ │ ├── intact.bats │ │ │ ├── issue-205.bats │ │ │ ├── issue-433/ │ │ │ │ ├── repro1.bats │ │ │ │ └── repro2.bats │ │ │ ├── issue-519.bats │ │ │ ├── load.bats │ │ │ ├── loop_keep_IFS.bats │ │ │ ├── no-final-newline.bats │ │ │ ├── output.bats │ │ │ ├── parallel.bats │ │ │ ├── passing.bats │ │ │ ├── passing_and_failing.bats │ │ │ ├── passing_and_skipping.bats │ │ │ ├── passing_failing_and_skipping.bats │ │ │ ├── print_output_on_failure.bats │ │ │ ├── quoted_and_unquoted_test_names_no_shellcheck.bats │ │ │ ├── read_from_stdin.bats │ │ │ ├── reference_unset_parameter.bats │ │ │ ├── reference_unset_parameter_in_setup.bats │ │ │ ├── reference_unset_parameter_in_teardown.bats │ │ │ ├── run_long_command.bats │ │ │ ├── set_-eu_in_setup_and_teardown.bats │ │ │ ├── setup.bats │ │ │ ├── show-output-of-passing-tests.bats │ │ │ ├── single_line_no_shellcheck.bats │ │ │ ├── skipped.bats │ │ │ ├── skipped_with_parens.bats │ │ │ ├── source_nonexistent_file.bats │ │ │ ├── source_nonexistent_file_in_setup.bats │ │ │ ├── source_nonexistent_file_in_teardown.bats │ │ │ ├── tab in filename.bats │ │ │ ├── teardown.bats │ │ │ ├── test_helper.bash │ │ │ ├── unbound_variable.bats │ │ │ ├── unofficial_bash_strict_mode.bash │ │ │ ├── unofficial_bash_strict_mode.bats │ │ │ ├── update_path_env.bats │ │ │ ├── verbose-run.bats │ │ │ ├── whitespace_no_shellcheck.bats │ │ │ └── without_trailing_newline.bats │ │ ├── file_setup_teardown/ │ │ │ ├── no_setup_file.bats │ │ │ ├── no_teardown_file.bats │ │ │ ├── setup_file.bats │ │ │ ├── setup_file2.bats │ │ │ ├── setup_file_does_not_leak_env.bats │ │ │ ├── setup_file_does_not_leak_env2.bats │ │ │ ├── setup_file_even_if_all_tests_are_skipped.bats │ │ │ ├── setup_file_failed.bats │ │ │ ├── setup_file_halfway_error.bats │ │ │ ├── teardown_file.bats │ │ │ ├── teardown_file2.bats │ │ │ ├── teardown_file_after_failing_test.bats │ │ │ ├── teardown_file_after_long_test.bats │ │ │ ├── teardown_file_does_not_leak.bats │ │ │ ├── teardown_file_does_not_leak2.bats │ │ │ ├── teardown_file_even_if_all_tests_are_skipped.bats │ │ │ ├── teardown_file_failed.bats │ │ │ └── teardown_file_halfway_error.bats │ │ ├── junit-formatter/ │ │ │ ├── duplicate/ │ │ │ │ ├── first/ │ │ │ │ │ └── file1.bats │ │ │ │ └── second/ │ │ │ │ └── file1.bats │ │ │ ├── issue_360.bats │ │ │ ├── issue_531.bats │ │ │ ├── skipped.bats │ │ │ ├── suite/ │ │ │ │ ├── file1.bats │ │ │ │ └── file2.bats │ │ │ └── xml-escape.bats │ │ ├── load/ │ │ │ ├── ambiguous │ │ │ ├── ambiguous.bash │ │ │ ├── bats_load_library.bats │ │ │ ├── exit1.bash │ │ │ ├── failing_bats_load_library.bats │ │ │ ├── failing_load.bats │ │ │ ├── find_library_helper.bats │ │ │ ├── find_library_helper_err.bats │ │ │ ├── load.bats │ │ │ ├── return1.bash │ │ │ └── test_helper.bash │ │ ├── parallel/ │ │ │ ├── must_not_parallelize_across_files/ │ │ │ │ ├── file1.bats │ │ │ │ └── file2.bats │ │ │ ├── must_not_parallelize_within_file.bats │ │ │ ├── parallel-preserve-environment.bats │ │ │ ├── parallel.bats │ │ │ ├── parallel_factor.bats │ │ │ ├── setup_file/ │ │ │ │ └── setup_file.bats │ │ │ └── suite/ │ │ │ └── parallel1.bats │ │ ├── run/ │ │ │ ├── failing.bats │ │ │ └── invalid.bats │ │ ├── suite/ │ │ │ ├── empty/ │ │ │ │ └── .gitkeep │ │ │ ├── filter/ │ │ │ │ ├── a.bats │ │ │ │ ├── b.bats │ │ │ │ └── c.bats │ │ │ ├── multiple/ │ │ │ │ ├── a.bats │ │ │ │ └── b.bats │ │ │ ├── override_BATS_FILE_EXTENSION/ │ │ │ │ ├── subfolder/ │ │ │ │ │ └── test.other_extension │ │ │ │ ├── test.bats │ │ │ │ └── test.test │ │ │ ├── recursive/ │ │ │ │ ├── subsuite/ │ │ │ │ │ └── test2.bats │ │ │ │ └── test.bats │ │ │ ├── single/ │ │ │ │ └── test.bats │ │ │ ├── skip/ │ │ │ │ ├── skip-in-setup-and-teardown.bats │ │ │ │ ├── skip-in-setup.bats │ │ │ │ ├── skip-in-teardown.bats │ │ │ │ ├── skip-in-test-and-teardown.bats │ │ │ │ └── skip-in-test.bats │ │ │ └── test_number/ │ │ │ ├── file1.bats │ │ │ └── file2.bats │ │ └── trace/ │ │ ├── failing_complex.bats │ │ └── failing_recursive.bats │ ├── install.bats │ ├── junit-formatter.bats │ ├── load.bats │ ├── parallel.bats │ ├── pretty-formatter.bats │ ├── root.bats │ ├── run.bats │ ├── suite.bats │ ├── test_helper.bash │ └── trace.bats └── uninstall.sh