Skip to content

RepoPort v0.1.0

Latest

Choose a tag to compare

@TohruSu TohruSu released this 23 Oct 18:27
· 2 commits to main since this release

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/repository

Exit codes:

  • 0 — No issues found
  • 1 — Potential filename compatibility issues detected
  • 2 — 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