Repository navigation
Releases: wangnan0916/wsl-copy
Release list
v0.2.1
Automated build from the version tag using GitHub Actions.
Includes Linux amd64 and arm64 binaries for WSL, MIT and third-party license notices, and SHA256SUMS.
Run wsl-copy update to install the newest public release, including prereleases. It takes no version arguments and preserves user configuration. Versions older than v0.2.1 need one installer rerun to gain the update command.
Linux tests, race checks, go vet, module verification and packaging checks passed. ARM64 is cross-built only. This hosted Linux workflow does not run WSL/Windows-native tests.
Windows tar has known emoji, decomposed-Unicode and long-path limitations. See the repository README for requirements, installation, target mapping and the safety contract. Existing targets are refused by default; explicit replacement renames old, copies new and retires old in the background without delaying readiness. The CLI serializes cooperating copies with a shared nonblocking WSL lock; background retirement does not hold it. No merge or background sync.
v0.2.0
Automated build from the version tag using GitHub Actions.
Includes Linux amd64 and arm64 binaries for WSL, MIT and third-party license notices, and SHA256SUMS.
Linux tests, race checks, go vet, module verification and packaging checks passed. ARM64 is cross-built only. This hosted Linux workflow does not run WSL/Windows-native tests.
Windows tar has known emoji, decomposed-Unicode and long-path limitations. See the repository README for requirements, installation, target mapping and the safety contract. Existing targets are refused by default; explicit replacement renames old, copies new and retires old in the background without delaying readiness. The CLI serializes cooperating copies with a shared nonblocking WSL lock; background retirement does not hold it. No merge or background sync.
v0.1.0 — Initial preview release
Initial preview release
Copy WSL directories to new Windows directories. No overwrite, merge, reverse copy or background sync.
Included
- Standalone Linux CLI for WSL and reusable Go package
github.com/wangnan0916/wsl-copy/wslcopy. - One uncompressed GNU tar archive streamed to one Windows tar extraction process.
- Read-only destination checks, exclusive creation, dry-run validation, caller cancellation and retained destinations on failure.
- JSON result output with exit codes.
- MIT license; dependency and Go runtime license notices bundled in each archive.
Downloads
- wsl-copy-linux-amd64.tar.gz — tested on x86-64 WSL with native Windows tools.
- wsl-copy-linux-arm64.tar.gz — cross-built; not executed on ARM64 hardware.
- SHA256SUMS — SHA-256 checksums for both archives.
Each archive contains wsl-copy, LICENSE and THIRD_PARTY_NOTICES. These are Linux binaries, not Windows executables. GNU tar, wslpath, Windows tar, PowerShell and WSL interoperability are required; Go and Python are not runtime dependencies.
Validation
Local tests, race tests, go vet, go fix checks and dependency verification passed. Native Windows tests: 5 passed; 3 narrowly gated known compatibility cases skipped. The packaged amd64 CLI also passed a native copy/dry-run/no-overwrite smoke test.
A real mini-program build (8,309 files, 2,552 subdirectories, 45.3 MiB) copied in a median 2.68 seconds across five local runs. These measurements used memory-backed tar staging and did not flush caches; they are not performance guarantees.
Known limitations
Windows bsdtar 3.8.9 can reject emoji filenames, normalize decomposed Unicode filenames, and fail with long destination paths. These are unresolved platform-tool compatibility issues, not fixed by this release. Successful command completion does not certify exact content or filename round trips.