copy#

barecat.maintenance.merge.copy(src, dst, size=None, src_offset=None, dst_offset=None, bufsize=_DEFAULT_BUFSIZE)[source]#

Copy bytes between file objects using the fastest available method.

Automatically handles: - Same-file with overlap (memmove-style) - Same-file non-overlapping (kernel copy if available) - Different files (kernel copy or buffered) - Pipes (splice) - Unknown size (loops until EOF)

Returns:

Number of bytes copied