Skip to content
Commits on Feb 19, 2013
  1. @mludvig

    Version 1.5.0-alpha1

    mludvig committed Feb 19, 2013
  2. @mludvig

    Updated NEWS

    mludvig committed Feb 19, 2013
  3. @mludvig

    Updated s3cmd.1 manpage

    mludvig committed Feb 19, 2013
  4. @mludvig

    Re-add debug messages

    mludvig committed Feb 19, 2013
    Revert (and improve) #89d49c8e48
Commits on Feb 18, 2013
  1. @mludvig

    Fix whitespace errors

    mludvig committed Feb 19, 2013
    Replace leading <Tab> with 4x<Space>
    Remove trailing whitespace
  2. @mludvig

    rem_list must be SortedDict()

    mludvig committed Feb 19, 2013
    Don't re-initialise it as {} (plain dict())
  3. @mludvig

    Split _fswalk() to _fswalk_{no,follow}_symlinks()

    mludvig committed Feb 19, 2013
    Calling a generator from a generator didn't quite work.
  4. @mludvig

    Update test "Sync remote2remote"

    mludvig committed Feb 19, 2013
    Updated test results to reflect server-side copy
  5. @mludvig

    Fix cmd_object_put()

    mludvig committed Feb 19, 2013
    Incorrect check for upload from stdin caused failure
    in recursive put uploads
  6. @mludvig
  7. @mludvig

    Do not hardlink files when in remote->local

    mludvig committed Feb 19, 2013
    We can't hardlink only based on MD5. That would for example make
    all empty files hardlinked together.
    
    For now we will just copy locally instead of hardlink.
  8. @mludvig

    Fixed dst_list cleanup in compare_filelists

    mludvig committed Feb 19, 2013
    We must leave unwanted files in dst_list
  9. @mludvig

    Merge branch 'master' into HEAD

    mludvig committed Feb 19, 2013
  10. @mludvig
  11. @mludvig

    Correct path generation in local_hardlink()

    mludvig committed Feb 18, 2013
    Instead of dir+file use os.path.join(dir,file). The former
    leads to an incorrect result if 'dir' doesn't end with '/'
  12. @mludvig

    Improve symlink-loops detection

    mludvig committed Feb 18, 2013
    Cherry-pick cc78fa1:
    Revert 22c60c1 and introduce a better detection
    for symlink-loops. For example this is ok:
    dir1/
         dir2/
         symdir -> dir2/
    While this is a loop:
    dir1/
         symdir -> ../dir1/
  13. @mludvig

    Improve symlink-loops detection

    mludvig committed Feb 18, 2013
    Revert 22c60c1 and introduce a better detection
    for symlink-loops. For example this is ok:
    dir1/
         dir2/
         symdir -> dir2/
    While this is a loop:
    dir1/
         symdir -> ../dir1/
Commits on Jan 2, 2013
  1. @mludvig

    Merge branch 'merge' of https://github.com/mdomsch/s3cmd

    mludvig committed Jan 2, 2013
    Thanks for all the merge work Matt!
Commits on Jan 1, 2013
  1. @mludvig

    Merge pull request #98 from orenhe/master

    mludvig committed Dec 31, 2012
    Prevent 's3cmd get' from leaving dangling empty files on failure
Commits on Dec 31, 2012
  1. @orenhe

    s3cmd get: delete a files if object_get had failed

    orenhe committed Dec 31, 2012
    's3cmd get' command opens destination files as 'ab' (append+write) before even trying to download. In effect, if the
    file doesn't exist, s3cmd creates it.
    
    This patch resolves an unwanted side-effect empty files being left by s3cmd after an error.
    (e.g. file not found, no permission.)
    
    Should only delete files that s3cmd created.
    
    Signed-off-by: Oren Held <oren@held.org.il>
Commits on Dec 10, 2012
  1. @mdomsch
Commits on Dec 9, 2012
  1. @mdomsch

    Handle local hardlink and copy failures by downloading the objects

    mdomsch committed with mdomsch Dec 9, 2012
    During sync remote-to-local, it tries to use hardlink in destination
    files that already have a local copy somewhere.  In the event local
    hardlinking fails, it falls back to doing a local file copy.  In the
    event local copying fails, we need to retrieve the object from S3
    again.
Commits on Dec 8, 2012
  1. @mdomsch

    update_acl(): fix output message

    mdomsch committed with mdomsch Dec 7, 2012
  2. @mdomsch

    be verbose when both hardlinking and copying of local files fails

    mdomsch committed with mdomsch Dec 7, 2012
    We will need to actually do the download then.
  3. @mdomsch
  4. @mdomsch

    wrap get_md5() with try/except IOError

    mdomsch committed with mdomsch Dec 7, 2012
    because the local file may be unreadable.
  5. @mdomsch
Commits on Dec 7, 2012
  1. @mdomsch

    fixup trivial merge conflict

    mdomsch committed with mdomsch Dec 6, 2012
  2. @ringerc

    Add support for creating signed S3 URLs with the new signurl command

    ringerc committed Dec 6, 2012
    Amazon S3 supports URLs signed with an API key that permit time-limited
    access to a normally private resource. Add a "signurl" command to s3cmd
    that generates such URLs.
    
    Usage: s3cmd signurl s3://bucket/object `date -d '1 year' +%s`
    
    ie: s3cmd signurl url-to-sign expiry-in-epoch-seconds
    
    This is a purely offline operation. Your API key and secret are not sent on
    the wire. Your API key is included the generated URL, but your secret is of course
    not.
    
    No validation of the URL against S3 is performed, since this is an offline-only
    operation. Use s3cmd ls or similar to test for valid objects if you need to.
    
    The URL generated is http:// but you can simply change to https:// if you want.
    
    For more information on signed URLs, see:
    
        http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html
Commits on Dec 6, 2012
  1. @mdomsch
  2. @ksauzz @mdomsch
  3. @mdomsch
  4. @mdomsch

    finish merge

    mdomsch committed with mdomsch Dec 6, 2012
  5. @kellymclaughlin @mdomsch

    Reuse a single connection when doing a bucket list

    kellymclaughlin committed with mdomsch Dec 5, 2012
    Listing the contents of a bucket can involve multiple requests if the
    bucket is sufficiently large. The default behavior is to list the
    objects in batches of 1000. Currently a new connection is created for
    each batch and this results in unnecessary connection establishment
    overhead when listing a bucket involves multiple batches. This commit
    moves the connection creation for listing a bucket into the
    bucket_list function and changes the send_request function to
    optionally accept an existing connection as a parameter. This allows
    the same connection to be reused for listing the entire contents of a
    bucket.
  6. @mdomsch
Something went wrong with that request. Please try again.