Releases: pupca/svncli
Releases · pupca/svncli
Release list
v1.0.0 — First stable release
svncli 1.0.0
CLI tool and Python library for syncing files with Polarion's SVN repository when direct SVN access is not available (PolarionX, hosted environments).
Features
- CLI commands:
ls,cp,sync,rm,mkdir,login/logout— modeled afteraws s3 - Python API:
PolarionSVNClientclass mirrors the CLI for programmatic use - Multi-server:
server:pathformat for all commands, with per-server cookie management - Cross-server sync: copy and sync files between two Polarion servers
- Smart sync: revision tracking with manifests — only transfers changed files
- Three auth methods: browser cookie extraction, interactive browser login (Playwright), or manual cookie string
- Platforms: macOS, Linux, Windows — Python 3.10–3.14
CLI Quick Start
pip install svncli
svncli login https://your-server.com
svncli ls https://your-server.com:Project/trunk
svncli sync ./local-folder https://your-server.com:Project/trunkPython API
from svncli import PolarionSVNClient
client = PolarionSVNClient()
client.login("https://your-server.com")
items = client.ls("https://your-server.com:Project/trunk")
client.sync("./local", "https://your-server.com:Project/trunk")Security
- Zip Slip protection on archive extraction
- Atomic cookie file writes with restricted permissions (0o600)
- Symlink-safe local directory scanning
- Path traversal protection in download sync
- No environment variable expansion in paths