Repository navigation
RepoPort v0.1.0 — Initial Release
RepoPort is a lightweight, read-only Python CLI that detects potential cross-platform filename compatibility issues in Git repositories before they cause problems on other operating systems.
Features
- Case collision detection: Identify tracked paths that collide after Unicode case folding.
- Unicode normalization checks: Detect paths that become identical after NFC normalization.
- Windows filename compatibility: Detect reserved device names, forbidden characters, and trailing spaces or periods.
- Git-aware scanning: Inspect tracked paths directly from the Git index, including staged additions and files missing from the working tree.
- Safe and predictable: Read-only operation, deterministic diagnostics, and clear exit codes for scripting and CI integration.
Installation
Requires Python 3.11+ and Git.
git clone https://github.com/TohruSu/RepoPort.git
cd RepoPort
python -m pip install .Usage
repoport check .
repoport check /path/to/repositoryExit codes:
0— No issues found1— Potential filename compatibility issues detected2— Execution or usage error
Verification
The initial release passed all 19 automated tests locally and successfully completed GitHub Actions CI on Ubuntu and Windows with Python 3.11 and 3.14.
Known Limitations
Unicode case folding is a conservative portability check rather than an exact simulation of every filesystem. Non-UTF-8 Git index filenames are reported as errors. Submodule contents are not scanned recursively.
RepoPort does not modify or automatically rename files.
License: MIT