|
2 | 2 |
|
3 | 3 | ## Phase Completion Checklist |
4 | 4 |
|
5 | | -- [ ] Phase 1: Setup vcs_versioning Package Structure |
6 | | - - [ ] Update pyproject.toml with dependencies |
7 | | - - [ ] Add entry points |
8 | | - - [ ] Create directory structure |
9 | | - |
10 | | -- [ ] Phase 2: Move Core Functionality to vcs_versioning |
11 | | - - [ ] Move core APIs (config, scm_version, version_cls) |
12 | | - - [ ] Move VCS backends (git, hg, hg_git, scm_workdir) |
13 | | - - [ ] Move discovery module |
14 | | - - [ ] Move utilities |
15 | | - - [ ] Move CLI |
16 | | - - [ ] Split pyproject reading |
17 | | - |
18 | | -- [ ] Phase 3: Create Backward Compatibility Layer in vcs_versioning |
19 | | - - [ ] Create compat.py module |
20 | | - - [ ] Handle legacy entry point names |
21 | | - - [ ] Support both tool.setuptools_scm and tool.vcs-versioning |
22 | | - |
23 | | -- [ ] Phase 4: Update vcs_versioning Public API |
24 | | - - [ ] Update __init__.py exports |
25 | | - - [ ] Export Configuration, ScmVersion, Version classes |
26 | | - - [ ] Export default constants |
27 | | - |
28 | | -- [ ] Phase 5: Rebuild setuptools_scm as Integration Layer |
29 | | - - [ ] Update dependencies to include vcs-versioning |
30 | | - - [ ] Create re-export stubs |
31 | | - - [ ] Update _integration/ imports |
32 | | - - [ ] Update entry points |
33 | | - |
34 | | -- [ ] Phase 6: Move and Update Tests |
35 | | - - [ ] Move VCS/core tests to vcs_versioning |
36 | | - - [ ] Update imports in moved tests |
37 | | - - [ ] Keep integration tests in setuptools_scm |
38 | | - - [ ] Update integration test imports |
39 | | - |
40 | | -- [ ] Phase 7: Progress Tracking & Commits |
| 5 | +- [x] Phase 1: Setup vcs_versioning Package Structure |
| 6 | + - [x] Update pyproject.toml with dependencies |
| 7 | + - [x] Add entry points |
| 8 | + - [x] Create directory structure |
| 9 | + |
| 10 | +- [x] Phase 2: Move Core Functionality to vcs_versioning |
| 11 | + - [x] Move core APIs (config, scm_version, version_cls) |
| 12 | + - [x] Move VCS backends (git, hg, hg_git, scm_workdir) |
| 13 | + - [x] Move discovery module |
| 14 | + - [x] Move utilities |
| 15 | + - [x] Move CLI |
| 16 | + - [x] Split pyproject reading |
| 17 | + |
| 18 | +- [x] Phase 3: Create Backward Compatibility Layer in vcs_versioning |
| 19 | + - [x] Create compat.py module |
| 20 | + - [x] Handle legacy entry point names |
| 21 | + - [x] Support both tool.setuptools_scm and tool.vcs-versioning |
| 22 | + |
| 23 | +- [x] Phase 4: Update vcs_versioning Public API |
| 24 | + - [x] Update __init__.py exports |
| 25 | + - [x] Export Configuration, ScmVersion, Version classes |
| 26 | + - [x] Export default constants |
| 27 | + |
| 28 | +- [x] Phase 5: Rebuild setuptools_scm as Integration Layer |
| 29 | + - [x] Update dependencies to include vcs-versioning |
| 30 | + - [x] Create re-export stubs |
| 31 | + - [x] Update _integration/ imports |
| 32 | + - [x] Update entry points |
| 33 | + |
| 34 | +- [x] Phase 6: Move and Update Tests |
| 35 | + - [x] Move VCS/core tests to vcs_versioning |
| 36 | + - [x] Update imports in moved tests |
| 37 | + - [x] Keep integration tests in setuptools_scm |
| 38 | + - [x] Update integration test imports |
| 39 | + |
| 40 | +- [x] Phase 7: Progress Tracking & Commits |
41 | 41 | - [x] Create .wip/ directory |
42 | | - - [ ] Make phase commits |
43 | | - - [ ] Test after each commit |
| 42 | + - [x] Make phase commits |
| 43 | + - [x] Test after each commit |
44 | 44 |
|
45 | | -- [ ] Phase 8: CI/CD Updates |
46 | | - - [ ] Update GitHub Actions (if exists) |
47 | | - - [ ] Validate local testing |
| 45 | +- [x] Phase 8: CI/CD Updates |
| 46 | + - [x] Update GitHub Actions (if exists) |
| 47 | + - [x] Validate local testing |
48 | 48 |
|
49 | 49 | ## Current Status |
50 | 50 |
|
@@ -78,28 +78,53 @@ Phase 2: In progress - Core functionality moved, imports being updated |
78 | 78 | - Test basic imports |
79 | 79 | - Commit Phase 1 & 2 work |
80 | 80 |
|
81 | | -## Latest Status (October 12, 2025) |
| 81 | +## Latest Status (October 12, 2025 - Updated) |
82 | 82 |
|
83 | | -### ✅ Completed |
| 83 | +### ✅ COMPLETED - ALL PHASES |
84 | 84 | - **Phase 1-2**: Package structure and code movement complete |
85 | | -- **Phase 3**: Circular imports resolved, ScmVersion in _version_schemes |
86 | | -- **Phase 4**: uv workspace configured, both packages build successfully |
87 | | -- **Phase 5**: Backward compatibility layer complete with re-export stubs |
88 | | -- **License fix**: Updated pyproject.toml to use SPDX license format |
89 | | -- **Test imports**: All 419 tests collected successfully |
90 | | -- **Private API separation**: Tests import private APIs from vcs_versioning directly |
91 | | - |
92 | | -### 🔄 In Progress |
93 | | -- **Phase 6**: Test suite fixes (5/19 passing in test_basic_api) |
94 | | -- **Legacy API compatibility**: get_version() needs parameter handling |
| 85 | +- **Phase 3**: Backward compatibility layer complete |
| 86 | + - Circular imports resolved, ScmVersion in _version_schemes |
| 87 | + - Re-export stubs in setuptools_scm for backward compatibility |
| 88 | +- **Phase 4**: Public API properly exported |
| 89 | + - vcs_versioning exports Configuration, ScmVersion, Version |
| 90 | + - setuptools_scm re-exports for backward compatibility |
| 91 | +- **Phase 5**: Integration layer rebuilt |
| 92 | + - setuptools_scm depends on vcs-versioning |
| 93 | + - Entry points properly distributed between packages |
| 94 | + - File finders remain in setuptools_scm |
| 95 | +- **Phase 6**: Test migration complete |
| 96 | + - VCS-agnostic tests moved to vcs-versioning (79 tests) |
| 97 | + - Integration tests remain in setuptools_scm (329 tests) |
| 98 | + - All test imports fixed to use correct modules |
| 99 | +- **Phase 7**: Progress tracked with regular commits |
| 100 | +- **Phase 8**: CI/CD ready |
| 101 | + - uv workspace configured |
| 102 | + - Both packages build successfully |
| 103 | + - Test suite passes locally |
| 104 | + |
| 105 | +### 🎉 Logging Unification Complete |
| 106 | +- **Separate root loggers** for vcs_versioning and setuptools_scm |
| 107 | +- **Entry point configuration** at CLI and setuptools integration |
| 108 | +- **Central logger registry** with LOGGER_NAMES |
| 109 | +- **Environment variables**: VCS_VERSIONING_DEBUG and SETUPTOOLS_SCM_DEBUG |
| 110 | +- **Standard logging pattern**: All modules use logging.getLogger(__name__) |
95 | 111 |
|
96 | 112 | ### 📦 Build Status |
97 | 113 | - `uv sync` successful |
98 | | -- Both packages install: setuptools-scm 9.2.2.dev12, vcs-versioning 0.0.1 |
99 | | -- Tests can be collected and run |
100 | | - |
101 | | -### 🧪 Test Status |
102 | | -- **vcs-versioning**: 79/79 tests passing (test_compat, test_internal_log_level, test_version) |
103 | | -- **setuptools_scm**: 419 tests collected, integration tests running |
104 | | -- Src layout implemented in both packages |
| 114 | +- setuptools-scm: version 9.2.2.dev20+g6e22672.d20251012 |
| 115 | +- vcs-versioning: version 0.0.1 |
| 116 | +- Both packages install and import correctly |
| 117 | + |
| 118 | +### 🧪 Test Results - ALL PASSING ✅ |
| 119 | +- **vcs-versioning**: 79 passed |
| 120 | +- **setuptools_scm**: 329 passed, 10 skipped, 1 xfailed |
| 121 | +- **Total**: 408 tests passing |
| 122 | +- Test run time: ~15s with parallel execution |
| 123 | + |
| 124 | +### 🔧 Key Fixes Applied |
| 125 | +1. Empty tag regex deprecation warning properly emitted |
| 126 | +2. Test mocks patching actual module locations |
| 127 | +3. Missing backward compat imports (strip_path_suffix, __main__.py) |
| 128 | +4. setuptools.dynamic.version conflict warning |
| 129 | +5. Test patches for _git module vs re-exported git |
105 | 130 |
|
0 commit comments