Borg Backup 1.4.4 - Native Windows Build (Preview 7)
Small but impactful fixes on top of win6, driven by user reports.
Local drive-letter repositories now work (#7)
A repository given as a drive-letter path — C:\repo, C:/repo, a USB drive like D:\Backups\repo — was being misread as an scp-style SSH target (host named C) and borg would hang trying to connect over the network. The repository-location parser now recognizes drive-letter and UNC paths as local before attempting the SSH/scp interpretation.
ssh://...anduser@host:pathremotes are unchanged.- Verified with
init/create/list/extractround-trips against a local drive-letter repo.
Cleaner error when an SSH connection drops (#8)
On Windows, a dropped SSH pipe surfaces as OSError: [Errno 22] Invalid argument (EINVAL) rather than the BrokenPipeError borg expects. That slipped past borg's handler and produced a confusing double traceback. borg now treats EINVAL/EBADF on Windows as a broken connection and reports the normal, single "Connection to remote host is broken" message.
Note: this improves the error reporting for a dropped connection; it does not change why a connection might drop (network/SSH idle timeout/remote server). If you hit repeated disconnects on large backups, run once with
--debugand check for an SSH idle timeout on the server.
Version reporting (#4)
borg --version now reports the real release version (1.4.4+win7). The Windows build sets the version explicitly (SETUPTOOLS_SCM_PRETEND_VERSION=1.4.4+win7), since the v1.4.4-winN tag form is not a valid PEP 440 version for setuptools_scm to read automatically.
Cumulative Windows fork features
- Native Windows NTFS ACL backup/restore (SDDL-based)
- MSVC build support
- Remote SSH repository support on Windows
- Forward-slash path normalization in archives (cross-platform portable)
- Drive letter stored as first path component (e.g.
C/Users/...); use--strip-components 1on extract --strip-componentsand pattern matching fixed for Windows paths- Windows cancel/force-kill reliability via Job Object (win6)
- Local drive-letter repository paths + cleaner connection-drop errors (win7)
⚠ SSH client requirement
Some versions of the Windows built-in OpenSSH client have a subprocess-stdin forwarding bug that hangs borg over ssh://. Workaround: use Git for Windows' bundled ssh via BORG_RSH. See README_WINDOWS.md.