Skip to content

Commit 8c30e5a

Browse files
Update progress: All migration phases complete
✅ All 8 phases completed successfully: - Phase 1-2: Package structure and code movement - Phase 3: Backward compatibility layer - Phase 4: Public API exports - Phase 5: Integration layer rebuilt - Phase 6: Test migration (408 tests passing) - Phase 7: Progress tracking with commits - Phase 8: CI/CD ready Key achievements: - Unified logging with separate root loggers - 329 setuptools_scm tests + 79 vcs-versioning tests passing - Full backward compatibility maintained - Entry points properly distributed - uv workspace configured
1 parent cf34d49 commit 8c30e5a

File tree

1 file changed

+85
-60
lines changed

1 file changed

+85
-60
lines changed

.wip/progress.md

Lines changed: 85 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,49 @@
22

33
## Phase Completion Checklist
44

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
4141
- [x] Create .wip/ directory
42-
- [ ] Make phase commits
43-
- [ ] Test after each commit
42+
- [x] Make phase commits
43+
- [x] Test after each commit
4444

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
4848

4949
## Current Status
5050

@@ -78,28 +78,53 @@ Phase 2: In progress - Core functionality moved, imports being updated
7878
- Test basic imports
7979
- Commit Phase 1 & 2 work
8080

81-
## Latest Status (October 12, 2025)
81+
## Latest Status (October 12, 2025 - Updated)
8282

83-
### Completed
83+
### COMPLETED - ALL PHASES
8484
- **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__)
95111

96112
### 📦 Build Status
97113
- `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
105130

0 commit comments

Comments
 (0)