Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on May 25, 2013
  1. s3cmd get to stdout: set file_exists to avoid traceback, bug #175

    authored committed
    Fixes s3tools#175
    Reported by Seth Noble.
    Set file_exists so we don't try to delete sys.stdout if getting the
    file happens to fail.
Commits on May 23, 2013
  1. @mludvig

    Merge branch 'revert-xattr'

    mludvig authored
    Sorry this is not correct.
    What will happen if we create the md5_xattr on Monday and
    change the file on Tuesday? Unfortunately the old md5_xattr
    will still be there and s3cmd will think the file hasn't
    changed.  This is not acceptable - we need a way to
    disregard md5_xattr if the file has changed, that is if its
    size or mtime or ctime has changed. These values will have
    to be stored in the xattr and checked by s3cmd before using
    the md5 from there.
  2. @mludvig

    Revert "add --xattr option referring to file system extended attribut…

    mludvig authored
    …e containing md5sums"
    This reverts commit 730dbcc.
  3. @mludvig

    Revert "fix conditional import xattr module"

    mludvig authored
    This reverts commit 8f9b035.
  4. @mludvig
  5. @mludvig

    Removed S3/ and s3db - this never worked.

    mludvig authored
    Amazon's preferred NoSQL is now DynamoDB anyway.
Commits on May 21, 2013
  1. Merge branch 'bug/remote-md5sum' into merge

    authored committed
  2. look at metadata md5 for get as well

    authored committed
  3. Merge branch 'bug/remote-md5sum' into merge

    authored committed
  4. use metadata-stored md5 in bucket list, put, and info

    authored committed
    Now that we can reasonably expect response['s3cmd-attrs'] to contain
    valid md5 data, use that in the bucket list and info commands instead
    of ETags if available.
    Furthermore, be sure to store these attributes
    in the put command, either when --preserve is given, or if we will be
    uploading a multi-chunk file.  We were storing these with the sync
    --preserve command, be sure to do it in put also.
  5. move x-amz-meta-s3cmd-attrs handling into

    authored committed
    This is AWS-specific metadata.  It should be handled in exactly one
    place,, rather than ad-hoc in several places.
  6. Merge branch 'bug/remote-md5sum' into merge

    authored committed
  7. FileLists: get md5 from headers

    authored committed
    In the recursive case, we really don't care if require_attribs is set,
    but we do still care if the existing MD5 value (from ETag) is a
    multi-part object.  In that case, we definitely want to try to get it
    from the headers.
    Drop test for require_attribs.  Keep test for "-" in ETag.
Commits on May 20, 2013
  1. Merge branch 'bug/remote-md5sum' into merge

    authored committed
  2. Get md5 from remote attribute header in recursive syncs too

    authored committed
    We were not getting the md5 value from the attribute header of each
    file for the recursive case, only for the non-recursive case.  That
    was stupid.  We were certainly _setting_ the md5value into the
    attribute header.
    This should eliminate the
    INFO: disabled md5 check for...
    messages on subsequent syncs when s3cmd 1.5.0-alpha+ is used to upload
    content in the first place.
  3. Merge branch 'bug/155' into merge

    authored committed
  4. Don't emit "cowardly" message unless we have source files & delete files

    authored committed
    We were looking at the wrong (post-compare) list lengths, rather than
    the original (discovered by walk) list lengths.  And we weren't
    checking to see if we had any files to delete, or not, before issuing
    the "cowardly" message.  So for a "null" (no files to transfer) sync
    run, we would emit the message.  That's wrong.
    This patch fixes both problems:
    1) it uses the discovered source file count.  If nonzero, we will not
    emit the message.
    2) it looks at the count of files to delete.  If zero, we will not
    emit the message.
Commits on May 17, 2013
  1. Merge branch 'xattr' into merge

    authored committed
  2. push md5_xattr to Config only if xattr module was imported

    authored committed
    Otherwise options.md5_xattr does not exist.
Commits on May 15, 2013
  1. Merge branch 'xattr' into merge

    authored committed
  2. fix conditional import xattr module

    authored committed
  3. Merge branch 'xattr' into merge

    authored committed
  4. add --xattr option referring to file system extended attribute contai…

    authored committed
    …ning md5sums
    Inspired by a patch from Jay McCanta <> who suggested
    this was possible, 2013-05-14 to the s3tools-general mailing list.
    This patch adds the --xattr command line and md5_xattr config file
    option, specifying a file system extended attribute in the USER
    namespace which contains the md5sum for the file.  If the extended
    attribute is not present, the code falls back to performing local file
    I/O to calculate the md5sum, as before.  This can be used to speed up
    transfers by avoiding the need to calculate md5sums for all files,
    assuming this has been done at least once before somehow, with the
    results stored in each file's xattr.
    In addition to Jay's work, this patch simplifies testing for xattr
    module import success, passes the result into the Config object,
    and ensures the correct namespace is used.  Also added a test to the test
    suite, and the entry on the manpage.
Commits on May 11, 2013
  1. Merge branch 'bug/153' into merge, PR #157

    authored committed
  2. Merge branch 'bug/155' into merge, PR #156

    authored committed
  3. Merge remote-tracking branch 'yar/master' into merge, PR #147

    authored committed
  4. Merge branch 'files-from' into merge, pull request #116

    authored committed
Commits on May 7, 2013
  1. @abuchanan-grio

    Fix printing error in `report_exception(e)`

    abuchanan-grio authored
    Fixes `TypeError: unsupported operand type(s) for %: 'NoneType' and 'str'` arising from using string formatting with the /result/ of sys.stderr.write() instead of the argument to it.
Commits on Apr 28, 2013
  1. @mludvig

    Merge pull request #154 from EnlytonJ/master

    mludvig authored
    Fix needed on Windows where os.path.sep != s3_separator
Something went wrong with that request. Please try again.