·
23 commits
to master
since this release
Immutable
release. Only release title and notes can be modified.
Added
smvnow reads~/.ssh/configby default, applyingHostName,User,Port,IdentityFile,Compression, andConnectTimeoutdirectives. Explicit CLI flags still take precedence.smv-F/--ssh-configoption to load an alternative ssh_config file (mirrorsscp -F).smv--no-ssh-configoption to disable ssh_config reading entirely.smv-o KEY=VALUE(repeatable) to pass ssh_config-style options on the command line. Supported keys:Compression,ConnectTimeout,HostName,IdentityFile,Port, andUser. Unknown keys are rejected with a clear error. Precedence: explicit CLI flag >-o>-F>~/.ssh/config> built-in defaults (matchesscp).smv-q/--quietto silence INFO-level log output (errors are still printed).smv-v/--verboseas an alias for-d/--debug(matchesscp -v).smv-Bfor scp batch-mode compatibility. Accepted as a no-op because paramiko is already non-interactive by default.smv-J [user@]host[:port][,...]to route the SFTP connection through one or more SSH jump hosts (scp -Jequivalent). Multiple hops are comma-separated. Each hop's port defaults to 22 and the user falls back to the target user if omitted.smv-o ProxyJump=...is now also honoured (added to the-owhitelist). Same chain syntax as-J. Explicit-Jtakes precedence over-o ProxyJump.smv-l KBIT_PER_SECto throttle SFTP uploads in Kbit/s. The limit is applied per file (each upload is independently bounded to the rate). Implemented as a sleep-based callback passed to paramiko'ssftp.put.secure_move_pathaccepts a newbandwidth_limit_kbits: float | None = Nonekeyword for the same effect when calling the library directly.
Changed
merge-dependabot-prsandmerge-pre-commit-ci-prsno longer print a full traceback when a pull request fails to merge during normal runs. A concise warning is logged instead, noting that the pull request will be retried. The full traceback is still emitted under-d/--debug.smv-i/--keynow takes a path argument (validated for existence) instead of a file handle, so the option is actually usable; previously a file-handle object was passed to paramiko, which expects a path.
Fixed
smv(and the underlyingsecure_move_pathutility) no longer fails withOSError: Failurewhen the remote target is a directory (for examplesmv file.zip host:~/Downloads/). The source basename is now appended to directory-style targets, matchingscpbehaviour, while plain renames still work when the target does not exist remotely.smvno longer mis-parsesuser@host:pathtargets; theuser@prefix is now correctly separated from the hostname before being handed to paramiko, which previously failed DNS resolution.
Full Changelog: v0.2.3...v0.2.4