"ab" seems to make no sense here (if there is already a (crap, but non-empty) segment file,
we would write a MAGIC right into the middle of the resulting file) and cause #2099.
like '<numberspace>_<version>', e.g. '1.0_01' for version 01 (used in 1.0 maintenance branch).
this avoids overlap and accidental collisions between different release branches.
This problem was found on cygwin/windows due to its small pipe buffer size of 64kiB.
Due to that, bigger (like >64kiB) writes are always only partially done and os.write() returns
the amount of data that was actually sent. the code previously did not use that return value
and assumed that always all is sent, which led to a loss of the remainder of transmission data
and usually some "unexpected RPC data format" error on the client side.
Neither Linux nor *BSD ever do partial writes on blocking pipes, unless interrupted by a
signal, in which case serve() would terminate.
this makes it far, far easier to diagnose issues like an account being
locked:
Got unexpected RPC data format from server:
This account is currently not available.
this is a cleanup change, found this while trying to find out why
borg_cmd spuriously does not have INFO loglevel when testing with
pytest-xdist.
the cleanup did NOT help with this, but is at least a cleanup.
the problem was that there neither was a do_debug implementation for the case
someone just enters "borg debug", nor did the parser inherit from common_parser
(so accessing .umask triggered an exception before setup_logging() was called,
which triggered another exception when log output should have been emitted).
same for do_key ("borg key").
added a generic handler that just prints the subcommand help.
we must exclude colon and slash chars from the username, otherwise the term for the user part
will match everything up to a @ char in the archive name.
a slash can't be in a username as the home directory would contain a illegal slash (slash is path sep),
a colon likely also should not be in a username because chown user:group ... syntax.