vcs-versioning 2.3.0__tar.gz → 2.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/CHANGELOG.md +6 -0
- {vcs_versioning-2.3.0/src/vcs_versioning.egg-info → vcs_versioning-2.3.1}/PKG-INFO +1 -1
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_file_finders/_git.py +4 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1/src/vcs_versioning.egg-info}/PKG-INFO +1 -1
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_git.py +20 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/LICENSE.txt +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/MANIFEST.in +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/README.md +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/pyproject.toml +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/setup.cfg +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/setup.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/__init__.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/__main__.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_backends/__init__.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_backends/_discover_vcs.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_backends/_git.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_backends/_hg.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_backends/_hg_git.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_backends/_jj.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_backends/_scm_workdir.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_cli/__init__.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_cli/_args.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_cli/git_archival_full.txt +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_cli/git_archival_stable.txt +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_compat.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_config.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_discover.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_dump_version.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_dynamic_metadata.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_entrypoints.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_environment.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_exceptions.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_fallback_workdir.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_fallbacks.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_file_finders/__init__.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_file_finders/_hg.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_file_finders/_jj.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_get_version_impl.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_integration.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_integrator_helpers.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_legacy_parse.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_log.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_modify_version.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_node_utils.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_overrides.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_paths.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_project_overrides.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_protocols.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_pyproject_reading.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_requirement_cls.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_run_cmd.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_scm_metadata.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_scm_version.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_test_utils.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_toml.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_types.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_cls.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_fields.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_inference.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_schemes/__init__.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_schemes/_common.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_schemes/_standard.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_schemes/_towncrier.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_worktree_discovery.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/overrides.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/py.typed +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/test_api.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning.egg-info/SOURCES.txt +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning.egg-info/dependency_links.txt +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning.egg-info/entry_points.txt +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning.egg-info/requires.txt +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning.egg-info/top_level.txt +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/__init__.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/conftest.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_better_root_errors.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_chain_api.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_compat.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_config.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_dynamic_metadata.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_expect_parse.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_file_finders.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_hg_git.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_hg_tag_strict.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_integrator_helpers.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_internal_log_level.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_jj.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_legacy_parse.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_mercurial.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_overrides_api.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_overrides_env_reader.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_project_overrides.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_project_path.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_regressions.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_scm_metadata.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_tag_config.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_tag_strict_diagnostics.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_version.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_version_scheme_towncrier.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_version_schemes.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_workdir_api.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/testing_vcs/test_workdir_discovery.py +0 -0
- {vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/uv.lock +0 -0
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- towncrier release notes start -->
|
|
4
4
|
|
|
5
|
+
## 2.3.1 (2026-08-19)
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Fix a `FileNotFoundError` crash in the git file finder when a submodule is tracked in the index but its working tree directory does not exist - such gitlinks are now skipped like not checked out submodules. ([#1500](https://github.com/pypa/setuptools-scm/issues/1500))
|
|
10
|
+
|
|
5
11
|
## 2.3.0 (2026-08-13)
|
|
6
12
|
|
|
7
13
|
### Added
|
|
@@ -84,6 +84,10 @@ def _ls_files_entries(
|
|
|
84
84
|
``None`` signals that git refused to list files (no repository yet,
|
|
85
85
|
or a submodule that is not checked out).
|
|
86
86
|
"""
|
|
87
|
+
if not repo.is_dir():
|
|
88
|
+
# a submodule tracked in the index whose working tree is absent -
|
|
89
|
+
# running git in it would fail before git could report anything
|
|
90
|
+
return None
|
|
87
91
|
res = run_git(
|
|
88
92
|
["ls-files", "-z", "-s", "--", ".", ":(exclude,attr:export-ignore)"],
|
|
89
93
|
repo,
|
|
@@ -508,6 +508,26 @@ def test_git_uninitialized_submodule_skipped(
|
|
|
508
508
|
assert not [name for name in found if "mysub" in name]
|
|
509
509
|
|
|
510
510
|
|
|
511
|
+
@pytest.mark.issue("https://github.com/pypa/setuptools-scm/issues/1500")
|
|
512
|
+
def test_git_submodule_without_working_tree_skipped(
|
|
513
|
+
wd: WorkDir, monkeypatch: pytest.MonkeyPatch
|
|
514
|
+
) -> None:
|
|
515
|
+
"""A gitlink whose directory does not exist at all is skipped, not fatal."""
|
|
516
|
+
wd.write("parent_file.txt", "parent content")
|
|
517
|
+
wd("git add parent_file.txt")
|
|
518
|
+
wd(
|
|
519
|
+
"git update-index --add --cacheinfo"
|
|
520
|
+
" 160000,77ef5b8fe4bab2b73f7b234267f0dfb75e96eeee,missing_submodule"
|
|
521
|
+
)
|
|
522
|
+
wd.commit()
|
|
523
|
+
|
|
524
|
+
monkeypatch.chdir(wd.cwd)
|
|
525
|
+
found = set(vcs_versioning._file_finders.find_files("."))
|
|
526
|
+
|
|
527
|
+
assert opj(".", "parent_file.txt") in found
|
|
528
|
+
assert not [name for name in found if "missing_submodule" in name]
|
|
529
|
+
|
|
530
|
+
|
|
511
531
|
@pytest.mark.issue("https://github.com/pypa/setuptools-scm/issues/728")
|
|
512
532
|
def test_git_branch_names_correct(wd: WorkDir) -> None:
|
|
513
533
|
wd.commit_testfile()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_cli/git_archival_stable.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_schemes/__init__.py
RENAMED
|
File without changes
|
{vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_schemes/_common.py
RENAMED
|
File without changes
|
{vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_schemes/_standard.py
RENAMED
|
File without changes
|
{vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning/_version_schemes/_towncrier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vcs_versioning-2.3.0 → vcs_versioning-2.3.1}/src/vcs_versioning.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|