├── .codecov.yml ├── .codex └── instructions.md ├── .cursor └── rules │ ├── avoid-debug-loops.mdc │ ├── dev-loop.mdc │ ├── git-commits.mdc │ ├── pytest-best-practices.mdc │ └── vcspull-pytest.mdc ├── .github ├── dependabot.yml └── workflows │ ├── docs.yml │ └── tests.yml ├── .gitignore ├── .gitmodules ├── .prettierrc ├── .python-version ├── .tmuxp.yaml ├── .tool-versions ├── .vim └── coc-settings.json ├── .windsurfrules ├── AGENTS.md ├── CHANGES ├── CLAUDE.md ├── LICENSE ├── MIGRATION ├── Makefile ├── README.md ├── conftest.py ├── docs ├── Makefile ├── _static │ ├── css │ │ └── custom.css │ ├── favicon.ico │ ├── img │ │ ├── icons │ │ │ ├── icon-128x128.png │ │ │ ├── icon-144x144.png │ │ │ ├── icon-152x152.png │ │ │ ├── icon-192x192.png │ │ │ ├── icon-384x384.png │ │ │ ├── icon-512x512.png │ │ │ ├── icon-72x72.png │ │ │ └── icon-96x96.png │ │ ├── vcspull-dark.svg │ │ └── vcspull.svg │ ├── vcspull-demo.gif │ └── vcspull-screenshot.png ├── _templates │ ├── layout.html │ └── sidebar │ │ └── projects.html ├── api │ ├── cli │ │ ├── add.md │ │ ├── discover.md │ │ ├── fmt.md │ │ ├── index.md │ │ ├── list.md │ │ ├── status.md │ │ └── sync.md │ ├── config.md │ ├── exc.md │ ├── index.md │ ├── internals │ │ ├── config_reader.md │ │ ├── index.md │ │ └── private_path.md │ ├── log.md │ ├── types.md │ ├── util.md │ └── validator.md ├── cli │ ├── add.md │ ├── completion.md │ ├── discover.md │ ├── fmt.md │ ├── index.md │ ├── list.md │ ├── status.md │ └── sync.md ├── conf.py ├── configuration │ ├── generation.md │ └── index.md ├── developing.md ├── history.md ├── index.md ├── manifest.json ├── migration.md ├── quickstart.md └── redirects.txt ├── examples ├── christmas-tree.yaml ├── code-scholar.yaml └── remotes.yaml ├── pyproject.toml ├── scripts ├── generate_gitlab.py └── generate_gitlab.sh ├── src └── vcspull │ ├── __about__.py │ ├── __init__.py │ ├── _internal │ ├── __init__.py │ ├── config_reader.py │ └── private_path.py │ ├── cli │ ├── __init__.py │ ├── _colors.py │ ├── _formatter.py │ ├── _output.py │ ├── _workspaces.py │ ├── add.py │ ├── discover.py │ ├── fmt.py │ ├── list.py │ ├── status.py │ └── sync.py │ ├── config.py │ ├── exc.py │ ├── log.py │ ├── types.py │ ├── util.py │ └── validator.py ├── tests ├── __init__.py ├── _internal │ ├── __init__.py │ └── test_private_path.py ├── cli │ ├── __snapshots__ │ │ ├── test_add.ambr │ │ ├── test_discover.ambr │ │ └── test_fmt │ │ │ ├── test_fmt_cli_integration[merge-default][fmt-cli-merge].yaml │ │ │ ├── test_fmt_cli_integration[no-merge][fmt-cli-no-merge].yaml │ │ │ ├── test_format_config_complex_changes.json │ │ │ ├── test_format_config_converts_compact_entries.json │ │ │ ├── test_format_config_file_with_write[format-config-file-with-write].yaml │ │ │ ├── test_format_config_merges_duplicate_roots_when_writing[format-config-file-merge].yaml │ │ │ ├── test_format_config_no_changes_when_already_normalized.json │ │ │ ├── test_format_config_no_merge_flag_skips_duplicate_merge[format-config-file-no-merge].yaml │ │ │ ├── test_format_config_sorts_directories.json │ │ │ ├── test_format_config_sorts_repositories.json │ │ │ ├── test_workspace_root_normalization[home-vs-absolute].json │ │ │ ├── test_workspace_root_normalization[relative-vs-tilde].json │ │ │ └── test_workspace_root_normalization[tilde-mixed-trailing-slash].json │ ├── test_add.py │ ├── test_discover.py │ ├── test_fmt.py │ ├── test_list.py │ ├── test_plan_output_helpers.py │ ├── test_status.py │ └── test_sync_plan_helpers.py ├── conftest.py ├── fixtures │ ├── __init__.py │ └── example.py ├── helpers.py ├── test_cli.py ├── test_config.py ├── test_config_file.py ├── test_config_reader.py ├── test_config_writer.py ├── test_log.py ├── test_repo.py ├── test_sync.py └── test_utils.py └── uv.lock /.codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.codecov.yml -------------------------------------------------------------------------------- /.codex/instructions.md: -------------------------------------------------------------------------------- 1 | ../.windsurfrules -------------------------------------------------------------------------------- /.cursor/rules/avoid-debug-loops.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.cursor/rules/avoid-debug-loops.mdc -------------------------------------------------------------------------------- /.cursor/rules/dev-loop.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.cursor/rules/dev-loop.mdc -------------------------------------------------------------------------------- /.cursor/rules/git-commits.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.cursor/rules/git-commits.mdc -------------------------------------------------------------------------------- /.cursor/rules/pytest-best-practices.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.cursor/rules/pytest-best-practices.mdc -------------------------------------------------------------------------------- /.cursor/rules/vcspull-pytest.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.cursor/rules/vcspull-pytest.mdc -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 100 3 | } 4 | -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.14.0 2 | -------------------------------------------------------------------------------- /.tmuxp.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.tmuxp.yaml -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.tool-versions -------------------------------------------------------------------------------- /.vim/coc-settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.vim/coc-settings.json -------------------------------------------------------------------------------- /.windsurfrules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/.windsurfrules -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/AGENTS.md -------------------------------------------------------------------------------- /CHANGES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/CHANGES -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- 1 | AGENTS.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/LICENSE -------------------------------------------------------------------------------- /MIGRATION: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/MIGRATION -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/README.md -------------------------------------------------------------------------------- /conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/conftest.py -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/_static/css/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/css/custom.css -------------------------------------------------------------------------------- /docs/_static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/favicon.ico -------------------------------------------------------------------------------- /docs/_static/img/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/icons/icon-128x128.png -------------------------------------------------------------------------------- /docs/_static/img/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/icons/icon-144x144.png -------------------------------------------------------------------------------- /docs/_static/img/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/icons/icon-152x152.png -------------------------------------------------------------------------------- /docs/_static/img/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/icons/icon-192x192.png -------------------------------------------------------------------------------- /docs/_static/img/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/icons/icon-384x384.png -------------------------------------------------------------------------------- /docs/_static/img/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/icons/icon-512x512.png -------------------------------------------------------------------------------- /docs/_static/img/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/icons/icon-72x72.png -------------------------------------------------------------------------------- /docs/_static/img/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/icons/icon-96x96.png -------------------------------------------------------------------------------- /docs/_static/img/vcspull-dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/vcspull-dark.svg -------------------------------------------------------------------------------- /docs/_static/img/vcspull.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/img/vcspull.svg -------------------------------------------------------------------------------- /docs/_static/vcspull-demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/vcspull-demo.gif -------------------------------------------------------------------------------- /docs/_static/vcspull-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_static/vcspull-screenshot.png -------------------------------------------------------------------------------- /docs/_templates/layout.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_templates/layout.html -------------------------------------------------------------------------------- /docs/_templates/sidebar/projects.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/_templates/sidebar/projects.html -------------------------------------------------------------------------------- /docs/api/cli/add.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/cli/add.md -------------------------------------------------------------------------------- /docs/api/cli/discover.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/cli/discover.md -------------------------------------------------------------------------------- /docs/api/cli/fmt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/cli/fmt.md -------------------------------------------------------------------------------- /docs/api/cli/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/cli/index.md -------------------------------------------------------------------------------- /docs/api/cli/list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/cli/list.md -------------------------------------------------------------------------------- /docs/api/cli/status.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/cli/status.md -------------------------------------------------------------------------------- /docs/api/cli/sync.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/cli/sync.md -------------------------------------------------------------------------------- /docs/api/config.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/config.md -------------------------------------------------------------------------------- /docs/api/exc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/exc.md -------------------------------------------------------------------------------- /docs/api/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/index.md -------------------------------------------------------------------------------- /docs/api/internals/config_reader.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/internals/config_reader.md -------------------------------------------------------------------------------- /docs/api/internals/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/internals/index.md -------------------------------------------------------------------------------- /docs/api/internals/private_path.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/internals/private_path.md -------------------------------------------------------------------------------- /docs/api/log.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/log.md -------------------------------------------------------------------------------- /docs/api/types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/types.md -------------------------------------------------------------------------------- /docs/api/util.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/util.md -------------------------------------------------------------------------------- /docs/api/validator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/api/validator.md -------------------------------------------------------------------------------- /docs/cli/add.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/cli/add.md -------------------------------------------------------------------------------- /docs/cli/completion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/cli/completion.md -------------------------------------------------------------------------------- /docs/cli/discover.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/cli/discover.md -------------------------------------------------------------------------------- /docs/cli/fmt.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/cli/fmt.md -------------------------------------------------------------------------------- /docs/cli/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/cli/index.md -------------------------------------------------------------------------------- /docs/cli/list.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/cli/list.md -------------------------------------------------------------------------------- /docs/cli/status.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/cli/status.md -------------------------------------------------------------------------------- /docs/cli/sync.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/cli/sync.md -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/configuration/generation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/configuration/generation.md -------------------------------------------------------------------------------- /docs/configuration/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/configuration/index.md -------------------------------------------------------------------------------- /docs/developing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/developing.md -------------------------------------------------------------------------------- /docs/history.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/history.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/manifest.json -------------------------------------------------------------------------------- /docs/migration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/migration.md -------------------------------------------------------------------------------- /docs/quickstart.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/quickstart.md -------------------------------------------------------------------------------- /docs/redirects.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/docs/redirects.txt -------------------------------------------------------------------------------- /examples/christmas-tree.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/examples/christmas-tree.yaml -------------------------------------------------------------------------------- /examples/code-scholar.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/examples/code-scholar.yaml -------------------------------------------------------------------------------- /examples/remotes.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/examples/remotes.yaml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/pyproject.toml -------------------------------------------------------------------------------- /scripts/generate_gitlab.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/scripts/generate_gitlab.py -------------------------------------------------------------------------------- /scripts/generate_gitlab.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/scripts/generate_gitlab.sh -------------------------------------------------------------------------------- /src/vcspull/__about__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/__about__.py -------------------------------------------------------------------------------- /src/vcspull/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/__init__.py -------------------------------------------------------------------------------- /src/vcspull/_internal/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/vcspull/_internal/config_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/_internal/config_reader.py -------------------------------------------------------------------------------- /src/vcspull/_internal/private_path.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/_internal/private_path.py -------------------------------------------------------------------------------- /src/vcspull/cli/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/__init__.py -------------------------------------------------------------------------------- /src/vcspull/cli/_colors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/_colors.py -------------------------------------------------------------------------------- /src/vcspull/cli/_formatter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/_formatter.py -------------------------------------------------------------------------------- /src/vcspull/cli/_output.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/_output.py -------------------------------------------------------------------------------- /src/vcspull/cli/_workspaces.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/_workspaces.py -------------------------------------------------------------------------------- /src/vcspull/cli/add.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/add.py -------------------------------------------------------------------------------- /src/vcspull/cli/discover.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/discover.py -------------------------------------------------------------------------------- /src/vcspull/cli/fmt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/fmt.py -------------------------------------------------------------------------------- /src/vcspull/cli/list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/list.py -------------------------------------------------------------------------------- /src/vcspull/cli/status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/status.py -------------------------------------------------------------------------------- /src/vcspull/cli/sync.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/cli/sync.py -------------------------------------------------------------------------------- /src/vcspull/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/config.py -------------------------------------------------------------------------------- /src/vcspull/exc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/exc.py -------------------------------------------------------------------------------- /src/vcspull/log.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/log.py -------------------------------------------------------------------------------- /src/vcspull/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/types.py -------------------------------------------------------------------------------- /src/vcspull/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/util.py -------------------------------------------------------------------------------- /src/vcspull/validator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/src/vcspull/validator.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/__init__.py -------------------------------------------------------------------------------- /tests/_internal/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/_internal/test_private_path.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/_internal/test_private_path.py -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_add.ambr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_add.ambr -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_discover.ambr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_discover.ambr -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_fmt_cli_integration[merge-default][fmt-cli-merge].yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_fmt_cli_integration[merge-default][fmt-cli-merge].yaml -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_fmt_cli_integration[no-merge][fmt-cli-no-merge].yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_fmt_cli_integration[no-merge][fmt-cli-no-merge].yaml -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_format_config_complex_changes.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_format_config_complex_changes.json -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_format_config_converts_compact_entries.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_format_config_converts_compact_entries.json -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_format_config_file_with_write[format-config-file-with-write].yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_format_config_file_with_write[format-config-file-with-write].yaml -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_format_config_merges_duplicate_roots_when_writing[format-config-file-merge].yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_format_config_merges_duplicate_roots_when_writing[format-config-file-merge].yaml -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_format_config_no_changes_when_already_normalized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_format_config_no_changes_when_already_normalized.json -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_format_config_no_merge_flag_skips_duplicate_merge[format-config-file-no-merge].yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_format_config_no_merge_flag_skips_duplicate_merge[format-config-file-no-merge].yaml -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_format_config_sorts_directories.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_format_config_sorts_directories.json -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_format_config_sorts_repositories.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_format_config_sorts_repositories.json -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_workspace_root_normalization[home-vs-absolute].json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_workspace_root_normalization[home-vs-absolute].json -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_workspace_root_normalization[relative-vs-tilde].json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_workspace_root_normalization[relative-vs-tilde].json -------------------------------------------------------------------------------- /tests/cli/__snapshots__/test_fmt/test_workspace_root_normalization[tilde-mixed-trailing-slash].json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/__snapshots__/test_fmt/test_workspace_root_normalization[tilde-mixed-trailing-slash].json -------------------------------------------------------------------------------- /tests/cli/test_add.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/test_add.py -------------------------------------------------------------------------------- /tests/cli/test_discover.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/test_discover.py -------------------------------------------------------------------------------- /tests/cli/test_fmt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/test_fmt.py -------------------------------------------------------------------------------- /tests/cli/test_list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/test_list.py -------------------------------------------------------------------------------- /tests/cli/test_plan_output_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/test_plan_output_helpers.py -------------------------------------------------------------------------------- /tests/cli/test_status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/test_status.py -------------------------------------------------------------------------------- /tests/cli/test_sync_plan_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/cli/test_sync_plan_helpers.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/fixtures/__init__.py: -------------------------------------------------------------------------------- 1 | """Test fixture data for vcspull.""" 2 | -------------------------------------------------------------------------------- /tests/fixtures/example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/fixtures/example.py -------------------------------------------------------------------------------- /tests/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/helpers.py -------------------------------------------------------------------------------- /tests/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_cli.py -------------------------------------------------------------------------------- /tests/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_config.py -------------------------------------------------------------------------------- /tests/test_config_file.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_config_file.py -------------------------------------------------------------------------------- /tests/test_config_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_config_reader.py -------------------------------------------------------------------------------- /tests/test_config_writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_config_writer.py -------------------------------------------------------------------------------- /tests/test_log.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_log.py -------------------------------------------------------------------------------- /tests/test_repo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_repo.py -------------------------------------------------------------------------------- /tests/test_sync.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_sync.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vcs-python/vcspull/HEAD/uv.lock --------------------------------------------------------------------------------