Repository navigation
Releases
proj-janitor 0.7.22
Summary
- CR-117: Add help text for every CLI subcommand and option so
projjan backup --help(and others) explain flags instead of listing bare names.
Companion Python release: 0.1.22 / python-v0.1.22.
Note: crates.io publish may be delayed by the 24h version rate limit; retry cargo publish when available. Install from git tag meanwhile:
cargo install --git https://github.com/TangCan/proj-janitor --tag v0.7.22 --locked
proj-janitor 0.7.21
Summary
- CR-116: Restore GNU sparse / contiguous archive members (fixes
archive contains special file: ...kernel.elffor holey ELF assets such as TxPlane). - New backups disable GNU sparse headers (
Builder::sparse(false)) to match Python tarfile.
Also includes CR-115 (long symlink targets) from the v0.7.20 tag that crates.io could not accept earlier due to rate limits.
Companion Python release: 0.1.21 / python-v0.1.21.
proj-janitor 0.7.20
Summary
- CR-115: Fix archive backup failure when symlink targets exceed the ustar 100-byte
linknamelimit (e.g. TxPlane relative toolchain paths). Rust now relies onBuilder::append_linkGNU long-link extensions.
Companion Python release: 0.1.20 / python-v0.1.20.
Note: crates.io publish may be delayed by the 24h version rate limit; retry cargo publish when available.
proj-janitor 0.7.19
Summary
- CR-114:
restore --progressnow reports archive member extraction counts (about every 100 members, plus a finalextracted N members (done)line).
Companion Python release: 0.1.19 / python-v0.1.19.
proj-janitor 0.7.18
CR-113
restore --progress / [restore].progress: per-project restore progress on stderr, including dry-run plan size.
Companion Python release: 0.1.18 / python-v0.1.18.
proj-janitor 0.7.17
CR-112
restore --skip-existing / [restore].skip_existing: skip projects whose restore target directory already exists. Conflicts with --force. Combine with --continue-on-error to re-run a partial multi-project restore.
Companion Python release: 0.1.17 / python-v0.1.17.
proj-janitor 0.7.16
CR-111
restore --continue-on-error / [restore].continue_on_error: keep restoring remaining projects after a per-project failure. JSON includes failures. Still exits non-zero and does not roll back successes.
Companion Python release: 0.1.16 / python-v0.1.16.
proj-janitor 0.7.15
CR-110
Archive backups and --dry-run now preflight Windows-nonportable member paths and list all of them before writing (including common stray file.rs:line:col artifacts). Unsafe-path error text is clearer.
Companion Python release: 0.1.15 / python-v0.1.15.
proj-janitor 0.7.14
CR-109:restore --force
restore --force/--no-force与[restore].force- 暂存成功后替换已存在恢复目标目录
- 仍拒绝对称链接与非目录;覆盖需
--yes或交互确认 - dry-run / JSON 标记
overwrite
crates.io: https://crates.io/crates/proj-janitor/0.7.14
proj-janitor 0.7.13
CR-108:scan Git unknown 诊断
scan在 Git STATE 为unknown时 stderr 输出诊断原因- JSON
git.detail记录超时/启动失败或首行 stderr - 含 CR-107 海量小文件 / 多项目扫描容量回归
crates.io: https://crates.io/crates/proj-janitor/0.7.13