├── .editorconfig ├── .flake8 ├── .github ├── ghstack_direct └── workflows │ ├── lint.yml │ └── test.yml ├── .gitignore ├── .lintrunner.toml ├── LICENSE ├── README.md ├── chrome-extension ├── ghstack.js └── manifest.json ├── codemcp.toml ├── conftest.py ├── emitter.py ├── mypy.ini ├── notes.txt ├── pyproject.toml ├── pytest.ini ├── smoketest_cache.py ├── src └── ghstack │ ├── __init__.py │ ├── __main__.py │ ├── action.py │ ├── cache.py │ ├── checkout.py │ ├── cherry_pick.py │ ├── circleci.py │ ├── circleci_real.py │ ├── cli.py │ ├── config.py │ ├── diff.py │ ├── forensics.py │ ├── git.py │ ├── github.py │ ├── github_fake.py │ ├── github_real.py │ ├── github_schema.graphql │ ├── github_utils.py │ ├── gpg_sign.py │ ├── land.py │ ├── logs.py │ ├── py.typed │ ├── rage.py │ ├── shell.py │ ├── status.py │ ├── submit.py │ ├── test_prelude.py │ ├── trailers.py │ ├── types.py │ └── unlink.py ├── test ├── cherry_pick │ ├── basic.py.test │ ├── conflict.py.test │ ├── stack.py.test │ └── stack_manual.py.test ├── github_utils │ └── get_repo_name_with_owner.py.test ├── land │ ├── default_branch_change.py.test │ ├── early_mod.py.test │ ├── ff.py.test │ ├── ff_stack.py.test │ ├── ff_stack_two_phase.py.test │ ├── invalid_resubmit.py.test │ ├── non_ff.py.test │ ├── non_ff_stack_two_phase.py.test │ ├── reuse_branch_refuse_land.py.test │ └── update_after_land.py.test ├── submit │ ├── amend.py.test │ ├── amend_all.py.test │ ├── amend_bottom.py.test │ ├── amend_message_only.py.test │ ├── amend_out_of_date.py.test │ ├── amend_top.py.test │ ├── bullet_divider.py.test │ ├── cherry_pick.py.test │ ├── commit_amended_to_empty.py.test │ ├── do_not_revert_local_commit_msg_on_skip.py.test │ ├── empty_commit.py.test │ ├── fail_same_source_id.py.test │ ├── minimal_fetch.py.test │ ├── multi.py.test │ ├── no_clobber.py.test │ ├── no_clobber_carriage_returns.py.test │ ├── non_standard_base.py.test │ ├── prefix_only_no_stack.py.test │ ├── prefix_only_stack.py.test │ ├── preserve_authorship.py.test │ ├── range_only_stack.py.test │ ├── rebase.py.test │ ├── reject_head_stack.py.test │ ├── remove_bottom_commit.py.test │ ├── reorder.py.test │ ├── short.py.test │ ├── simple.py.test │ ├── strip_mentions.py.test │ ├── suffix_only_no_stack.py.test │ ├── throttle.py.test │ ├── unrelated_malformed_gh_branch_ok.py.test │ ├── update_fields.py.test │ ├── update_fields_preserve_differential_revision.py.test │ └── update_fields_preserves_commit_message.py.test └── unlink │ └── basic.py.test ├── test_shell.py ├── tools └── linter │ ├── __init__.py │ └── adapters │ ├── flake8_linter.py │ ├── lintrunner_version_linter.py │ ├── mypy_linter.py │ └── ufmt_linter.py ├── uv.lock └── yaks.txt /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/.editorconfig -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/ghstack_direct: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/.gitignore -------------------------------------------------------------------------------- /.lintrunner.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/.lintrunner.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/README.md -------------------------------------------------------------------------------- /chrome-extension/ghstack.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/chrome-extension/ghstack.js -------------------------------------------------------------------------------- /chrome-extension/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/chrome-extension/manifest.json -------------------------------------------------------------------------------- /codemcp.toml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/conftest.py -------------------------------------------------------------------------------- /emitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/emitter.py -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/mypy.ini -------------------------------------------------------------------------------- /notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/notes.txt -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | addopts = --doctest-modules 3 | -------------------------------------------------------------------------------- /smoketest_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/smoketest_cache.py -------------------------------------------------------------------------------- /src/ghstack/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/__init__.py -------------------------------------------------------------------------------- /src/ghstack/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/__main__.py -------------------------------------------------------------------------------- /src/ghstack/action.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/action.py -------------------------------------------------------------------------------- /src/ghstack/cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/cache.py -------------------------------------------------------------------------------- /src/ghstack/checkout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/checkout.py -------------------------------------------------------------------------------- /src/ghstack/cherry_pick.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/cherry_pick.py -------------------------------------------------------------------------------- /src/ghstack/circleci.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/circleci.py -------------------------------------------------------------------------------- /src/ghstack/circleci_real.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/circleci_real.py -------------------------------------------------------------------------------- /src/ghstack/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/cli.py -------------------------------------------------------------------------------- /src/ghstack/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/config.py -------------------------------------------------------------------------------- /src/ghstack/diff.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/diff.py -------------------------------------------------------------------------------- /src/ghstack/forensics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/forensics.py -------------------------------------------------------------------------------- /src/ghstack/git.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/git.py -------------------------------------------------------------------------------- /src/ghstack/github.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/github.py -------------------------------------------------------------------------------- /src/ghstack/github_fake.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/github_fake.py -------------------------------------------------------------------------------- /src/ghstack/github_real.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/github_real.py -------------------------------------------------------------------------------- /src/ghstack/github_schema.graphql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/github_schema.graphql -------------------------------------------------------------------------------- /src/ghstack/github_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/github_utils.py -------------------------------------------------------------------------------- /src/ghstack/gpg_sign.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/gpg_sign.py -------------------------------------------------------------------------------- /src/ghstack/land.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/land.py -------------------------------------------------------------------------------- /src/ghstack/logs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/logs.py -------------------------------------------------------------------------------- /src/ghstack/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/ghstack/rage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/rage.py -------------------------------------------------------------------------------- /src/ghstack/shell.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/shell.py -------------------------------------------------------------------------------- /src/ghstack/status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/status.py -------------------------------------------------------------------------------- /src/ghstack/submit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/submit.py -------------------------------------------------------------------------------- /src/ghstack/test_prelude.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/test_prelude.py -------------------------------------------------------------------------------- /src/ghstack/trailers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/trailers.py -------------------------------------------------------------------------------- /src/ghstack/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/types.py -------------------------------------------------------------------------------- /src/ghstack/unlink.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/src/ghstack/unlink.py -------------------------------------------------------------------------------- /test/cherry_pick/basic.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/cherry_pick/basic.py.test -------------------------------------------------------------------------------- /test/cherry_pick/conflict.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/cherry_pick/conflict.py.test -------------------------------------------------------------------------------- /test/cherry_pick/stack.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/cherry_pick/stack.py.test -------------------------------------------------------------------------------- /test/cherry_pick/stack_manual.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/cherry_pick/stack_manual.py.test -------------------------------------------------------------------------------- /test/github_utils/get_repo_name_with_owner.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/github_utils/get_repo_name_with_owner.py.test -------------------------------------------------------------------------------- /test/land/default_branch_change.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/default_branch_change.py.test -------------------------------------------------------------------------------- /test/land/early_mod.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/early_mod.py.test -------------------------------------------------------------------------------- /test/land/ff.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/ff.py.test -------------------------------------------------------------------------------- /test/land/ff_stack.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/ff_stack.py.test -------------------------------------------------------------------------------- /test/land/ff_stack_two_phase.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/ff_stack_two_phase.py.test -------------------------------------------------------------------------------- /test/land/invalid_resubmit.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/invalid_resubmit.py.test -------------------------------------------------------------------------------- /test/land/non_ff.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/non_ff.py.test -------------------------------------------------------------------------------- /test/land/non_ff_stack_two_phase.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/non_ff_stack_two_phase.py.test -------------------------------------------------------------------------------- /test/land/reuse_branch_refuse_land.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/reuse_branch_refuse_land.py.test -------------------------------------------------------------------------------- /test/land/update_after_land.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/land/update_after_land.py.test -------------------------------------------------------------------------------- /test/submit/amend.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/amend.py.test -------------------------------------------------------------------------------- /test/submit/amend_all.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/amend_all.py.test -------------------------------------------------------------------------------- /test/submit/amend_bottom.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/amend_bottom.py.test -------------------------------------------------------------------------------- /test/submit/amend_message_only.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/amend_message_only.py.test -------------------------------------------------------------------------------- /test/submit/amend_out_of_date.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/amend_out_of_date.py.test -------------------------------------------------------------------------------- /test/submit/amend_top.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/amend_top.py.test -------------------------------------------------------------------------------- /test/submit/bullet_divider.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/bullet_divider.py.test -------------------------------------------------------------------------------- /test/submit/cherry_pick.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/cherry_pick.py.test -------------------------------------------------------------------------------- /test/submit/commit_amended_to_empty.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/commit_amended_to_empty.py.test -------------------------------------------------------------------------------- /test/submit/do_not_revert_local_commit_msg_on_skip.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/do_not_revert_local_commit_msg_on_skip.py.test -------------------------------------------------------------------------------- /test/submit/empty_commit.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/empty_commit.py.test -------------------------------------------------------------------------------- /test/submit/fail_same_source_id.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/fail_same_source_id.py.test -------------------------------------------------------------------------------- /test/submit/minimal_fetch.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/minimal_fetch.py.test -------------------------------------------------------------------------------- /test/submit/multi.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/multi.py.test -------------------------------------------------------------------------------- /test/submit/no_clobber.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/no_clobber.py.test -------------------------------------------------------------------------------- /test/submit/no_clobber_carriage_returns.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/no_clobber_carriage_returns.py.test -------------------------------------------------------------------------------- /test/submit/non_standard_base.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/non_standard_base.py.test -------------------------------------------------------------------------------- /test/submit/prefix_only_no_stack.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/prefix_only_no_stack.py.test -------------------------------------------------------------------------------- /test/submit/prefix_only_stack.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/prefix_only_stack.py.test -------------------------------------------------------------------------------- /test/submit/preserve_authorship.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/preserve_authorship.py.test -------------------------------------------------------------------------------- /test/submit/range_only_stack.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/range_only_stack.py.test -------------------------------------------------------------------------------- /test/submit/rebase.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/rebase.py.test -------------------------------------------------------------------------------- /test/submit/reject_head_stack.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/reject_head_stack.py.test -------------------------------------------------------------------------------- /test/submit/remove_bottom_commit.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/remove_bottom_commit.py.test -------------------------------------------------------------------------------- /test/submit/reorder.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/reorder.py.test -------------------------------------------------------------------------------- /test/submit/short.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/short.py.test -------------------------------------------------------------------------------- /test/submit/simple.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/simple.py.test -------------------------------------------------------------------------------- /test/submit/strip_mentions.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/strip_mentions.py.test -------------------------------------------------------------------------------- /test/submit/suffix_only_no_stack.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/suffix_only_no_stack.py.test -------------------------------------------------------------------------------- /test/submit/throttle.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/throttle.py.test -------------------------------------------------------------------------------- /test/submit/unrelated_malformed_gh_branch_ok.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/unrelated_malformed_gh_branch_ok.py.test -------------------------------------------------------------------------------- /test/submit/update_fields.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/update_fields.py.test -------------------------------------------------------------------------------- /test/submit/update_fields_preserve_differential_revision.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/update_fields_preserve_differential_revision.py.test -------------------------------------------------------------------------------- /test/submit/update_fields_preserves_commit_message.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/submit/update_fields_preserves_commit_message.py.test -------------------------------------------------------------------------------- /test/unlink/basic.py.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test/unlink/basic.py.test -------------------------------------------------------------------------------- /test_shell.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/test_shell.py -------------------------------------------------------------------------------- /tools/linter/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/linter/adapters/flake8_linter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/tools/linter/adapters/flake8_linter.py -------------------------------------------------------------------------------- /tools/linter/adapters/lintrunner_version_linter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/tools/linter/adapters/lintrunner_version_linter.py -------------------------------------------------------------------------------- /tools/linter/adapters/mypy_linter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/tools/linter/adapters/mypy_linter.py -------------------------------------------------------------------------------- /tools/linter/adapters/ufmt_linter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/tools/linter/adapters/ufmt_linter.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/uv.lock -------------------------------------------------------------------------------- /yaks.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezyang/ghstack/HEAD/yaks.txt --------------------------------------------------------------------------------