* copy() and rename() will overwrite any destination, including on Windows.
Tested with Windows 7, and even rename() does this. The /Y flag is also
set for Windows cmd commands now.
* Set the "binary mode" /B flag for Windows cmd commands.
Change-Id: Id11f31b020f786d5b66b0c57298ecc2b9d6170fb
* This lets callers use "copy if exist" semantics more easily and avoids extra stat
queries to the backend (since the cache is cleared before doOperations()).
* Tweaked FileOp::fileSha1() to reduce backend stat requests as 404s are not cached.
Change-Id: Icb5ca14b3316f273d53593f48979d14e113990e1
* Since doQuickOperations() implicitely sets "overwrite", and doOperations() handles it
via FileOp, there is no reason to also have each backend double checking this parameter
to handle it. The parameter is no implicit for all the *Internal() functions. This does
not affect callers. It does reduce the amount of HEAD requests since 404s are not cached.
Change-Id: I7d827e16bc55fe5c7b9aa51ec0c6b2f7c0bb629e
* Optimized these in Swift to use pipelined GETs.
* This can also be used to improve concatenate().
Change-Id: Ibeb5df7532f9f5c16736b20c28b7c0d9ddfb412f