github marcpope/borg-windows v1.4.4-win7

latest release: v1.4.5-win1
2 months ago

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://... and user@host:path remotes are unchanged.
  • Verified with init / create / list / extract round-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 --debug and 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 1 on extract
  • --strip-components and 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.

Don't miss a new borg-windows release

NewReleases is sending notifications on new releases.