INNER CODE UNIT · Python

cmd_rollback

kangarooking/cangjie-skill · scripts/cangjie.py:223

def cmd_rollback(args) -> int:
    sidecar = Path(args.pack) / ".cangjie"
    snaps = sorted((sidecar / "snapshots").glob("*")) if (sidecar / "snapshots").exists() else []
    if args.list or not args.to:
        print("可用快照:" + ("\n  " + "\n  ".join(s.name for s in snaps) if snaps else " (无)"))
        return 0
    snap = sidecar / "snapshots" / args.to
    if not snap.is_dir():
        raise SystemExit(f"快照不存在: {snap}")
    target = Path(args.target)
    with WriterLock(target):
        if target.exists():
            snapshot_dir(target, sidecar / "snapshots", "pre-rollback")
            shutil.rmtree(target)
        shutil.copytree(snap, target)
    print(f"已回滚 {target} ← {snap.name}")
    return 0

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…