commit 793418f6cbcec7253a49d697d34ef0cc11387aef
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 21 18:00:18 2018 -0400

    Version 1.3.6 for release.

commit 035d47815650d7f61324b2df05291cc02641a001
Merge: f0822f0 e1cd3fc
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 21 17:51:24 2018 -0400

    Merge pull request #499 from Backblaze/fix_reauthorize
    
    Fix reauthorizing with an application key.  Fix #498.

commit e1cd3fcd2e148f38f9bedded5e98cd36643ec2f9
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 21 16:42:06 2018 -0400

    Fix problems that Codacy found.

commit 56ba6e7e76a440f5ba61e897a2a2dcaa8d32ad73
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 21 16:33:15 2018 -0400

    Fix #498 - reauthorizing with application key
    
    After authorizing, remember the application key.  And then use
    it when re-authorizing.

commit 8063ab6c17008aa4280b1b9af292352c5b06d725
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 21 16:17:25 2018 -0400

    Add account_id_or_app_key_id fields to account info database.
    
    The sqlite database now has an upgrade that adds the column.
    
    Added tests for upgrading the sqlite database, which meant adding
    a "don't upgrade past" parameter to the constructor.  Upgraded
    databases default to returning the account_id if the
    account_id_or_app_key_id is not set.

commit cfa470ee151938a0468177b537f72f0a26c1fd11
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 21 15:44:34 2018 -0400

    Failing unit test for re-auth problem with application keys.

commit f0822f0207097d36b06e30a987b8210470f92930
Merge: 47bcc85 4006bf0
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 20 08:35:28 2018 -0400

    Merge pull request #497 from uskudnik/fix-replace-have
    
    Use `_have` instead of `have` for bash completion

commit 4006bf0de3f3e460cc094eaf7bfb51e3a0407f45
Author: Urban Skudnik <urban.skudnik@gmail.com>
Date:   Sun Aug 19 14:30:53 2018 +0200

    Use `_have` instead of `have`
    
    `have` is deprecated[1] and gets unset at the end of
    bash_completion[2] which can cause issues in certain situations
    (specifically when running bash_completion on NixOS - because
    the script is evaluated at the start[3] but can't finish properly
    because `have` is already unset at that point)
    
    [1] https://github.com/scop/bash-completion/blob/4d88339928aa064a567d5feb40694dfd24a274c5/bash_completion#L114
    [2] https://github.com/scop/bash-completion/blob/4d88339928aa064a567d5feb40694dfd24a274c5/bash_completion#L2103
    [3] https://github.com/NixOS/nixpkgs/blob/80b6513fbf5789ff0208c19a89bae49df2b503ad/nixos/modules/programs/bash/bash.nix#L22

commit 47bcc85ce9234b0d42f11f7273f85b8151b3697b
Merge: 4d4c6aa a4d3f60
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Aug 16 23:33:58 2018 +0200

    Merge pull request #494 from Backblaze/markdown_twine
    
    Add twine to the list of things to install for setup.

commit a4d3f609c8a01ab90c6476d7cbf8f721868ef800
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Aug 16 15:50:18 2018 -0400

    Add twine to the list of things to install for setup.

commit 4d4c6aa25eb18100b581a8949106f44913142960
Merge: 19a178b cc3cf05
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Wed Aug 15 05:38:40 2018 +0200

    Merge pull request #486 from Backblaze/faster_downloads_prework5
    
    Separate progress listeners to read and write

commit 19a178bd47c2863ac4f2bb2790bec396245dc093
Merge: 79e3365 e0d52df
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Wed Aug 15 03:05:01 2018 +0200

    Merge pull request #492 from Backblaze/markdown
    
    Add instructions on updating packages, including setuptools.

commit e0d52dfe8d11e38aeb799a83d96791b473f315f5
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 13 13:44:39 2018 -0400

    Add instructions on updating packages, including setuptools.
    
    The latest setuptools is needed for the markdown content type
    of the README to work in PyPI.
    
    The requirements for setup now include setuptools.

commit 79e336542d0edca85927d179b85c9bf9045e81cf
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 15:10:38 2018 -0400

    One more step in release process: verify pypi

commit e282975b871b25452e24d4adf71048848907e706
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 15:07:20 2018 -0400

    Version 1.3.5 for dev

commit 749182f9ee732394ba09c92fb8b665129fe36391
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 14:56:04 2018 -0400

    Version 1.3.4 for release.

commit 397f2f6a82c61e83537e66e9602224ccacaca6af
Merge: 4154652 e785dc9
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 14:39:35 2018 -0400

    Merge pull request #488 from Backblaze/fix_485
    
    Fix #485

commit e785dc998336d50c9b6cd814a72b9de79628a0ec
Merge: ee60535 4154652
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 14:30:24 2018 -0400

    Merge branch 'master' into fix_485

commit 4154652165dd475d79de606abd70b6debc4596d4
Merge: 5c77cc5 f88b394
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 11:40:44 2018 -0400

    Merge pull request #491 from Backblaze/authorize_account_doc
    
    Update doc for authorize-account.

commit 5c77cc5484aea6b938d07572512e6d02a85613f1
Merge: e91ae90 ae8ef6d
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 11:35:56 2018 -0400

    Merge pull request #489 from Backblaze/test_console_tool
    
    Code cleanup: hard-coded values in TestConsoleTool

commit e91ae908bc242ea36c18dc3d82b12befbeddf97f
Merge: 46f0ce8 342672f
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 09:53:18 2018 -0400

    Merge pull request #490 from Backblaze/fix_integration_test
    
    Update tests to match new error messages from the service.

commit 342672f9f5b5f2aa4042d0b1f8b7f8abedd94245
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 08:26:33 2018 -0400

    yapf

commit e34336e962c8f4a5bf25329d641d319b51bf2294
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 07:36:55 2018 -0400

    Update tests to match new error messages from the service.
    
    For security reasons, 401 responses now have less-informative
    messages.  This updates the test to match.

commit f88b394fa91d80249a0db6049bd6fc7d9fb14256
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 10 07:28:02 2018 -0400

    Update doc for authorize-account.
    
    It's now clearer about how to use master application keys
    vs. normal application keys.

commit ae8ef6d77cf597403a2be722fdee78043c539a2e
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Aug 9 14:31:17 2018 -0400

    Add create_account method to the RawSimulator...
    
    ... and replace hard-coded account ID and master key with values
    return from create_account().

commit 127d8bf177fbe4d073eb0127ce6d687aebe8c0b5
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Aug 9 14:19:25 2018 -0400

    Change expected output strings to format strings.
    
    This will allow substitution of values in the future, so we will not
    have to hard-code things like account IDs any more.

commit ee605357d292be7289621488ebb7ad5dcc3ea489
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Aug 9 11:13:43 2018 -0400

    Fix #485
    
    In `get_bucket_by_name`, do not try to list all of the buckets
    because the application key may not allow that.
    
    Also, remove the temporary workaround for the B2 service bug where
    searching for buckets by name did not work.  The fix will be released
    later today.
    
    yapf for the test case.

commit 181989438f017d880b2aecceb2781cf2f4cc3f29
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Aug 9 09:47:59 2018 -0400

    Add failing test case for #485

commit cc3cf059142144c2df83a695b3c53b84fc9581d7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 6 06:31:30 2018 +0200

    Separate progress listeners to read and write

commit 46f0ce8a721e9b12382ce774ce6985e56bc7c253
Merge: 7c69fd4 9dda123
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Aug 4 07:26:25 2018 -0400

    Merge pull request #483 from Backblaze/run_custom_integration_tests
    
    Let devs pick a pre-commit integration test set

commit 9dda12372ec7c83a613cd6d2e032ceb2a121ee78
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Aug 4 03:46:28 2018 +0200

    Add a help message to pre-commit.sh

commit 7c69fd4dd2aeb6a6e96c42794797ec06cc79c805
Merge: f71d042 a3554ed
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Sat Aug 4 03:26:35 2018 +0200

    Merge pull request #484 from Backblaze/faster_downloads_prework4
    
    Faster downloads prework4

commit f71d042789deae850a89f3882f0559b2afa346f1
Merge: be8b281 653736d
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Aug 2 09:05:31 2018 -0400

    Merge pull request #482 from Backblaze/fix_progress_reporters
    
    Improve progress reporters closing

commit a3554edc163dd4289810ee079f7b6235fda30425
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Aug 2 05:15:23 2018 +0200

    Move small file downloading to a method

commit 92ebc585f635f891c5bb9114dded5b9a0d025aba
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Aug 2 04:59:57 2018 +0200

    Add tracemeta to transferer

commit 0f3c6402f210bd2eb22ae5bc8a7573e5dba6c0ab
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Aug 2 03:41:33 2018 +0200

    Move metadata handling out of Transferer class

commit 56a00714938dbb71a51fd53af238ebba49985d87
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Aug 2 03:37:43 2018 +0200

    Let devs pick a pre-commit integration test set

commit be8b2813800b9d2d664089570bf395bd9f4b8f4c
Merge: 11f261b cea034a
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Aug 2 02:21:48 2018 +0200

    Merge pull request #480 from Backblaze/faster_downloads_prework3
    
    Move download logic from raw_api to transferer

commit 653736d1ec1161360789f7785c5d15af122fbc3f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Aug 2 02:12:20 2018 +0200

    Improve progress reporters closing

commit cea034a91c241f8a7ef7c94523dae4abae21cc63
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Aug 2 02:08:50 2018 +0200

    Apply review comments

commit 11f261b85ab7719ca25f23211e65ceb49c24f5bc
Merge: 9576f8c f4990c9
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 1 08:52:45 2018 -0400

    Merge pull request #479 from Backblaze/fix_license
    
    Make license uniform, make travis enforce it

commit a92d22a9ef0b8fa454ee892687a1f383ccc27645
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Aug 1 08:43:11 2018 +0200

    Move download logic from raw_api to transferer
    
    Fix some bugs on the way

commit 9576f8c85052d043b4bf90da9ccd186860849421
Merge: 104db4a 3b8848c
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Wed Aug 1 06:51:28 2018 +0200

    Merge pull request #477 from Backblaze/faster_downloads_prework2
    
    Move transfer logic to a new class

commit 3b8848c76b9169cb00ceefecbdb7288a8c488e74
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Aug 1 04:50:07 2018 +0200

    Apply review comments

commit f4990c9a8c4a3ecc584f5e122f456377a0344b1a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Aug 1 05:56:02 2018 +0200

    Make license uniform, make travis enforce it

commit 39a383efc20318c3a78681594ff4ed6672cba320
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 31 05:11:53 2018 +0200

    Move transfer logic to a new class

commit 104db4a1ad1c9393737f25f79cf708551f86cdb7
Merge: 19e4475 18fe697
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 30 07:47:20 2018 -0400

    Merge pull request #476 from Backblaze/encoding
    
    Fix b2.utils.b2_url_decode

commit 18fe6974a0f261c07b68d938bc9aa3b58d3934e0
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 30 04:23:02 2018 +0200

    Refactor b2_url_decode slightly

commit 19e447563decb55ce780206fceb47aa705b63dc8
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 14:00:32 2018 -0400

    Version 1.3.3 for development

commit 6093de9443e3725aad3e647ef8612eacb0aa7c70
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 13:53:19 2018 -0400

    Version 1.3.2 for release

commit e9e22d47d47d60f80bc07e743cb959c34bb2e96b
Merge: a0395d8 631b5eb
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 11:33:23 2018 -0400

    Merge pull request #474 from Backblaze/app_keys_fixes
    
    App keys fixes

commit 631b5ebef8ba892520d77a3a85f1f573f0f3c93f
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 10:06:07 2018 -0400

    logger.exception is only for use in try clauses.
    
    This should fix the 3.4 build.

commit 606b6e3c1c278a9876ad57db8cbb8c4cb9ef7150
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 08:40:35 2018 -0400

    Fix typo.

commit 21021994713b6bb613dacc18d761bf3c161b2a93
Merge: 0154900 a0395d8
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 08:35:15 2018 -0400

    Merge branch 'master' into app_keys_fixes

commit 01549005e79a25295779d7ab241f9b82798deb65
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 08:22:50 2018 -0400

    Remove unnecessary 'if'.

commit 88004ffe6c8eeb35734492039e0853cfca05aa8f
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 08:18:15 2018 -0400

    Fix B2Api.list_buckets() with bucket_name
    
    It was not always limiting the returned list to just the one
    bucket requested.  Added unit tests, including a failing test,
    then fixed the bug.

commit 35ec9039ecdf1136c294a730a4d5f42a936798c0
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 28 07:43:18 2018 -0400

    Fix constructor for RestrictedBucket (found by Codacy)

commit d40388d69c1fbe16bfb906806605c56ea825645f
Merge: df12a0c fa64752
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 27 16:42:39 2018 -0400

    Merge pull request #470 from spartan218/app_key_fixes
    
    List Bucket from allowed field only (if specified)

commit a0395d84e87b09fcdb5b5e0595913d6c2fd53872
Merge: f5932b2 2291f61
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 27 16:36:28 2018 -0400

    Merge pull request #471 from Backblaze/capabilities_doc
    
    Add information about required capabilities to doc string for each command.

commit fa647526ef5f2e373f9fb4f950646a4cb5b20ed4
Author: spartan218 <brianj.guzman@gmail.com>
Date:   Fri Jul 27 13:31:45 2018 -0700

    This batch includes a couple of things. First we decided to make some testing for the functionality of using application keys with restrictions to a specific bucket, so both test_console_tool and test_b2_comman_line are now covering that we can successfully call the right commands with the right bucket restrictions. Second we now made it so the api.py layer of list_buckets takes a bucket_name param for the sake of allowing use to list one bucket that the application key is restricted to. This fixes many of the issues we were seeing around bucket restrictions (view comments in api.py for more info about how we save buckets to cache and when/ when not to). We also created a new ResritctedBucket error to raise if the allowed field doesnt match whats being called for.

commit 2291f6173a3565d9b0522edb6f7bba3b10c84173
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 27 16:25:31 2018 -0400

    Print helpful error message if you try to auth with a key that doesn't have listBuckets.

commit 5bffc7ce5813669f9a132269cd05dc59ce868053
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 27 10:26:48 2018 -0400

    Add information to global help about capabilities required.

commit 5f7f015b8cad4c6433ad1b98f0d0fe026e2714ed
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 26 15:44:04 2018 -0400

    Add information about required capabilities to doc string for each command.

commit 26e4964d652d0113bd67d61e32d5eb4dfcb512e8
Author: spartan218 <brianj.guzman@gmail.com>
Date:   Thu Jul 26 10:33:38 2018 -0700

    fix for listing only the bucket which was returned from the allowed field in b2_authorize_account

commit df12a0cbba12ea45a64609a3d9cab8ff3de394da
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 26 10:57:05 2018 -0400

    Extend "no listBuckets" error to all app keys, not just bucket restricted keys.

commit 2bee724921150d5409e1525ef96d8981efe6d811
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 26 10:50:09 2018 -0400

    Handle the case where the bucket for a key has been deleted.
    
    Also, better error messages when the listBuckets capability
    is missing, or the bucked for a key has been deleted.

commit cdcead611336e036338bef7020e40ab15cc88741
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 26 10:20:18 2018 -0400

    Fix spelling of "capabilities" in error message.

commit d0326c4495d817dfc2fe4b126893ebb8b07f42b7
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 26 10:19:06 2018 -0400

    In raw simulator, pass bucket_id to auth checks, so they will pass when they should.

commit d93b3a8184c5253232cbdad7e72277c922bcb1af
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 26 10:08:18 2018 -0400

    Failing test that exhibits the problem where listing files in a bucket-restricted key is not authorized.

commit 510e7d792c1de6c4033d1abf9908772782fa4c6f
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 26 10:03:35 2018 -0400

    Rename _run_command_no_checks to _run_command_ignore_output...
    
    ... and change it to check the status code and stderr to make
    sure that the command succeeded.

commit f5932b295aa0cf294ff111b83555cf98ad83af06
Merge: 22d2335 51a6c69
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 23 13:34:44 2018 -1000

    Merge pull request #468 from Backblaze/raw-api-test
    
    Fix raw_api_test

commit 22d2335714ccd6af8c881425c49914fce0b8e670
Merge: 51e2ed5 02835ed
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 23 06:54:02 2018 -1000

    Merge pull request #467 from mwhudson/py37
    
    fix tests with Python 3.7

commit 51a6c69e1d3592ae5161d011697b9bde2b6554d8
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 23 06:45:34 2018 -1000

    Fix file prefix test and bucket revision test.

commit 357c71573a672446a93ecee4b34cd65568bb3819
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 23 06:36:28 2018 -1000

    Fail pre-commit.sh if raw api test fails.

commit 02835ed4ab53801db80805e35b944269b3186ca7
Author: Michael Hudson-Doyle <michael.hudson@canonical.com>
Date:   Mon Jul 23 22:38:11 2018 +1200

    fix tests with Python 3.7
    
    PEP 479 changed behavior so that StopIteration does not bubble out of a generator.
    Luckily the affected generators can just return immediately instead.

commit 51e2ed54fa83b50e830038b076302a3df47df410
Merge: 3765fbb 5dba088
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 22 16:24:29 2018 -1000

    Merge pull request #465 from Backblaze/faster_downloads_prework
    
    Faster downloads prework

commit 5dba08816497ec7db54c396d2072834edda2f58b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 23 01:50:28 2018 +0200

    Revert "Fix b2.utils.b2_url_decode"
    
    This reverts commit a46bda27c96cb6636f334b45332ed0641a671568.

commit 1f43c4c04b5bf0cd71be830c69ec25f034953b17
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 23 01:46:07 2018 +0200

    Codacy feedback

commit ed33725977f34cb451f515ac6971554cc20e381f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 23 01:32:09 2018 +0200

    Code review feedback
    
    PR #465

commit 1a592c400c3f65108d07d290fb0437bf3c8d97e9
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 22 06:50:46 2018 -1000

    Fix b2_url_decode for Python 3.

commit 0b3024a4e5d46ad3edb9830464b64557205b736b
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 22 06:40:49 2018 -1000

    Add unit tests for url encoding.
    
    The encoding tests pass.  The decoding tests fail and are commented out.

commit adfc7b484fe8b80d154089d1ec3322720fb40c7e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 22 03:37:36 2018 +0200

    Fix name of bucket created by test_raw_api

commit a46bda27c96cb6636f334b45332ed0641a671568
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 22 03:21:59 2018 +0200

    Fix b2.utils.b2_url_decode

commit e86f323750e10587ecba2e295905cc46cbf858b2
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 22 03:18:50 2018 +0200

    Move get_download_url_by_* to AbstractRawApi
    
    so that the simulator can utilize the methods too

commit dd338c070b22b3d21a24391c6c91985ed3652bf7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 22 03:14:20 2018 +0200

    Fix StubProgressListener when used as context manager

commit 7fdf075e77f779405c4eaab750c51a4d3dd7a190
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 22 03:12:47 2018 +0200

    Fix polluted stdout in test_raw_api

commit 983a22b45cedf2b6453ba96cfd00dcb72b3f2af3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 22 03:10:25 2018 +0200

    Fix test_raw_api hiding tracebacks

commit 13ca4160379543afa2c2f0ee34c8780b448be265
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 19 03:37:11 2018 +0200

    Move download url formatting to separate functions

commit 6c78b648daf03b9766a9311796bba3dd36afcf80
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 18 08:42:17 2018 +0200

    Create B2RawApi only in B2Api, not in console_tool

commit 32a4286287d675fa6e04cdafbc5fdfbd88d1f7c5
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 18 08:24:33 2018 +0200

    Refactor getting mod_time_millis from headers

commit 4024a1930e945e8699753c6c90fb099a29734978
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 18 08:26:45 2018 +0200

    Move construction of info_dict to a function

commit bfdb94accae19af02cf4a05a8cae6ef157a67ac9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 18 08:22:21 2018 +0200

    Move adding a range header to a named function

commit 1a73042d43a70854f549a90da1e88e5884006753
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 18 08:17:27 2018 +0200

    Move BLOCK_SIZE to a module-level constant

commit 913aa662a032906420435ef826bba7888c1fcdf4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 12 04:15:51 2018 +0200

    Update docstrings

commit 3765fbb27b49d3d0a1a72d8a6c1518aadd5449b9
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 20 08:59:36 2018 -1000

    version 1.3.1 for development

commit 24462fd2070f46c453bc2b4e7b0c84f07e89fed6
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 20 08:38:07 2018 -1000

    v1.3.0 for release

commit 94b7a7a3a12e8160986c606aa5986771dad0daef
Merge: a0f79e0 6895844
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 20 07:16:46 2018 -1000

    Merge pull request #462 from Backblaze/error_reporting
    
    Error reporting for application key authorization problems (#461)

commit 689584434db08d6cf07ad3ab5e9ba491fda6128e
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 20 06:56:31 2018 -1000

    yapf, comma

commit d144c3ff4348b05dd2a09e4f2e13c99a9f5c5c3b
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 20 06:53:21 2018 -1000

    Factor out ALL_CAPABILITIES.
    
    I think that raw_api is the logical place for it.

commit a0f79e0b641c2b8b82cd129071d9a34b6cdd4f72
Merge: e19a6f2 261f024
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 19 06:50:12 2018 -1000

    Merge pull request #464 from florisla/460-markdown-format
    
    Add content type 'text/markdown' for the package long description

commit 261f02463f73ea33f1879236b1ba0d9d5995dfbe
Author: Floris Lambrechts <floris.lambrechts@onsemi.com>
Date:   Thu Jul 19 10:53:21 2018 +0200

    Add content type 'text/markdown' for the long description
    
    Fixes #460
    
    This prettifies the package description on PyPI.
    Gives a harmless warning in setuptools pre 40.x.

commit e19a6f2a4731f07a0f185438aee2d4b2e8938fa4
Merge: 0189d94 5868e53
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 19 04:25:25 2018 +0200

    Merge pull request #463 from Backblaze/improve_integration_tests
    
    Improve integration tests

commit 5868e534558249756e2e9c7e0a7799d5f5f9d189
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 19 03:54:22 2018 +0200

    yapf

commit cc37e3e5ec88b29f6da39d6c49b0904425ed01e9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 19 03:49:35 2018 +0200

    Extend download tests to check content

commit 320e75a67b0874e327df4a393bd6d616e5c6f1d4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 19 03:35:33 2018 +0200

    Speed up download integration tests

commit db8b4cf1469ea1a4d8825338e722446ca2056527
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 19 03:33:50 2018 +0200

    Split off account integration test
    
    Do not run bucket updating and bad auth test before test of every type

commit bbe1ce104fa5afc9bb94c146a250fc55ba9b2a04
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 19 03:30:25 2018 +0200

    Split off download integration test

commit 562fde0da707f5e56fb3b16cc32b7418d9592527
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 18 15:39:11 2018 -1000

    Remove capability checking in ConsoleTool.
    
    Now that the B2Session knows how to generate good error messages for
    restricted application keys, the ConsoleTool doesn't need to.
    
    Remove unused class AllowedPolicy.
    
    Also, fix typo in doc for create-key command.
    
    The RawSimulator now has rudimentary capability checking, so it can
    throw an Unauthorized error at the right time to test that the
    right error message is generated by ConsoleTool.  This checking required
    that the KeySimulator carry the bucket name, so it can check that the
    bucket name matches.
    
    TestConsoleTool.test_restrictions is much simplified.  It no longer
    needs to test every command.  It just needs to test that any command
    produces an app-key error message.

commit 5cd4aed020489dd044a21691fcdecbeffca51334
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 19 02:23:41 2018 +0200

    Update help message of test_b2_command_line.py

commit 1b94d93129d8a47cf1cfc7447c6bc97a1b5db215
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 18 14:09:32 2018 -1000

    Teach B2Session to add app key restrictions to Unauthorized message.
    
    When a request is unauthorized, it's helpful to know what the restrictions
    of the application key are.

commit 565d2ba143e5c21b9826fbe3f0c6b8234f3c97eb
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 18 11:26:17 2018 -1000

    Add new Unauthorized error.
    
    This is all of the 401 cases that aren't InvalidAuthToken

commit cc5326d70f830fd8f319991b2e744f2e11c7cf1e
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 18 10:31:08 2018 -1000

    Add unit tests for exception.interpret_b2_error
    
    Also, make it a little more resilient to dicts with missing fields.

commit 0189d945f3474911463f8972960f66ceff9eb0aa
Merge: 3d9eefe ecbe391
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 18 09:06:46 2018 -1000

    Merge pull request #459 from Backblaze/application_keys
    
    Support for the new Application Keys feature in B2 (#443)

commit ecbe3914c3fcc5aeea1806f12e8f87cf95b28a29
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 18 07:22:49 2018 -1000

    put realm_url back

commit 8724ad8d95d73d107476268fc181d7b10311c83f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 18 06:45:31 2018 -1000

    Code review feedback.
    
    Add NotAllowedByAppKeyError, a base class for exceptions caused by things not
    being allowed by applicaition key restrictions.
    
    I'm having trouble getting in the habit of adding the trailing comma.  I need more training. :-/

commit 47b6d4812293290ee559d97972e336c6ad289d09
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jul 17 11:16:38 2018 -1000

    Add missing columns to list-keys doc.

commit 14ede9302676ecc7049234225a35fb9beb671c74
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 16 16:53:40 2018 -1000

    yapf, and missing trailing comma

commit 57ce1d07d3aa34e75209f18891df1441b619816f
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 16 16:30:37 2018 -1000

    Fix parameter name mismatch found by Codacy.

commit 704aef15bebce1884ae93e4232906c7666a1e21f
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 16 16:17:34 2018 -1000

    Fix typo.

commit dce145081c075e28f5915dcf96b9680df4e989cc
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 16 16:10:16 2018 -1000

    Clarify and simplify account_info.
    
    Account info objects now always return an allowed
    structure.  If you store auth info without it, it uses
    a default value.
    
    Removed some methods from account info objects that
    were no longer used.

commit 0b88c6f661cd460093233729266cdedd1f23caac
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 16 10:58:27 2018 -1000

    Changed my mind, thanks to ppolewicz.
    
    We'll stick with cleaner DRY code, and just disable the
    Codacy warning.

commit 1049d863ad7506e26e505ec31be7631847778a0e
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 16 10:38:37 2018 -1000

    Replace one badness with another.
    
    Codacy would rather have duplicated code than have
    fields that aren't set in __init__.  I can argue it both ways,
    so we'll go with what Codacy says.

commit 46e80b853e7b9ddc1cdd3e00229d03896bd4aa87
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 16 10:20:27 2018 -1000

    Attempt to make Codacy happy.
    
    Be clearer about setting fields in __init__.
    
    Remove extra doc string.

commit 9db9cc87687dd2da5b3c528477a1b1b76ced4b44
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 16 09:49:19 2018 -1000

    Restore compatibility of set_auth_data method in account info classes.

commit dc9ed91f7590c06128f8d57bd5521c691966b8ae
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 18:51:48 2018 -1000

    Fix parsing of duration parameter to create-key.

commit 8dcda06bbef2ec6f793ff8c961a0ff7417ceeb90
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 18:50:05 2018 -1000

    Add `--long` option to list-keys.
    
    And make the default output list jut the key ID and key name.

commit a0341873d5a93a9d06b1091ff306b05aa7b75a5d
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 18:24:16 2018 -1000

    Change output format of create-key.
    
    Removed the ":" to me more consistent with other operations.

commit 70e31218e1c61b8e538938998afaf935ecdc5269
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 18:14:27 2018 -1000

    Temporary workaround for a bug in the B2 Storage service.

commit 0e50b67f5471d5628a538a7f498668c0d34c1950
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 18:07:48 2018 -1000

    Consolidate checking 'allowed' into test_allowed_policy.py
    
    The goal is to check as many things as possible before
    calling the service, so we can report a helpful error message.

commit bb10c7041dac0a1dd42d92c66e9151d62998f4a0
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 14:43:05 2018 -1000

    When storing 'allowed', require a bucketName if there is a bucketId.
    
    It will simplify some code if we can assume that authorizing
    an account/key with a bucket restriction will store the name
    as well as the ID.  Now it does that.

commit 71df214a24e661b18f5953cce613814ddbea2ea4
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 13:39:12 2018 -1000

    Include the 'allowed' info in get-account-info.
    
    Also, fix test error creating bucket-restricted keys.

commit 4d71aa6a2ebc18285b4716b46a701d20e01aaff4
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 12:15:04 2018 -1000

    Fix bug authorizing with bucket-restricted key.
    
    The B2Api class was passing the applicationKeyId in place
    of the accountId when getting info about bucket restrictions.
    
    Added a new test that uncovers the problem, and then
    fixed it.
    
    Also, changed the name of the parameter to create-key
    from 'bucketName' to 'bucket'.

commit 0b4c3ee2b2f4c0f9a21571a33880a56def76bdd1
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 12:01:13 2018 -1000

    Better simulation of authorize_account.
    
    The simulator now keeps track of all of the valid application
    keys, and requires that the caller use one when calling
    authorize_account.

commit 8feb68315a887389d6cd0f427f37a741e53f638f
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 15 11:06:37 2018 -1000

    Tiny bug fix: compare capabilities as a set, not a list

commit 7b6fb9accd6952ff4b33cbc7123b99364fafeafc
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 14:50:17 2018 -1000

    Remove unneeded import

commit cb255ff8c83348fd62a831e5ccbdc6bc7039d016
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 14:47:26 2018 -1000

    Remove unneeded import

commit 0e019464524262f6f3e6e77b76db0d9b3c772382
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 14:47:02 2018 -1000

    Remove assertions that fire when the tests run.
    
    It seems to be OK to call startswith on a str with a unicode
    argument, so I don't think we need these assertions.

commit 7fa70cdb09009cffc1409d9781e8325c5cab4a25
Merge: a95204e 0980069
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 12:51:33 2018 -1000

    Merge branch 'application_keys' of https://github.com/Backblaze/B2_Command_Line_Tool into application_keys

commit 0980069c17491b0e253335151b453e37a477d777
Merge: e48032f a464e6d
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 12:48:54 2018 -1000

    Merge pull request #458 from spartan218/application_keys
    
    Application keys

commit a464e6d2b80f81a080550b2091c3525892fe80bc
Author: briang <11138603+spartan218@users.noreply.github.com>
Date:   Fri Jul 13 15:36:01 2018 -0700

    changed the overridden parameter names to be the same

commit f791a888fc2e946df3bb629c3a3d8b9187668b53
Author: briang <11138603+spartan218@users.noreply.github.com>
Date:   Fri Jul 13 15:28:16 2018 -0700

    More work for application key apis. This change allows us to store the specific bucketName and namePrefix from the b2-authorize-account call. Consequently it also does checks on all command line calls the use bucketName or filePrefix/ fileName to make sure they meet the restrictions. Added unit tests to each change Command call for proof of concept.

commit a95204e883e49bbe7ea7ec624b9ae65c56aa56d0
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 11:59:52 2018 -1000

    create-key now takes a bucket name, not id
    
    It also takes the key name first, and then the capabilities.

commit 134ddeea852dd74121c8218ba1e111bae73c814f
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 11:44:30 2018 -1000

    Update list-keys to include bucket and namePrefix.
    
    Also, update raw simulator to simulate creating keys.

commit 015517a1972e00f500055d22925e6e865a5e19a6
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 10:10:07 2018 -1000

    Fix spelling of create-key duration parameter.

commit fb7969834a91593cb44ccfbcb0ac658e87b8a1f7
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 10:03:48 2018 -1000

    create-key now takes the capabilites as a comma-separated list

commit e48032f055e198dbe2fb22ebda6f733ba71b5df7
Merge: 33b0b8d 3d9eefe
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 09:28:53 2018 -1000

    Merge branch 'master' into application_keys

commit 3d9eefefb11efa1680b8c143f6dca4b5b9afb230
Merge: df95e3b a029106
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 13 09:17:15 2018 -1000

    Merge pull request #457 from Backblaze/build-fix
    
    Fix #456 by dropping support for Python 3.3

commit a02910685da9a10f1d692ac9132679ad08c337ff
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 12 18:27:35 2018 -1000

    Fix build for 3.3 by not building for 3.3.
    
    setuptools dropped support for 3.3 and refuses to
    install anything in 3.3, so we're not able to run tests for it.
    
    Also, stop claiming to support 3.3.  "If it's not tested, it doesn't work."
    
    For some reason, setuptools does still support 2.6, which
    hasn't had any releases since 2013.  I'm not taking that out
    yet.

commit df95e3b73c66c47f49c1544bdbecae8b0e5bd4ff
Merge: f3414bf 0e83e0f
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 12 17:08:55 2018 -1000

    Merge pull request #446 from WPettersson/test-not-tests
    
    The testing package is called test, not tests

commit 2421fb8eb3b4126a9a1ad89fa4d44b325b158d93
Merge: 1c1bcae f3414bf
Author: briang <11138603+spartan218@users.noreply.github.com>
Date:   Mon Jul 9 13:18:26 2018 -0700

    Merge branch 'master' of https://github.com/Backblaze/B2_Command_Line_Tool into application_keys

commit 33b0b8d3b274427788059907a3cb680b08ad1f21
Merge: 1d8fd81 f3414bf
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 9 09:24:38 2018 -1000

    Merge branch 'master' into application_keys

commit 1d8fd81c096d86e9356c5872d65a6559ace86d29
Merge: c9c9ef8 1c1bcae
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 9 09:20:14 2018 -1000

    Merge pull request #451 from spartan218/application_keys
    
    Adding support for Application Key API's

commit 1c1bcae6f9fd20827f50585ff3c8847c0de71375
Author: briang <11138603+spartan218@users.noreply.github.com>
Date:   Mon Jul 9 11:41:05 2018 -0700

    fixing the list keys call to actually list all keys... and some other small changes

commit f3414bf6bdcb12bc1d85faae84866def7a5a3c2a
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 6 07:21:32 2018 -1000

    Version 1.2.1 for development

commit 5c78c8a21da265abb407b851c746cc8ee3d06828
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 6 07:08:46 2018 -1000

    Version 1.2.0 for release.
    
    Also, update release notes to include running a full build before release.

commit 5d073e9388a80a54b291f87a595dfbf7fb7e8ec8
Merge: 40c1632 d104467
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 5 08:14:05 2018 +0200

    Merge pull request #454 from Backblaze/python-36-37
    
    Add testing for python 3.6, and declare support for it.

commit d1044677aceb6db7b28fc34bf00c3994ce9c2699
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 4 13:26:14 2018 -1000

    It turns out that 3.7 was release just a week ago, and the test environments aren't there yet.

commit db7f38c0a2839a32a1502098d7df9259d4141874
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 4 13:16:15 2018 -1000

    Add testing for python 3.6 and 3.7, and declare support for them.

commit 40c1632184ea58f18d28cb2e1bfc5f9d1afc72cf
Merge: a72962a 496ad39
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 4 13:12:14 2018 -1000

    Merge pull request #453 from Backblaze/build-fix-2
    
    Fix the build.

commit 496ad39ed38235c4eaf37c842e3461156ca213c6
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 4 12:38:13 2018 -1000

    Disable jython for now.  :-(

commit 07bed57f1c028d3a2fd93e6e188b709583df5602
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 4 12:30:07 2018 -1000

    Disable MacOS build.  :-(

commit d2b9e65f6b35f71fcc317a310dfb50463b8d4c37
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 4 12:21:01 2018 -1000

    Make pyflakes happy.
    
    The new version doesn't like unused variable in except clauses.

commit c862db8cca8a4b1430a889742962039a348cbb13
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 4 12:09:46 2018 -1000

    Fix 2.6 build by not installing pyflakes.
    
    Pyflakes is no longer supported on 2.6, and it's not used during the build.
    
    Also, remove obsolete test for regex installation; regex is no longer in the requirements.

commit 4dfe17f59416cf465f677d2f102cda05790f6576
Author: briang <11138603+spartan218@users.noreply.github.com>
Date:   Mon Jul 2 09:36:43 2018 -0700

    Application Key API's : revisions after first pull request

commit 65db8d06684182eb8518e53c94a534c282ec6249
Author: briang <11138603+spartan218@users.noreply.github.com>
Date:   Fri Jun 29 13:01:23 2018 -0700

    Adding support for Application Key API's

commit 0e83e0fde7df0e3d27bd03a3c5afefc320deeb91
Author: William Pettersson <william.pettersson@gmail.com>
Date:   Sun Jun 17 21:23:32 2018 +0100

    The testing package is called test, not tests

commit c9c9ef81a41f42cd26e2c1012489e673194d2c4b
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jun 4 18:43:17 2018 -1000

    Add bucketName and bucketId parameters to raw api call to list buckets.

commit f91c7eecc25d64608fab676dddbdf651f2a0cc66
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jun 4 18:21:12 2018 -1000

    Add a place to store the 'allowed' information returned by b2_authorize_account.
    
    Also, add a mechanism to manage schema upgrades in the sqlite database.

commit 20af183f99eb708771783a15bc368e0b75ab1453
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 4 20:28:33 2018 -1000

    Add raw apis for application keys.

commit a72962abe00f14618ccc05451e5fd29040ec16a0
Merge: d66e7b8 ff775d2
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jun 1 07:38:33 2018 -1000

    Merge pull request #441 from Backblaze/update-base-url-for-dev
    
    update baseUrl for dev environment.

commit d66e7b8462b298cce13f7a90e1cd401457e5b6b7
Merge: d9d4a30 eccbf2e
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jun 1 07:38:09 2018 -1000

    Merge pull request #442 from Backblaze/appveyor
    
    Fix appveyor build

commit eccbf2e5365b69f8c579668120b09be4e01f91d5
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jun 1 07:31:35 2018 -1000

    Replace pip ugrade command with the one from the appveyor error message:
    
    pip install --disable-pip-version-check --user --upgrade pip
    ERROR: To modify pip, please run the following command:
    c:\python35\python.exe -m pip install --disable-pip-version-check --user --upgrade pip
    Command exited with code 1

commit ff775d2eb62ddba4d609453d85973ce6902e473e
Author: ab <5149322+certainmagic@users.noreply.github.com>
Date:   Fri Jun 1 10:20:36 2018 -0700

    update baseUrl for dev environment.
    
    tested by logging in to dev environment and production environment.

commit d9d4a3080990a667dd6d85ca514d83004286e1f1
Merge: bbe4b73 2602785
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri May 11 06:05:44 2018 -1000

    Merge pull request #436 from elemental-lf/404-not_found
    
    Translate 404/not_found of get_file_info into FileNotPresent exception

commit 2602785296c6c923ecb6ec24f134e2311168a475
Author: Lars Fenneberg <lf@elemental.net>
Date:   Tue Apr 10 22:30:29 2018 +0200

    Translate 404/not_found into FileNotPresent exception

commit bbe4b73fc1a21e3476235e603a2fde8ff8a09ab3
Merge: 5c3fdc3 1228733
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 10 15:44:18 2018 -1000

    Merge pull request #437 from Backblaze/appveyor
    
    Update appveyor build matrix

commit 122873334fb4f9970afec3dc60069e8ae2b21dd5
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 10 15:23:53 2018 -1000

    Remove 2.6 from the appveyor matrix.

commit fd9422aab0e463b69ae280d75a9ad56e4de64837
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 10 15:17:52 2018 -1000

    Update python version names based on AppVeyor web site.

commit 5c3fdc330d7167a3c239ab5fef1948a15a2f76b1
Merge: ee2339b 6ef74ae
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 31 15:37:21 2018 -1000

    Merge pull request #434 from hegjon/master
    
    Include LICENSE file in the source tarball. Fixes #433

commit 6ef74ae3b61014f6a13e2d06b1c6210b5559ecfe
Author: Jonny Heggheim <hegjon@gmail.com>
Date:   Sat Mar 31 12:44:20 2018 +0200

    Include LICENSE file in the source tarball. Fixes #433

commit ee2339bd21d21d6140936d58597957250a33fc26
Merge: 3edada1 375ebc9
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 27 05:55:13 2018 -1000

    Merge pull request #429 from anjos/master
    
    Fixes #427

commit 375ebc94acb4db810ef0f59663a06071595cae2d
Author: Andre Anjos <andre.dos.anjos@gmail.com>
Date:   Tue Mar 27 10:42:52 2018 +0200

    Add comment on test fix for #427

commit 8d5db20f39ec8ab5ba362beae0353beb04085abb
Author: Andre Anjos <andre.dos.anjos@gmail.com>
Date:   Sat Mar 24 09:03:59 2018 +0100

    Fixes #427

commit 3edada111ab2ab3bbbcd5b0a6568f5f820d0eac2
Merge: ef0ab85 95c7046
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 21 06:12:43 2018 -1000

    Merge pull request #425 from Backblaze/ls_recursive
    
    Add --recursive option to ls command

commit 95c7046a88c9714637e21e604719cb55bf427550
Merge: 993c106 ef0ab85
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 20 18:49:37 2018 -1000

    Merge branch 'master' into ls_recursive

commit ef0ab853767210bb59bf1239b7ebe3e1cd2c3a13
Merge: 77dc276 936d137
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 20 17:01:24 2018 -1000

    Merge pull request #424 from dgentry/master
    
    Reject unusable filenames early (before the server does).

commit 936d137d594acbfdceaf36d30bb6d38cec818889
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 19:42:12 2018 -0700

    Satisfy yapf.

commit 47d5df7f73e8ccdc369f80c09b6a239f3ebc7ee6
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 19:39:22 2018 -0700

    Add format target that runs yapf.

commit 8a31be9f0815b1ed1b7ec463032cd6b4103b9fe9
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 19:26:25 2018 -0700

    Get rid of assertIsNone() for the moment.

commit 083739c9ec2179459ba5c072d25203a8755aa780
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 18:13:54 2018 -0700

    yapf

commit 7afbd60bd23011eb214434ce3eeec0af11e706cf
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 18:03:26 2018 -0700

    Add standard msg parameter.

commit ba85086c5b770b1a34a9029fe594b1ea957ca8b4
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 17:29:13 2018 -0700

    Move test setup into setUp() method.

commit 29819db67ad17da200fb8c60bfb4b62ea39ec79b
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 17:13:34 2018 -0700

    Always use six.unichr() instead of redefining unichr() in Python 3.

commit 32b264bccc5a28a9b546eac154bf5679becb8fbf
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 17:10:09 2018 -0700

    Python 2.6 doesn't have AssertIsNone()

commit 7f9b7aba9b969cf85ee63771b3e1ed9b19796049
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 11:58:14 2018 -0700

    Setup installs pre-commit hook with symlink.

commit b38fe2fc05790eb613a1ef596daa7e0822115ae0
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 11:56:06 2018 -0700

    Help yapf finish in a reasonable amount of time.

commit d7d0010a5b14d4afbffe024bbe725ef55155bdf2
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 11:32:11 2018 -0700

    Remove unused import.

commit 8227bb2e8af51bfe69665177197afd5c91653da4
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 11:29:18 2018 -0700

    Python 2.6 omits AssertIsNone().

commit cc397b9c61c7aaf44b3e07914b614c5860442537
Merge: 17117ff 1e16edd
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 11:00:07 2018 -0700

    Merge branch 'master' of github.com:dgentry/B2_Command_Line_Tool

commit 17117ff6ce481bf8e6d0ff5c2146eb7d13be8923
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 10:59:10 2018 -0700

    Python 2.6 needs numbered format placeholders.

commit d6cf261c2bdbc879fd431bb8285264e40809d6ec
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 10:42:09 2018 -0700

    Call the helper, not ourself.

commit 1e16eddc3a226a774d640ae9c09ea4b29a90d00f
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 10:42:09 2018 -0700

    Call the helper, not ourself.

commit 3b36ff4db295213f50ce8449e10e9736076ad0f1
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 10:39:49 2018 -0700

    Unicode message bugfix and test.

commit 4260671c1abe0685eb2e39974b9b88b5d5dc2e1f
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Tue Mar 20 10:00:53 2018 -0700

    Move filename tests to unit test collection.

commit 77dc276e4c91d86e8c54c4f30f8994b1548be83f
Merge: 97a6e5f 7467b78
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 19 11:23:49 2018 -1000

    Merge pull request #426 from toddATavail/show_size_tests
    
    Added more unit tests for get-bucket --showSize.

commit 7467b7816dc947facc9549239dd099a9ec4d647f
Author: Todd L. Smith <todd@availlang.org>
Date:   Mon Mar 19 15:34:06 2018 -0500

    Corrected documentation for get-bucket --showSize.

commit b7fcfcca4f0ec797bb30ce8a36f62b8932162f3f
Merge: 2f3bac7 7377d7e
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Sun Mar 18 23:03:47 2018 -0700

    Merge branch 'master' of github.com:dgentry/B2_Command_Line_Tool

commit 2f3bac71446417ff30750e29bffd1c6b9c31e680
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Sun Mar 18 23:02:07 2018 -0700

    Yapf

commit 7377d7e0c5f53a0a0fcdfa006de64f718ea6e962
Author: Dennis Gentry <dennis.gentry@twoporeguys.com>
Date:   Sun Mar 18 22:50:41 2018 -0700

    Omit needless words.

commit 7b664a6b797cdd2d9a5661d2f72fc3396518ef96
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Sun Mar 18 22:45:40 2018 -0700

    Clean up __pycache__ too.

commit a525dd0845f00d8111f8fe6be7f96216a265b44d
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Sun Mar 18 22:24:13 2018 -0700

    Need nose to run tests.

commit 84ff4eb74c4df10621665a5d5c0b23d9b68a99a1
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Sun Mar 18 22:18:49 2018 -0700

    Test the filename rule checker.  Also fixes test-raw-api for me, at least.

commit ab114ccc48e174f99345cc375afddd4fc2df8c65
Author: Todd L. Smith <todd@availlang.org>
Date:   Sat Mar 17 10:04:54 2018 -0500

    Added more unit tests for get-bucket --showSize.
    
    - Improved documentation to describe behavior with respect to hidden files, versions, and hierarchical structures.
    - Renamed test_get_bucket_show_size() to test_get_bucket_one_item_show_size().
    - Added test_get_bucket_with_versions() (to check behavior wrt to multiple versions).
    - Added test_get_bucket_with_folders() (to check behavior wrt to folders).
    - Added test_get_bucket_with_hidden() (to check behavior wrt to hidden files).
    - Added test_get_bucket_complex() (to check everything together).
    
    All tests pass.

commit 993c10697c698d36e0bedcf7633fca10c5fdaa6a
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 16 14:33:41 2018 -1000

    Add --recursive option to ls command
    
    This fixes issue #345

commit cdfdd027d443de4da5bf780cf11ade298fd4a242
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Fri Mar 16 17:12:02 2018 -0700

    Let flake8 know about line length 100 too.

commit 70e41bd861ee8a772eef8853b6a8bf7b32bd4cef
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Fri Mar 16 17:11:18 2018 -0700

    Count unicode characters, not bytes; let exception propagate.

commit 884f9d9309f188448388046f36e0f3e6a5bec167
Merge: a49952f 41af9ff
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Fri Mar 16 14:51:30 2018 -0700

    Merge one-line change from online editor.

commit a49952f75db5b82072368f031752c0c126d1d159
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Fri Mar 16 14:49:34 2018 -0700

    yapf

commit bc4e0aca8ef9e959f9279ce23f611db358a1f675
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Fri Mar 16 14:44:20 2018 -0700

    Accept yapf's formatting.

commit 41af9ffcac4cc1acb36a71afc2ecac9d2bf515f1
Author: Dennis Gentry <dennis.gentry@twoporeguys.com>
Date:   Fri Mar 16 14:34:50 2018 -0700

    Update comment to reflect code.

commit 97a6e5fe1141656955a0945f7866a82f77d773ce
Merge: 8673e7d 00e2150
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 16 11:20:43 2018 -1000

    Merge pull request #423 from toddATavail/master
    
    Implemented #404.

commit 478473963c3e08e5e31320789e6031d7fc282685
Author: Dennis Gentry <dennis.gentry@gmail.com>
Date:   Fri Mar 16 14:08:00 2018 -0700

    Reject unusable filenames early (before the server does).

commit 00e215070576cbca9ee1e027dc3d8965ca7485c5
Author: Todd L. Smith <todd@availlang.org>
Date:   Fri Mar 16 15:31:46 2018 -0500

    Improved #404, per request.
    
    - GetBucket.run() now passes True to Bucket.ls() for show_versions and recursive, to work around probably errors in the implementation of Bucket.ls().
    - Added unit tests: test_get_bucket_empty_show_size(), test_get_bucket_show_size().
    
    All tests pass.

commit 7847a0122db8cccb66d8670fcbc2dcddb5ab40b6
Author: Todd L. Smith <todd@availlang.org>
Date:   Fri Mar 16 14:22:13 2018 -0500

    Improved documentation (calls attention to Class C costs).

commit 7a33bd12cebb02a298c21d8f394c247ef281c899
Author: Todd L. Smith <todd@availlang.org>
Date:   Fri Mar 16 12:12:20 2018 -0500

    Revised #404, as requested.
    
    - get-bucket --showSize is now friendly to large buckets.

commit b9841e61169660a310e94cd134a42db4fb76b5ac
Author: Todd L. Smith <todd@availlang.org>
Date:   Fri Mar 16 10:20:04 2018 -0500

    Implemented #404.
    
    - Added --showSize to get-bucket. Introduces two new fields, fileCount and totalSize, that represent the count of files and the aggregate size of all files, respectively.
    - Omission of --showSize results in the original behavior.
    
    Additional documentation is available in a comment on #404.

commit 8673e7db911e97da415a82f47601d54661cae58a
Merge: 15a60ad 28ef0e3
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 7 10:13:19 2018 -0800

    Merge pull request #420 from Backblaze/sync_filter_from_b2
    
    Fix #419

commit 28ef0e32800b19933b94e1cb9a51c00f668c52c4
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 6 18:00:08 2018 -0800

    Fix #419

commit 15a60ad1c71b75366061e4f742ef52eb9dcc23e7
Merge: 4aab8c8 c75023c
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 5 08:20:05 2018 -0800

    Merge pull request #416 from Backblaze/sync_doc
    
    A couple clarifications in the sync documentation

commit c75023ceab7efbaae1c543f56582b37e8305bd0a
Merge: ff256ee 4aab8c8
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 3 06:55:39 2018 -0800

    Merge branch 'master' into sync_doc

commit 4aab8c834f974af86ca62d38f4f6853cdaa74026
Merge: 7881bdc 0693f75
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 3 04:50:30 2018 -1000

    Merge pull request #417 from Backblaze/simplify_scan_policy
    
    Simplify scan policy

commit 0693f75b79e72892aeef23c1d0a43c4f60432e19
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 1 17:56:17 2018 -0800

    Simplify scan policies code.
    
    The three Regex classes were all doing the same
    thing: matching a regex.  And there was duplicated
    code matching a set of regexes.
    
    Refactored into a class that knows how to match
    a set of regexes.
    
    Also, add unit tests for scan policies.

commit ec294ee6f2b0c043ee4167189171011e3b8b809f
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 1 17:32:33 2018 -0800

    Add doc comments to ScanPoliciesManager.
    
    It's the public class in the module, so it needs doc.

commit ff256ee369ef2f6c5e2fef9242cc4f37c76499b3
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 1 17:22:46 2018 -0800

    yapf

commit 539efaf35753d44b2fe0dedc580774d17090511b
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 1 17:22:04 2018 -0800

    Doc: regexes match if the match a prefix of the path.
    
    This is the way Python matching works, and is not what
    I originally intended, but we can leave it this way for
    compatibility.

commit bd94628d0d37ce39c3d533be70a119e35508ce24
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 1 17:11:59 2018 -0800

    Clarify doc: dirs matched by regex do not have trailing '/'
    
    Also fix comment in code.

commit 7881bdc596fe861dc75fb34058a88131ea443f10
Merge: c568438 bcf7c02
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 1 11:17:53 2018 -1000

    Merge pull request #407 from reef-technologies/fix_filtering_on_sync
    
    Fix filtering on sync

commit bcf7c021deea8ae72159f0cf07165571bdcd6d35
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Thu Mar 1 17:59:35 2018 +0100

    Yapf

commit 9eaca12ee40c57c9782df4f12bc47c2450e237b2
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Thu Mar 1 17:53:46 2018 +0100

    Proper excluding directories from scan

commit c5684386436e59a532ce6586cc9d92c230d4ff11
Merge: 5bfa2b9 35f79c6
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Feb 27 12:29:53 2018 -1000

    Merge pull request #414 from Backblaze/delete-a-swo-file
    
    Delete b2/sync/.sync.py.swo

commit 35f79c681063a5e3bbb44e7dfbd41097d8ffca91
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Tue Feb 27 23:18:17 2018 +0100

    Delete b2/sync/.sync.py.swo
    
    It was clearly added by mistake a few months ago

commit 28d4903f6721dc566e43e71054b7a1f714ae2b61
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Mon Feb 26 17:36:21 2018 +0100

    Docstrings update

commit 62ca6c569c502b19a18efbddb4ab04b66fac074c
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Mon Feb 26 17:17:31 2018 +0100

    Introduced scan policies

commit 2d7ed68a38ce3d2e0c40d4add94bafc7be3d0103
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Sat Feb 24 21:32:28 2018 +0100

    CI build fixes

commit 2c40e35ceae8c4335637733c074d433742d53026
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Sat Feb 24 21:21:54 2018 +0100

    Removed old implementation; Updated doc strings

commit 00bfc8393d5a0c077375b5dfd3ede5018e48ed0f
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Sat Feb 24 21:16:12 2018 +0100

    Add logging for FilterManaer

commit 1675751ba8ebf70a4cdd3dee82acb5a73e6c5b88
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Sat Feb 24 20:44:11 2018 +0100

    Updated unit tests

commit e54a7190e2861f6e2e274150c9e33dcd7e7a0ff0
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Fri Feb 23 17:34:35 2018 +0100

    Refactored sync command for using filters manager

commit 42653887062bdfc3170b534b707a43030a3ed181
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Tue Feb 20 15:37:45 2018 +0100

    Implemented filters module

commit 277130bff948986199ffa95251a46540b2131b57
Merge: 89433a6 5bfa2b9
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Mon Feb 19 15:53:29 2018 +0100

    Resolved merge conflict

commit 5bfa2b910c61df14348dde2925a400e646422a8e
Merge: a3b073c d4a9fe3
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Feb 18 15:59:46 2018 -1000

    Merge pull request #412 from Backblaze/yapf
    
    Ran a full, non-incremental, yapf on the whole project.

commit d4a9fe34d990059cca2375b3b704e42c45c2ee60
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Feb 16 10:06:46 2018 -1000

    Add trailing commas for better formatting.

commit a3b073c990c510b93ff6ca2c02efe77c60c84ac9
Merge: d299f32 1693a1a
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Feb 16 09:42:14 2018 -1000

    Merge pull request #413 from Backblaze/sync_empty2
    
    Better warning about trying to sync an empty directory.

commit f17930225f25346387c8bc5b374e4333c1ee4b44
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Feb 15 13:39:05 2018 -1000

    Ran a full, non-incremental, yapf on the whole project.

commit 1693a1a4b6531c9e571f2e57a0b0a669da23ca8c
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Feb 15 13:23:38 2018 -1000

    yapf, pyflakes

commit 48831f5a04dae5e4dd627f755a0e8a59a821e9f4
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Oct 25 13:35:35 2017 -1000

    Remove integration test of --allowEmptySource, now that there is a unit test.
    
    In the future, we can get rid of a lot of the tests in test_b2_command_line now that
    there are unit tests for them.
    
    Also, yapf.

commit 764f50ced90944f191a42f4602f41199f25a4f26
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Oct 25 13:21:50 2017 -1000

    Better error message for empty directories.
    
    The error message now says to use --allowEmptySource to sync anyway,
    and it does not print a stack trace.
    
    Added a couple test cases.

commit d299f322783523dfaadaf98c410cd410d5e76434
Merge: c1b2bfe 44de22a
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Feb 15 20:14:41 2018 +0100

    Merge pull request #411 from Backblaze/no_future_list
    
    Avoid making long list of futures when syncing lots of files.

commit 44de22ab77ff4d11ba13444f775036408ea57bc7
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Feb 15 07:20:06 2018 -1000

    Better check of exception.

commit c1b2bfe577c6f244ae6e842dc2b52cba46074572
Merge: bd4546d b77f77b
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 14 14:49:50 2018 -1000

    Merge pull request #400 from Backblaze/unicode_reporting
    
    Include the name of the current output encoding in the error message …

commit 6b00ebcdb50ef23b87ad44c05e92cea006efd839
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 14 14:43:44 2018 -1000

    Don't make a list containing a future for each synced file.
    
    We want to be able to sync large sets of files without using a lot of memory.
    
    Instead of checking the exception status of each future, the code now just
    uses the exception count from BoundedQueueExecutor.

commit b89dde54ea459592a29ba0b151cab5ffeb37df31
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 14 14:36:37 2018 -1000

    Teach BoundedQueueExecutor to count the number of exceptions thrown.

commit 53603749195d5c1ffb3e6d00b8a182239d5fd6d9
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 14 14:20:08 2018 -1000

    Add unit tests for BoundedQueueExecutor.
    
    Adding tests found a bug not exposed by CLI.  Fixed.

commit 427530bb09fd45c72dee55e0c540f2c8db50d170
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 14 13:58:57 2018 -1000

    Refactor: pull out BoundedQueueExecutor into its own file

commit 89433a60ea766cf4f649a56bf7525721f4fcc10d
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Wed Feb 14 19:07:13 2018 +0100

    Removed collections.Counter usage

commit 42b70e290d3b899372d2b66f8152d427b92d0355
Merge: c6128ff bd4546d
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Wed Feb 14 18:46:35 2018 +0100

    Merge branch 'master' into fix_filtering_on_sync

commit bd4546d9fb4ef083239a21c4f9e046e24bf15892
Merge: d8ff61d e198e3d
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 14 06:11:01 2018 -1000

    Merge pull request #410 from Backblaze/fix_arrow_build
    
    Fix build broken by arrow 0.12.1 and 3.7

commit e198e3d67071b41ae1754717fa766d64831d1567
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Feb 14 15:29:12 2018 +0100

    Do not fail CI due to recent 3.7 weird behavior

commit 5be83d503dc7bd2b9f1c68323eb3e72381568d4f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Feb 14 15:31:45 2018 +0100

    yapf

commit 9d937b45b3cca41403c9b2773c385d09774f540c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Feb 14 15:22:24 2018 +0100

    Do not use arrow 0.12.1 which breaks compatibility with 2.6
    
    https://github.com/crsmithdev/arrow/issues/517

commit c6128ff692d6bb639e569d99578203c295d9135c
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Sun Feb 11 20:58:57 2018 +0100

    Removed Counter usage

commit 261877bbcae53dcbb468155d24128c5e69ffe775
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Sun Feb 11 20:17:13 2018 +0100

    Fixed unconsisted all_files parameters order

commit 5c65490320125d0e1d81ff9488b5bdceb9376225
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Sun Feb 11 20:04:47 2018 +0100

    Yapf

commit b036cd4e5a73dc7d45f42de9b2d249cbbff84409
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Sat Feb 10 15:39:41 2018 +0100

    Refactored file filtering tests; Minor changes

commit ff88f45a2caa12c124fe5ad2665ccb10a66af30f
Merge: 80ead3b d8ff61d
Author: Krzysztof Gromadzki <krzysztof.gromadzki@reef.pl>
Date:   Wed Feb 7 19:27:45 2018 +0100

    Resolved conficts

commit 80ead3bd3bf6d682070500752f3ddf3248d6a835
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Tue Jan 30 19:12:59 2018 +0100

    Minor refactor

commit 65756fc4eeb3c13ce4c3e2c480fd87c894726bab
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Mon Jan 29 14:51:28 2018 +0100

    Apply review comments

commit 45ced386efb60844386908fd4d90b09db8224484
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Mon Jan 22 16:58:31 2018 +0100

    Change the way filtered_files are being exposed
    
    We can now pass the counter object straight from the top or at any lower
    level. We can have separate counters for different threads so nothing
    can broke. Hope so.

commit 7567f8d90f5cec076ad2baa96e3e313d1b94fbf4
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Thu Jan 18 17:23:11 2018 +0100

    Move common code to AbstractFolder

commit 1966584fdbdd9a0afc92db62b930063a92508b27
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Wed Jan 17 14:39:20 2018 +0100

    Fix parameters defaults

commit 18ad9592556e2cc29f4f1e5f780063928c7cee9e
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Thu Jan 4 19:33:04 2018 +0100

    Apply review comments
    
    Add additional check in sync.py before looping over
    filtered entries.
    Filtered files are counted as a local Counter and
    assigned as a Folder property at the end.

commit fdba5fc7b4c2753ee179c5848a34f3ea11e2ebb7
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Thu Jan 4 14:16:32 2018 +0100

    Apply review changes and yapf formatting

commit 92d671106b3ed7ab4e79ac01a5ba8bd77f84c77f
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Sun Dec 31 18:46:57 2017 +0100

    Change default values for pattern matching method
    
    From None to Tuple so it does not raise error if
    iterated.

commit 652eeb9a2442eb088cd9a52251621fb612720db6
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Sun Dec 31 17:41:33 2017 +0100

    Fix in pattern matching
    
    Mismatched the checking order. Quick fix.

commit 497b5c252395cb3b27961735de95cd401bd17080
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Thu Dec 28 19:54:28 2017 +0100

    Use Counter to count filtered files

commit d8ff61d59edd43d370a631ac63bf77d00f969f4e
Merge: 4c49184 25679ee
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 14 13:12:53 2017 -0800

    Merge pull request #398 from shane-axiom/windows-fixes
    
    Fix Windows integration tests, long Windows paths, and stale sync files

commit 25679ee669080555b13a68940bf3b750c5554773
Author: shane <shane@axds.co>
Date:   Fri Dec 8 22:18:59 2017 -0800

    Fix travis tests for conditional requirements

commit 89bae9abf4683b27ff246337b86a1dcc8aa95e79
Author: shane <shane@axds.co>
Date:   Fri Dec 8 22:08:28 2017 -0800

    Move conditional futures requirement to requirements.txt

commit fae9f589045da1e3b403e373c66a1fe36358dfe0
Author: Shane <shane@axds.co>
Date:   Fri Dec 8 20:31:47 2017 -0900

    Prefix Windows paths during sync to handle long paths (fixes #265)

commit fb03c8c5eb2e46fdf4bc9d48d001b403b2afaf04
Author: Shane <shane@axds.co>
Date:   Fri Dec 8 16:09:17 2017 -0900

    Check if file to be synced is still accessible before syncing (fixes #397)

commit 96d832e755786e132be5f7e4454bb1ab4b6fffec
Author: Shane <shane@axds.co>
Date:   Fri Dec 8 16:04:15 2017 -0900

    Fix integration tests on Windows

commit 26a0fe4d5106555329fe33f15ea200bed8bc0cf2
Author: Shane <shane@axds.co>
Date:   Fri Dec 8 15:49:10 2017 -0900

    Remove stray file

commit b77f77b29fd54be57722fa74d5cc787f5d363d56
Merge: f58809d 4c49184
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 14 08:37:52 2017 -0800

    Merge branch 'master' into unicode_reporting

commit 4c49184e0faf928f2a633c8906a1e05fe6c298fe
Merge: 0182e73 12e396e
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 14 11:34:20 2017 -0500

    Merge pull request #401 from Backblaze/fix_jython_build2
    
    Fix jython build.

commit 12e396e152749eb80caab3adc91077e23e36989b
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 14 07:02:55 2017 -0800

    Yet another typo.

commit 400601abce1883a8fc3bd5688d8f7c468a3b617d
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 14 06:55:23 2017 -0800

    Clean up jython virtualenv if it contains a bad symlink.

commit 0f773dc995bf95462b19aee0b4716d5b9a52833e
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 14 09:40:14 2017 -0500

    Fix jython build.
    
    It broke because travis went to a new version of python,
    and the symlink to the system python from inside jython
    broke.  In this case, we don't want to use the cached
    jython installation.
    
    If the cached jython won't run, it will be removed and
    reinstalled.

commit f58809dac7389640cfbd45b1c7f6c186b5c760a8
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 13 14:53:47 2017 -0500

    Include the name of the current output encoding in the error message about UnicodeEncodeError.

commit 0182e73803c377af8ad98eccd35558ef773566da
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 30 15:58:45 2017 -1000

    Version 1.1.1 for development.

commit 5ddc920940344200cf335c7a7336d5e0582b1cc0
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 30 15:55:23 2017 -1000

    Version number 1.1.0 for release.

commit b68a435d8ea7192a5fb4f1989c8253d6cf7b22f1
Merge: aae3ef9 57042ed
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 30 15:31:55 2017 -1000

    Merge pull request #393 from spartan218/master
    
    Added support for 'Coming Soon: CORS rules'

commit 57042edc0b087ebfca01713d9fc95d9b9210f705
Author: briang <11138603+spartan218@users.noreply.github.com>
Date:   Tue Nov 28 11:29:09 2017 -0800

    Added support for 'Coming Soon: CORS rules'
    Added lifecycle rules to bucket
    Fixed some typos
    
    Updated tests and usage commands(pre-commit.sh runs and passes)

commit 4fcf69c53f563b9a6407d8620616ab82836f8757
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Fri Nov 24 11:57:38 2017 +0100

    Add comments and use logger in sync.py

commit b7368ff53c4e43af9d705a0de86b046b36d394be
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Wed Nov 22 13:06:15 2017 +0100

    Remove useless prints

commit 24d5659c96695369e8a3c8bdde8d884abacf9c81
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Sun Nov 19 16:18:02 2017 +0100

    Modify filtered files counting and add tests
    
    Change the way filtered files are counted - it's easier now.
    Also modified existing exclusion tests to also check the
    number of filtered files.

commit 82bc58fb80248d6141e232622a0c0f5fc9df31e6
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Mon Nov 13 20:42:08 2017 +0100

    Apply review changes and add sync tests
    
    Added some documentation. Also removed obsolete code.
    Improved the exclusion tests in sync command to operate
    on real, HDD files. Some minor, cosmetic changes done
    as well.
    
    There is still timing issue in the tests.
    Do not really now how to solve it.

commit c021f508048a4293a7e35a5027efa5cc62047dc8
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Fri Nov 10 13:43:45 2017 +0100

    Modify exclusions tests

commit 110108370c856ee3bf1a857a8ff97d2269855690
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Mon Oct 30 09:36:42 2017 +0100

    Refactoring and reformatting of previous commit
    
    According to @ppolewicz comments some changes were needed:
    https://github.com/reef-technologies/B2_Command_Line_Tool-priv/pull/1/files
    Removed the mismatched commits.

commit a8757b38f26d5e58fd5a9c8c878f61b899f1d16f
Author: Dawid Manikowski <dawid.manikowski@reef.pl>
Date:   Tue Oct 24 16:34:29 2017 +0200

    Move filtering on sync to Folder.all_files method
    
    With this implementation we avoid making a list of a whole
    directory if we want to exclude some files/dirs.
    API of the all_files method changed a bit but it was necessary.
    Tests needed to be modified as well due to API changes.
    All should work fine. All tests are passing.

commit aae3ef911846c4aab9b0edb225fa405e1ade6c5c
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 9 07:41:54 2017 -1000

    Version 1.0.0

commit 435246f1fe69c64683bb4b047d69a45d61480208
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 9 07:30:43 2017 -1000

    Version 0.7.5 for dev (or base for 0.7 branch)

commit a93c4ad2a1ffd10dee5142831c55f3db1424a0a6
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 9 07:25:02 2017 -1000

    Add reminder to update B2 doc page when changing the usage string.

commit 97f71999d3919a5ec1a240f50f90129ef0e0f415
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 9 07:08:45 2017 -1000

    Version 0.7.4

commit 26abec0b0e360c6a60769ccd48881c51e2ffc2c6
Merge: 50c0921 17d427b
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Nov 8 13:06:34 2017 -1000

    Merge pull request #389 from Backblaze/set_mod_time
    
    Set mod time when downloading files.  Fixes #367 and #318

commit 50c0921619915758ef717220b77747067c6490ee
Merge: e280572 a5ca935
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Nov 8 06:20:23 2017 -1000

    Merge pull request #391 from Backblaze/request_all_buckets
    
    Adapt to new b2_list_buckets API by explicitly request all buckets.

commit a5ca935229ae8f42bfbb5c7bfe3ec8eeaa1de518
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Nov 7 15:02:06 2017 -1000

    Adapt to new b2_list_buckets API by explicitly request all buckets.
    
    Starting in November, 2017, some new bucket types will be added, and
    the default will be to exclude them from the list of buckets.  The CLI
    should show all the buckets.

commit 17d427ba6f683b345ce6d7f6cdf3f93dc8cdde1c
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Nov 7 14:22:13 2017 -1000

    Fix copyright spelling to make script happy.

commit 01036af04dc73a0d329892adbd0faf0076051f29
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Nov 7 14:19:23 2017 -1000

    Add license check to pre-commit.sh
    
    It uses the same check as the YAML build script.

commit e280572060d9ca9f9d20c1ac78f550f46fb820dc
Merge: 4e3ee3d 3ff0efb
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Mon Nov 6 00:45:40 2017 +0100

    Merge pull request #388 from Backblaze/version_0_compatibility
    
    Revert syncing behavior to allow syncing empty folders…

commit e9d49ac632c3743a5d52f35ffad2555a5e4b5c32
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 3 14:15:43 2017 -1000

    Add missing license.

commit 003aeb5511b9789a491403c56fee8c53a79d1322
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 3 12:32:41 2017 -1000

    Clean up DownloadDestBytes

commit 49f082c4602a8385012b8b6852261256dcb1ec41
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 3 12:22:01 2017 -1000

    Fix file mod time in simulator.

commit 6fce78d271ca5623fab524bcea45e2db42b6a4b7
Merge: 4666fe8 861e79b
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 3 12:12:23 2017 -1000

    Merge commit '861e79baaefbfdfc96191086f70a72883316bae6' into set_mod_time

commit 4666fe8110a13231621ced5e477fb918b9f58e1b
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 3 12:11:27 2017 -1000

    yapf

commit 18f0c54d4412c778f99a6a32e54a7316c7aae6a7
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 3 12:01:15 2017 -1000

    Clarify that AbstractDownloadDestination returns a context manager, not a file-like object.
    
    Refactor code to use @contextmanager, rather than explicit __enter__ and __exit__ methods.
    I just learned about this library today, and it makes the code much clearer.
    
    This should fix the problem where file mod times weren't getting set.  The
    DownloadDestProgressWrapper wasn't properly exiting the wrapped context,
    which is where the mod time got set.

commit 861e79baaefbfdfc96191086f70a72883316bae6
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 3 10:47:22 2017 -1000

    Unit test that fails and demonstrates the problem setting mod times when downloading files.

commit 3ff0efbbb0b75447b8d5013392b099d9782be46d
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 3 10:00:31 2017 -1000

    Revert syncing behavior to allow syncing empty folders when VERSION_0_COMPATIBILITY is set.

commit 4e3ee3d1d9bdaf7bbd164dfaa812868aa92c2d32
Merge: a3099a6 251a8cd
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 2 13:33:24 2017 -1000

    Merge pull request #383 from Backblaze/get_download_auth
    
    New get-download-url-with-auth command

commit a3099a6ab3e5968678e78b0a129208a83181c001
Merge: 186c5ad 372b0b3
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 2 13:32:45 2017 -1000

    Merge pull request #385 from obeleh/patch-1
    
    Fixed off by one issue

commit 186c5ad2dc81aa329a5db42b57df8f4cf2111713
Merge: 3e68fa0 25324eb
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 2 13:20:01 2017 -1000

    Merge pull request #384 from Backblaze/sync_root
    
    Fix #334

commit 3e68fa068c7d3f8ef36023ab47b8781e3b95893d
Merge: 9236663 b1b957e
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 2 11:52:31 2017 -1000

    Merge pull request #386 from Backblaze/yapf-0.19.0
    
    Run the latest version of YAPF: 0.19.0

commit b1b957e3e33fbc433ca83796121d3c1559b03f71
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 2 10:06:05 2017 -1000

    Run the latest version of YAPF: 0.19.0

commit 372b0b387bf00b9f00ab5a4bfc1718e4ba95be6a
Author: Sjuul Janssen <sjanssen@insign.it>
Date:   Thu Nov 2 16:35:12 2017 +0100

    Fixed off by one issue
    
    Fixes #377
    
    I don't think a test is really needed since it's checked by this line:
    ```python
    if bytes_read != desired_length:
        raise TruncatedOutput(bytes_read, desired_length)
    ```

commit 25324eb8f6d8fd0c02a407014c800fad9990ec20
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Nov 1 14:42:58 2017 -1000

    Syncing '/' works better if you pass it in to LocalFolder.
    
    There's no need to remove the trailing slash on a directory any more.

commit 59bee0b58a09e2cb252c38642756931a17d94562
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Nov 1 14:34:09 2017 -1000

    Fix for #334 - Missing characters when syncing root
    
    A couple people have taken stabs at fixing this one, but they
    did not go far enough.  My original approach to this was misguided
    because it confounded the path on the local file system and the
    path in B2.  Building up both paths while descending through
    the directory tree make the code much simpler.

commit 9236663ecae3d981280baf07a80108349abcc945
Merge: fe62fcc 6da3255
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Oct 27 06:52:30 2017 -1000

    Merge pull request #378 from alextsui05/master
    
    Add sphinx source files

commit 6da3255493ac22299bbcf484f7f1e863def2ab6e
Author: Alex Tsui <alextsui05@gmail.com>
Date:   Thu Oct 26 21:59:52 2017 -0700

    Add copyright header

commit 11c72b7cab6d8335ad5032a322d856818539b599
Author: Alex Tsui <alextsui05@gmail.com>
Date:   Thu Oct 26 18:37:00 2017 -0700

    Fix formatting with yapf

commit fe62fcc24285db6fa5f727a1aa8cec4b16c9667c
Merge: 06d4c74 b587dcc
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Oct 26 11:20:57 2017 -1000

    Merge pull request #382 from Backblaze/fix-appveyor
    
    Fix #381: appveyor build

commit b587dcc0ddc6c4675aec07517c9aa4dd0f5d55d1
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Oct 26 09:54:53 2017 -1000

    Attempt at workaround for problem installing pip for 2.6.6.

commit 91870fd239ec7df83df923cfcd61b7d6e3eb66aa
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Oct 26 09:38:29 2017 -1000

    comment out appveyor 2.6.6.  it's not working right now.

commit 17cb355303c1f98475b79810e452f23a151e1f91
Author: Alex Tsui <alextsui05@gmail.com>
Date:   Sat Oct 21 18:04:00 2017 -0700

    Add sphinx source files

commit 06d4c74c4cc5b4cd8cadb9821f73695e8b53e1cb
Merge: 4797654 572aaf1
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Sep 28 17:41:48 2017 -0700

    Merge pull request #375 from shane-axiom/compare_verbose_threshold
    
    Add --compareThreshold and --verbose

commit 572aaf1b99e27cc28f819ef7911ccd7461c79d1e
Author: shane <shane@axds.co>
Date:   Tue Sep 26 23:20:21 2017 -0700

    Add --compareThreshold and --verbose

commit 4797654db7baf0708b4478973e2f8a970acf4cbf
Merge: d8fa03f ad74a54
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Sep 21 10:18:25 2017 -0700

    Merge pull request #370 from shane-axiom/failonemptysource
    
    Add --failOnEmptySource to sync (fixes #369)

commit ad74a541d15f9e6d2bc0952a4c1641081f4b4b96
Author: shane <shane@axds.co>
Date:   Thu Sep 21 08:48:31 2017 -0700

    Add yapf 0.18.0 formatting changes

commit 251a8cdaf3320aa09a2eaa9456e11b840c47ef7f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Sep 20 17:08:36 2017 -0700

    yapf

commit 955ca666a5b3f7e586ae928489c76b86761461fa
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Sep 20 17:03:34 2017 -0700

    Add command get-download-url-with-auth.
    
    I keep doing this by hand, so I wanted to automate it.

commit e4c3c93285341b111affe84243b7106521b9e983
Author: shane <shane@axds.co>
Date:   Mon Sep 18 17:25:44 2017 -0700

    Add --allowOnEmptySource to sync (fixes #369)

commit d8fa03f8a71411ae24c7cae276967ee4cadb5630
Merge: bbbf473 ac48c56
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Sep 19 07:50:04 2017 -0700

    Merge pull request #371 from Backblaze/small_simulator_fix
    
    Remove a no-op statement

commit ac48c56361112d4e6c84e49798f774cd63b112b1
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Sep 19 02:55:21 2017 +0200

    Remove a no-op statement

commit bbbf473931a3cd04a801e77dfa86000bc39693c9
Merge: d8a8086 3b73f2a
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Aug 3 09:57:32 2017 -1000

    Merge pull request #360 from Backblaze/connection_reset
    
    Fix #359

commit d8a80869e8611968f83d3ce0c4d7fcd10052554f
Merge: e2a8e0a c127237
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Aug 3 09:12:42 2017 -1000

    Merge pull request #361 from Backblaze/yapf-0.16.3
    
    Changes from YAPF after installing version 0.16.3

commit c127237fc05f1b89a361bd7676f361558a06bac1
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 2 11:46:04 2017 -1000

    Changes from YAPF after installing version 0.16.3

commit 3b73f2a9d3ff31ea68e0bc68d2ada382c00d2fe0
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 2 10:48:07 2017 -1000

    yapf (incremental)

commit 46f648618dd8a7eeb07aa54d3688bb717614f5c2
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 2 10:30:04 2017 -1000

    Translate 'SysCallError(104, 'ECONNRESET')' into new, retryable ConnectionReset exception.

commit d0d555b6fa537e5add61f9e059e05c45645fd8fd
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 2 10:13:46 2017 -1000

    Code cleanup: use assertRaises, now that it's available.

commit e2a8e0a5defa6448fe06a8eb05babe45353efa0b
Merge: 228917f c13badf
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 29 17:41:49 2017 -0400

    Merge pull request #357 from taz77/improve-documentation-on-sync-regex
    
    Improve documentation on sync command using excludeRegex. Add an exam…

commit c13badf90929506619619c151bf61cb287c67c90
Author: Brady Owens <info@fastglass.net>
Date:   Sat Jul 29 11:39:13 2017 -0400

    Improve documentation on sync command using excludeRegex. Add an example.

commit 228917f07d97f5d9e03de42d2ac386953f3d4fd4
Merge: feb76e2 27edd64
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 28 08:56:43 2017 -0400

    Merge pull request #354 from szepeviktor/patch-1
    
    Fix space in badge urls and reposition them

commit feb76e2072d8bd3a0136e6712e3e8d1898093b6a
Merge: c1e4a38 065706f
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 28 08:43:22 2017 -0400

    Merge pull request #356 from Backblaze/error_handling_tweak
    
    Improve error handling for socket.error that is not 'Broken Pipe'

commit 065706f288f0ceb3c956821530494410f618470d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Jul 15 21:28:50 2017 +0200

    Fix travis Jython build

commit 91e61b866b04889d89ee5ad2970352c9bd0b7ed7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Jul 15 20:54:53 2017 +0200

    Improve error handling for socket.error that is not 'Broken Pipe'
    
    caught at
    https://github.com/Backblaze/B2_Command_Line_Tool/issues/350#issuecomment-313848165
    
    I am not catching the actual encountered error worrying about
    incompatibility of exception wrappers across various versions of python
    and `requests` library.

commit 27edd64f6f1a8dfd6203a9660fe4fd89d07cb024
Author: Viktor Szépe <viktor@szepe.net>
Date:   Fri Jul 14 17:00:51 2017 +0200

    Fix space in badge urls and reposition them
    
    Looks nicer beside the title

commit c1e4a382ca71e905f479ef69890f570604769809
Merge: c73349c 3372c95
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Sun May 28 00:44:37 2017 +0200

    Merge pull request #346 from Backblaze/usage_b2_account_info
    
    Add usage info about B2_ACCOUNT_INFO environment variable.

commit 3372c9565b1960294c422841d2686fc32eca24dd
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat May 27 08:22:15 2017 -0400

    Factor out strings "~/.b2_account_info" and "B2_ACCOUNT_INFO".
    
    Add a template mechanism for doc strings (using the
    build-in format() method on strings), so that usage
    messages can use the factored-out strings.

commit 77f75b68a6eb1f42c15db21ef96e2675853c27e3
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri May 26 16:03:02 2017 -0400

    Add usage info about B2_ACCOUNT_INFO environment variable.

commit c73349c4b9fd439b81177e52e11acf6da26c258b
Merge: 0308d37 39fedca
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 13 08:24:59 2017 -1000

    Merge pull request #337 from Backblaze/hash_at_end
    
    Send file hashes at the end

commit 39fedcabaa37dc93a14d65e069211049e54a4942
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 13 06:28:26 2017 -1000

    Fix inconsistency in byte subscripting between python 2 and 3.

commit 1046fd6c13770fe4f5a5134907f843a1dc21fc29
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Wed Apr 12 23:25:27 2017 +0200

    Added constant for hex_digits_at_end

commit 39440b4d4bfa27fc69f667a5dc3a64c54a2c7caa
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Wed Apr 12 23:17:28 2017 +0200

    Removed obsolete comment

commit 3515bad6618f231776ace3d6e05d3f9bc2a5923b
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Wed Apr 12 23:13:01 2017 +0200

    Hash stream returns exact number of bytes requested

commit 090f539e52a3a89fd20f3b1eea834c3e84f17489
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Apr 11 22:04:25 2017 +0200

    Removed debug output

commit 0f21e1f3610a151c0ac59dca1b472e7356988f47
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Apr 11 21:49:36 2017 +0200

    Added unit tests

commit a34a9ad4fff18eed098e665f66c62713433e5e66
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Apr 11 20:43:02 2017 +0200

    First hashing stream implementation

commit 0308d37e5cc92765064118b38abccd35351bfd11
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 23 11:49:53 2017 -1000

    Version number 0.7.3 for development.

commit 4984551fcca11a92dab9aeebe1b6e50aea099a80
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 23 11:40:04 2017 -1000

    Version number 0.7.2 for release.

commit 0a7058af93568b7b5caef62dacfc162396e2adcd
Merge: 26ba7c3 7210d07
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 20 15:58:58 2017 -1000

    Merge pull request #332 from Backblaze/versions_in_order
    
    Fix #331: assertion failure when syncing

commit 7210d076dbab390ff4a736088bbdde9ab9522b30
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 20 15:57:30 2017 -1000

    Fix typo.

commit 226394a7196bd56fa8f28bde0167f622af228400
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 20 13:52:53 2017 -1000

    License check is case sensitive.

commit 0f6139acf95ca8291fc5bfe8e40d341f72578ddf
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 20 13:23:40 2017 -1000

    Add unit tests for make_b2_keep_days_actions.

commit 4f8021326602186f69b29cc0177e8379ecaa724b
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 20 10:39:43 2017 -1000

    Fix #331: assertion failure when syncing.
    
    The mod time used for syncing comes from the user-defined src_last_modified_millis,
    which isn't guaranteed to be in order.  So I removed the assertion that they are in order.

commit 26ba7c389b732b2202da62a28826a893a8d47749
Merge: 40f9898 c72bcc3
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 6 10:56:07 2017 -1000

    Merge pull request #320 from Backblaze/codacy_shell_hint
    
    Add shebang to a contrib script

commit c72bcc3ce12ce92deec7c07764438edda5ea12fe
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Feb 2 18:45:21 2017 +0100

    Add shebang to a contrib script
    
    This way Codacy can run static code analysis on the script.

commit 40f9898205feb2b5907f4565ccb0e807d6d68f52
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jan 3 11:31:53 2017 -1000

    Disable python 3 build on OSX for now.
    
    See issue #311

commit e140f2349b864951629a6e0c928b4dac38a8c0ac
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jan 3 09:46:37 2017 -1000

    Version 0.7.1 for dev

commit bc1c523b14d90e64c6890d8a6f0d11932774e6b3
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jan 3 09:42:53 2017 -1000

    Version number for release: 0.7.0

commit 325dc42f28ed380b2f548d33048dbcaa0fb7e4b9
Merge: 7946488 4292c27
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Dec 22 00:52:03 2016 +0100

    Merge pull request #308 from Backblaze/get_bucket
    
    Add get-bucket command to print bucket info and lifecycle rules.

commit 7946488c0c6eecaa6e2070a79ee098d476113546
Merge: e806c76 a8afc26
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 21 09:54:21 2016 -1000

    Merge pull request #303 from Backblaze/clock_skew
    
    Check for clock skew between local host and server

commit 4292c277785cc25677aed4b479a8e5b386011431
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 21 09:51:49 2016 -1000

    Add unit test for get-bucket command.

commit dea61aaf4e09774ad57085718aad2492be998070
Merge: 32b401c e806c76
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 21 09:48:43 2016 -1000

    Merge branch 'master' into get_bucket

commit e806c7661f280907e53ad3de08f824c2b3720d5e
Merge: c3663cc 8206f02
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 21 08:37:37 2016 -1000

    Merge pull request #309 from Backblaze/requests_jython_refix
    
    Improve Travis CI Jython build fix

commit 8206f025b103d227552a46a1fd3daabd475fe2b4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Dec 21 14:50:06 2016 +0100

    Improve Travis CI Jython build fix

commit 32b401cf3245677543c7b87b95f99ffa48659da8
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 16:42:20 2016 -1000

    Fix typo.

commit a8afc26a221ff1156951501a1aec2138e7689b1a
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 16:37:13 2016 -1000

    Replace foo.com with example.com.

commit c3663ccef28f946c50b8a6b2b19d3c3f1b550f90
Merge: f0e0672 210796f
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 16:35:54 2016 -1000

    Merge pull request #307 from Backblaze/bounded_sync_queue
    
    Limit the number of sync actions queued in memory.

commit 210796fc9719164269641bab29477f925c63b3c8
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 16:28:48 2016 -1000

    Code review feedback: New style classes.

commit d477164e3c81216f5c07ccd1174f6f0d23a7ddc9
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 16:25:12 2016 -1000

    Update README with new commands.

commit 90e987d133870041d390dc01cc627741a5c5b3ae
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 16:24:49 2016 -1000

    Update README

commit 142053eb1c52dd23a719ccdc79a42e83f69be5ba
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 16:24:13 2016 -1000

    Rename show-account-info to get-account-info.

commit fc47e39a380a55c85b77ca4036d61cbfcdc643d7
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 16:16:31 2016 -1000

    Add unit tests for BoundedQueueExecutor.

commit 1a8e1dd08740f869a6213a23be1206a945062623
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 15:48:34 2016 -1000

    Add get-bucket command to print bucket info and lifecycle rules.

commit d1b36d9bc95ed5db8b2ab546733aabdc103b8fd5
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 15:31:58 2016 -1000

    Remove unused constants.

commit 027497e4d86acbd961f518c0782ed35394b3d4f3
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 15:26:52 2016 -1000

    Remove unused constants.

commit f0e0672ba7f0a29453e13ece5ca45dd19512bd71
Merge: 4f2a17e 3426fc6
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 15:16:30 2016 -1000

    Merge pull request #306 from Backblaze/show_account_info
    
    Show account info

commit a890f1f8b895c3d58abb9ae23be291786f74863f
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 15:16:07 2016 -1000

    Fix class name.
    
    I changed the design, but didn' change the class name.

commit f40bd18669212226728df34d06fb47258061406a
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 15:13:47 2016 -1000

    Limit the number of sync actions queued in memory.
    
    This will prevent memory bloat when syncing huge numbers of
    files, which some people have complained about.

commit e4e9a3b463d66352f0b238d2e9cb68d4e34dfb46
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 14:36:58 2016 -1000

    Code review feedback: comments, exceptions.

commit b141782edaed577d862357b5146e0686623deec2
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 14:30:43 2016 -1000

    Move ClockSkewHook down to the b2http module, and enable it by default.

commit a828c584561b5c459072eb13b1fb59f3a1a791aa
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 14:14:11 2016 -1000

    Error message now made by ClockSkew exception.

commit 3426fc6ba31481daeec80144e617bfd0d9a162d8
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 14:04:15 2016 -1000

    yapf

commit 86b56993fe73b45874edc4209fc5fea4bbbf0c0b
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 13:11:44 2016 -1000

    Add unit test for show-account-info.

commit a3fa6a67166b4fc3e5490dded9f08bce7e54fb86
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 13:07:05 2016 -1000

    Switch help string for show_account_info to use hyphens.

commit 84931ad777e174e3df97a4a7e3c9c7fd3935aec9
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jun 30 13:28:23 2016 -1000

    Fix typo.

commit 5f39824fc2dcabdfbac30b23b15a2b0323779183
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jun 30 13:27:19 2016 -1000

    Add new show_account_info command.

commit d4f706a017adaac8efb888af2d2bf0088f119b31
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 12:57:30 2016 -1000

    Switch from "post request hook" to more generic callback model.

commit b20c7eed066b645dcf66496e7501cb48905f278f
Merge: f8ad3f3 4f2a17e
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 12:25:08 2016 -1000

    Merge branch 'master' into clock_skew

commit 4f2a17eb0342ba6efed8b97442dd20c4e80c1845
Merge: 967dbda 14df2a3
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 10:20:51 2016 -1000

    Merge pull request #304 from Backblaze/hyphens
    
    Accept both hyphens and underscores in command names.

commit f8ad3f362547772952d7e417b81f0f371603dbab
Merge: e453925 6e2fa0b
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 19 10:19:03 2016 -1000

    Merge pull request #305 from Backblaze/clock_skew_simplification
    
    Simplify implementation of #303 by using date parser library

commit 6e2fa0bd7b2e8473746184d1fde0f102a07085eb
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Dec 18 05:31:41 2016 +0100

    Simplify implementation of #303 by using date parser library

commit 14df2a32813fa616c6bb342df34ea169c52607f4
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 12:37:41 2016 -1000

    Update README with hyphens.

commit cf0204cad3ed65bffd493a661159741f1a40e28f
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 12:36:56 2016 -1000

    Accept either '-' or '_' in commands.
    
    The help strings now use '-'.

commit e45392547a1a2cc9573c5ff85f2a486b0c59eddc
Merge: 7029333 967dbda
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 12:08:11 2016 -1000

    Merge branch 'master' into clock_skew

commit 70293331a6a0d69002054bb6bb14668fa9e5a24a
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 12:01:45 2016 -1000

    Add unit tests for clock_skew_hook.

commit 4a7761a120aefd7eb250e4a1b43a9ebdd0c0981f
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 11:46:57 2016 -1000

    Add unit test for after_request_hook.

commit 6fa34bdaa0b6429801dc4ef805e3bbd58644c14e
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 11:33:09 2016 -1000

    Add a check for clock skew between the local clock and the server's clock.
    
    Implement using a new post-request hook in b2http.

commit 967dbda851bab6aa8adf7d61b46a337595d8480a
Merge: 0fe4f2d 24e485b
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 10:51:41 2016 -1000

    Merge pull request #302 from Backblaze/src_last_modified
    
    Always set src_last_modified_millis in upload_file command.

commit 24e485b4d964e11b71f02f2f27e2715696c16b54
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 09:09:34 2016 -1000

    Always set src_last_modified_millis in upload_file command.

commit 0fe4f2d0faad6e4e86d668b54958d93bc116b85c
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 09:16:02 2016 -1000

    Full (non-incremental) run of yapf.

commit 7a78e139f86715bee4352cee81aa430f33d83884
Merge: 3c365ce 64ee90c
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 16 08:01:56 2016 -1000

    Merge pull request #300 from Backblaze/download_auth
    
    Add support for b2_get_download_authorization

commit 64ee90c6011fb55eb70c8fb24b0cd74a954b11d5
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 7 14:52:05 2016 -1000

    Update help string in README.

commit e70e73b5f8f661e9590cd502abb553c049e8c6c8
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 7 12:46:58 2016 -1000

    New get_download_auth command works with simulator.
    
    Will test for real when I have an internet connection.

commit 3c365ce4569a21fef4a9d2ab9f6e59039a481c0c
Merge: 272c85b 4bea88b
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 15 08:23:09 2016 -1000

    Merge pull request #286 from Backblaze/prevent_UnicodeEncodeError
    
    Avoid UnicodeEncodeError on improperly configured terminals

commit 4bea88be65a6a340ae3fc1f89e3243a3e7e3016a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Dec 15 04:05:17 2016 +0100

    Make sure we write unicode to the stdout

commit 1902e09404edc8866c767bdf831f818216023890
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Dec 15 03:55:56 2016 +0100

    Change ConsoleTool._print_helper to write to a descriptor rather than print

commit 4b71ea7af75d49af68ffa1797a6c191a5f8c1fa4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Nov 10 01:05:33 2016 +0100

    Avoid UnicodeEncodeError on improperly configured terminals

commit 272c85b0f79cc4e04f28153a556fc046b368b437
Merge: f583a56 10739e3
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 14 15:58:17 2016 -0800

    Merge pull request #295 from Backblaze/new_bucket_fields
    
    New bucket fields

commit f583a56b309ee0b5a31b6a1cbcf0a599773cde75
Merge: c76e29d 4d6e4a4
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 13 19:24:32 2016 -0800

    Merge pull request #293 from Backblaze/detailed_DestFileIsNewer
    
    Detailed DestFileIsNewer error

commit 4d6e4a4a4e9041f2744a27a3a279fc8da577554c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Dec 8 18:09:24 2016 +0100

    Reduce memory consumption of sync.file.File.__repr__ by about half on python 2.x

commit c013a867d6371796b52efd90ef6a2c1ca5b1b58f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Dec 8 18:07:07 2016 +0100

    More detailed DestFileIsNewer error

commit 10739e3b0a8e87897d2f4d699919d400ba0b1356
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 13 16:04:13 2016 -0800

    Changes suggested by @ppolewicz

commit cec33c8da26a0d269de059a8d92fddcd47a697c1
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 13 15:56:44 2016 -0800

    Fix unit test.

commit e3209bde33c949d493cacf93f57ee80a3f6d7f48
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 13 15:51:00 2016 -0800

    Remove unnecessary complexity of "@" syntax on command line.

commit 991e065553f2cdf663dc33e3a0e641956f01ca1c
Merge: 14c1213 c76e29d
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 13 15:44:58 2016 -0800

    Merge branch 'master' into new_bucket_fields

commit c76e29d47bf6e98b52f18858f6d91675f13eac74
Merge: 390dba2 37b8d25
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 12 22:08:19 2016 -0800

    Merge pull request #297 from Backblaze/fix_travis
    
    Try to fix tests

commit 37b8d25a67c9dd7ccdfeeb5450042f5cea13f642
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Dec 13 04:21:37 2016 +0100

    Correct path for virtualenvs

commit 4bcfa23cecd55ebcde594372c7ce9eb5fbceacfd
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Dec 13 04:09:56 2016 +0100

    Fix Jython build

commit 405af40928dcfcb3a785f89614acbe2b87b05ae5
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Dec 13 03:59:11 2016 +0100

    Add travis_retry to network-sensitive CI steps

commit aecad3b0a1520010546a74af77e40633f3e15b8f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Dec 13 03:54:04 2016 +0100

    Remove PyYAML monkey-patching (upstream fixed it in 3.12)

commit 51d1761306f5bb446c3150c8b7fdd1227885ba13
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Dec 13 02:52:07 2016 +0100

    Add memory to Jython when running Travis CI

commit f4ccbe5b32b31f2e142c3825a4dd681135eb6a44
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Dec 13 02:34:31 2016 +0100

    Do not use the experimental linux container in Travis

commit 14c1213c407de560d1dd17f6d32e5be382b2cf2f
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 9 10:06:24 2016 -0800

    ConsoleTool support for bucket info and lifecycle rules.

commit 81293d70f9ee6ab2068e052cab21530cac7d26fe
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 9 09:23:49 2016 -0800

    Add support for lifecycle_rules at raw API layer.
    
    The B2 service won't support lifecycle rules until next week.  The
    code works now because it doesn't send lifecycle rules unless you
    specify some.

commit bce30fb9c57d72a3a5e8a27e75bfcc93f3a5505d
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 9 09:11:57 2016 -0800

    yapf

commit 126505ed68015dc9a76781473caac98a7accce64
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 9 09:08:27 2016 -0800

    Unit tests pass.

commit d4d7f66c7726e5e892ed1a5496c284d4e3e06dac
Merge: 8894d58 390dba2
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 9 08:50:13 2016 -0800

    Merge branch 'master' into new_bucket_fields

commit 390dba2fa7e8666d122232f2b64d6dd67ccbc97a
Merge: efc59a1 7a5d834
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 8 06:26:58 2016 -1000

    Merge pull request #276 from szepeviktor/patch-2
    
    Upgrade Travis' Ubuntu release

commit efc59a1ac90efff1aa4ece546f20baaeb75f4926
Merge: fe2a590 f246d00
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 8 06:17:24 2016 -1000

    Merge pull request #278 from magnetikonline/master
    
    Included sync command --dryRun switch in README.md

commit fe2a590f8e6c2f0610f85d3636da01cf54f10c5e
Merge: ddaf22b ea21006
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 1 19:47:30 2016 -1000

    Merge pull request #289 from Backblaze/sync_permission_check
    
    Add sync permission check

commit 8894d5810c289f8a995044a38654d5e409c2891d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Dec 2 05:24:47 2016 +0100

    WIP

commit ea210061b2ecd45c9f9f28f69794c9a1707c1ec2
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Dec 2 03:51:39 2016 +0100

    Small improvement in test_sync

commit ae48d0620d24a14017864c1b261e2960c23553b7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Dec 2 02:20:30 2016 +0100

    A simple check to alert the user that the sync process has no permissions to access target file.
    
    Vulnerable to race conditions, same as another existing check.

commit ddaf22b91d8cee33c5a0db3b2e0c9c213d37d06c
Merge: 27df3cc 29a629a
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Nov 9 16:10:14 2016 -1000

    Merge pull request #287 from Backblaze/logging_utc
    
    Various logging improvements for #283

commit 29a629a5ac73e6631e83eda1d3ec085aaacde83c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Nov 10 01:43:45 2016 +0100

    Log upload url and exception on upload error

commit cfe9f601634f90bc713ad328aa7d63da539eed46
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Nov 10 01:14:36 2016 +0100

    Add a script that colorizes log output for easier reading

commit 82bb23085b6b93c34d1b9788b4e7a0d67ad2747b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Nov 10 01:13:06 2016 +0100

    Set timezone of logs to GMT

commit 27df3cc9cdc2f239cbd34350ba6bb7bcbd16d727
Merge: f5fb4d2 d22c2ee
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 4 09:05:48 2016 -0700

    Merge pull request #285 from Backblaze/no_tqdm_on_26
    
    Don't use tqdm in Python versions prior to 2.7.

commit d22c2eedd488c0070b37bdf9b651a11ca2419d92
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Nov 4 08:25:57 2016 -0700

    Don't use tqdm in Python versions prior to 2.7.  It doesn't
    work in 2.6.

commit f246d00bc8ba9521f7fd55ebeb48a9170f5a60fb
Author: Peter Mescalchin <peter@magnetikonline.com>
Date:   Mon Oct 31 10:57:36 2016 +1100

    Included sync command --dryRun switch in README.md

commit 7a5d83487c1754d68812268b44a3515d037d6cd1
Author: Viktor Szépe <viktor@szepe.net>
Date:   Sun Oct 30 02:12:37 2016 +0200

    Use Travis with Docker containers

commit 7d06a7a6e5448d9bf083170a840d1772032bcb8c
Author: Viktor Szépe <viktor@szepe.net>
Date:   Sun Oct 30 01:22:10 2016 +0200

    Upgrade Travis' Ubuntu release

commit f5fb4d21c09c7b00ec05a16f29105371a99d807d
Merge: 88d1163 44b6622
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Oct 27 05:32:10 2016 -1000

    Merge pull request #270 from zackse/issue-188-add-dry-run-to-sync
    
    add command-line test for sync --dryRun

commit 44b66229dd790a1c95d178637c9a3604281a701d
Author: Evan Zacks <zackse@gmail.com>
Date:   Wed Oct 26 23:13:23 2016 -0400

    add command-line test for sync --dryRun

commit 88d11630eb88e0a65099c158bf5755ca8947fb83
Merge: c033f95 9f7cf1e
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Oct 26 16:48:34 2016 -1000

    Merge pull request #269 from zackse/issue-188-add-dry-run-to-sync
    
    Issue 188 add dry run to sync

commit 9f7cf1ebc291dfa3156d67e5be4ef3c554e5b4f2
Author: Evan Zacks <zackse@gmail.com>
Date:   Wed Oct 26 22:06:06 2016 -0400

    add test for sync --dryRun

commit a50f42c598e72cba60deae8f39354a38c53e7644
Author: Evan Zacks <zackse@gmail.com>
Date:   Wed Oct 26 21:13:32 2016 -0400

    default value for dry_run parameter to sync_folders method

commit ef6e21ae5ba0d07805e8be281d82649bbb402b7c
Author: Evan Zacks <zackse@gmail.com>
Date:   Wed Oct 26 17:05:21 2016 -0400

    add --dryRun flag to sync command (#188)

commit c033f95d95b6b69c6842db66be3db6d42a46c1b0
Merge: 66b8372 a2f9b24
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Oct 26 13:19:17 2016 -1000

    Merge pull request #268 from Backblaze/yapf-0.13.2
    
    Changes caused when yapf was upgraded to 0.13.2

commit a2f9b24926f1e559ca11bc833b4ee9d121f9755e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Oct 27 00:21:14 2016 +0200

    Changes caused when yapf was upgraded to 0.13.2

commit 66b8372cc6f66954c0ee30e1a8760d9b9d15993a
Merge: aad90d0 7d7c082
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Oct 21 15:40:45 2016 -1000

    Merge pull request #259 from Backblaze/download_range
    
    Add optional range_ parameter to download_file_by_* (API level)

commit 7d7c082fcbbf14cd59c219adfe386ebe46a95a31
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Oct 16 18:44:52 2016 +0200

    Add optional range_ parameter to download_file_by_* (API level)
    
    Resolves #250

commit aad90d09c01c9a8fe4e91fca3d6a1a0a85ded02a
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Oct 14 10:11:35 2016 -1000

    Version 0.6.9 for development.

commit 752c4bd55256eef49a45fe13b495e8cbbe6d427e
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Oct 14 10:08:48 2016 -1000

    Version 0.6.8 for release.

commit ae41737b902999b436be4a625c28c37071889423
Merge: 865cc54 a91ebbb
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Oct 10 14:22:57 2016 -1000

    Merge pull request #244 from neube3/more_sync_options
    
    More sync options

commit 865cc543aa2878c8041feaf9051ee80dd8d03023
Merge: 898db8d 3429ace
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Oct 10 14:22:30 2016 -1000

    Merge pull request #258 from Backblaze/logfury
    
    Add logs using external library

commit 3429ace1c631e90f7be031f5e9f5b785fdc7c48b
Merge: 6583819 898db8d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Oct 11 02:15:25 2016 +0200

    Merge remote-tracking branch 'origin/master' into logfury
    
    * origin/master:
      Refactor test/test_bucket slightly
      Add delete_file_version to Bucket API
    
    Conflicts:
            b2/bucket.py

commit 6583819c99dfea5af8db3c69527fd1031b351d49
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Oct 11 02:13:12 2016 +0200

    Add tracing of method calls for key objects in debug mode

commit 898db8d5c68dfe0a9177fd87d5dda4edfe75a2ae
Merge: c3c2e2b 978b5ae
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Oct 10 13:55:45 2016 -1000

    Merge pull request #257 from Backblaze/delete_in_bucket
    
    Add delete_file_version to Bucket

commit 978b5ae3108082074dd4566d13572474adec2543
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Oct 6 01:04:53 2016 +0200

    Refactor test/test_bucket slightly

commit 9d01d2f3805a7c0505485b9bd34f2c96831fa2a4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Oct 6 00:51:06 2016 +0200

    Add delete_file_version to Bucket API
    
    Resolves #256

commit fe9d34140ecb1435fcdee043b75dbbeb5c4fb3ac
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Sep 22 13:42:45 2016 +0200

    Logs for sync actions

commit c3c2e2bd30714b24b48c61bbf8a50620772cc424
Merge: 97f1d94 8030ab5
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Sun Sep 25 23:12:00 2016 +0200

    Merge pull request #253 from Backblaze/InMemoryAccountInfo
    
    Add InMemoryAccountInfo

commit 8030ab518f3e8421064c31041c06030c8a5bc122
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Sep 25 22:06:03 2016 +0200

    Apply review comment to increase assertion reliability

commit 660477e5bfb8ee5c22085a78a8d4204d2717ea93
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Sep 25 21:03:28 2016 +0200

    Add InMemoryAccountInfo
    
    Resolves #252

commit 14e1eb0ec76c83ccf5491c5171117df2dec3e82b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Sep 25 16:22:31 2016 +0200

    Push UrlPool related methods from SqliteAccountInfo to a parent class
    
    this was done for the benefit of InMemoryAccountInfo

commit a91ebbba3378fb683e7a3785a720d228ac43aeb1
Author: neube <neube.github@gmail.com>
Date:   Thu Sep 22 22:54:43 2016 +0200

    Sync documentation update for includeRegex

commit 7fd0f6efedbe568570b5dd962f42554c0d2b77da
Author: neube <neube.github@gmail.com>
Date:   Thu Sep 22 21:42:37 2016 +0200

    Add sanity check for includeRegex without excludeRegex

commit df7329be715bd0f3c13d42765d10b7b10c5a14ef
Author: neube <neube.github@gmail.com>
Date:   Thu Sep 22 21:40:24 2016 +0200

    Add some logs for parse_args

commit 97f1d9413474dcb4b92b42ddb9a917920666cda1
Merge: 3bf659f d8203da
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Sep 19 11:13:21 2016 -1000

    Merge pull request #247 from Backblaze/small_fixes_0.6.7
    
    Small fixes, better logs

commit d8203da8e4bda869c38d048c4201f2dec74d4570
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 19 22:41:57 2016 +0200

    Better logs for #224

commit 97962247a8315bfdd40096bcd05c6a39381fda85
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 19 22:40:01 2016 +0200

    Yapf (missed by previous commits and CI apparently)

commit e96e8224d52ccadb90742c39b0944536134983ba
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 19 22:39:30 2016 +0200

    Fix quick mode of pre-commit (usage: ./pre-commit.sh '' '' '' quick)

commit 3bf659fdee80d6db8941c2c12f3f32e2e72e76ab
Merge: 9154bde 06c4baf
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Sep 19 06:37:48 2016 -1000

    Merge pull request #246 from Backblaze/safe_error_string
    
    Handle unicode in exception messages

commit 06c4baf7cc887d94165b8f2c5c9ca0ea5a2ceca7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 19 12:50:40 2016 +0200

    Rephrase an 'if' statement

commit 9154bde956a61159ab7b2c34bfdf8ec71b49da55
Merge: 760c2a0 2029f5c
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Sep 18 14:04:51 2016 -1000

    Merge pull request #245 from Backblaze/license_check
    
    Add license header checker

commit c28c7af6411682e35f1e5c872cabee85cc0542a4
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Sep 18 14:02:24 2016 -1000

    Add link to page about unicode in exceptions.

commit 20def4a5a7d5b4ede424a58667011a2f084cad0c
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Sep 18 13:59:35 2016 -1000

    More generic handling on unicode in exception messages.
    
    I was worried that I might have missed a place where
    unicode could be used.

commit 760c2a04ffdd39f07b408ebbbb22c4afb3108366
Merge: 16ab436 09e30ba
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Sep 18 13:37:13 2016 -1000

    Merge pull request #242 from Backblaze/no_fifo_sync
    
    Try not to upload dead symlinks and fifos

commit 2029f5cb063177ef88d781bc8c05be1a0a12c897
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 19 01:33:52 2016 +0200

    Add missing license headers

commit c50894380eac1077683847b20d4c89f70fd27488
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 19 01:14:27 2016 +0200

    Add license header checker

commit 16ab436b7dcbd07f90152859927c45ada1769d38
Merge: 466c68e 0e083cd
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Sep 18 10:01:28 2016 -1000

    Merge pull request #231 from Tenzer/pre-commit.sh-fixes
    
    pre-commit.sh fixes

commit a393499df36ede6bc01b09ae0171755863b09433
Author: neube <neube.github@gmail.com>
Date:   Sun Sep 18 20:11:57 2016 +0200

    Refactor sync tests

commit 069836c87f6c1a4c9f5f25dc93bf0ee56084415c
Author: neube <neube.github@gmail.com>
Date:   Sun Sep 18 20:08:56 2016 +0200

    Add some logging to sync

commit 9afd7f0fd0be95a1e67a1288a89ab951c2414d85
Author: neube <neube.github@gmail.com>
Date:   Mon Jul 4 16:01:30 2016 +0200

    Add --includeRegex option to sync
    
    This is a part of #150

commit 09e30bab45a7c3a949f7c9d34b7f3049449d38cc
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Sep 18 18:06:12 2016 +0200

    Enable a couple of tests on Python 2.6
    
    this is now possible thanks to assertRaises() being defined in
    test/test_base.py

commit 70640e040feb56f3153e090c507cb25e839e7820
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Sep 18 17:58:31 2016 +0200

    Try not to upload dead symlinks and fifos
    
    this check is vulnerable to race conditions, but it will usually work.
    Example race:
    - b2 cli checks whether a file is valid
    - thread switches
    - some other program deletes the file and places a fifo in its place
    - thread switches back and tries to read the file
    
    Resolves #241

commit 0e083cd30ff41a34b5bad170f94cd746907b50d5
Author: Jeppe Toustrup <jeppe@tenzer.dk>
Date:   Thu Sep 15 21:30:44 2016 +0100

    pre-commit.sh: Fix check for undefined variable
    
    Since `pre-commit.sh` specifies the `-u` parameter on Bash in the she-bang
    line, Bash will complain about any access to unassigned variables.
    
    `$PYTHON_VIRTUAL_ENVS` will often times be left unassigned, at least for
    first time invokers of the script, and will give this warning in the console:
    
        ./pre-commit.sh: line 88: TEST_ACCOUNT_ID: unbound variable
    
    If the check instead is changed like mentioned here, the warning will be gone:
    http://stackoverflow.com/a/16753536/95920

commit 466c68e37f463fd5eb69340486bd6a3c956104d9
Merge: 97ffdb3 6792300
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Sep 16 13:55:22 2016 -1000

    Merge pull request #236 from Backblaze/developer_hints
    
    Developer hints

commit 6792300bf0f0d8615f8990ccac6bfeeb08beeae2
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 01:49:55 2016 +0200

    List the nice things the project has to offer to contributors
    
    [skip ci]

commit 6cc3a36b0a1311095e760b1173d1c3e1ead1c23d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 01:48:39 2016 +0200

    Document magic places
    
    [skip ci] because it is just a comment/docstring edit, not really code

commit 64df67dca7bc9f097fbbabd609f1a5ce60bc2cf6
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 01:44:55 2016 +0200

    Formatting changes in README.md
    
    [skip ci]

commit 56481dc0fbff98a1de77f051523fdee05c914df2
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Sep 20 01:31:38 2016 +0200

    Fix typo in custom Travis CI checker

commit 770d2e3a1d956a3a4ce4530dffca69034618fdad
Merge: 10fdc43 17669fd
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Sep 20 00:59:46 2016 +0200

    Merge branch 'master' into basic_logging
    
    * master: (21 commits)
      Add warning about `--delete`
      Restore the default number of threads to 10.
      Default threads to 1; better document threads option
      Add README note about --threads parameter
      Enable connection pooling.
      Raise a ValueError in parse_args that the same argument name is used in two different places.
      Make the fileId parameter optional in delete_file_version.
      yapf
      Extend argument parser to handle optional positional parameters that come before the required parameters.
      Add a command to delete a file given just the file ID.
      yapf 11.1
      Use assertRaises context manager in tests
      Add and use our own TestBase
      Fix relative imports in tests
      version 0.6.7 for development
      version 0.6.6 for release.
      yapf
      Add a docstring to sync.policy.make_b2_delete_actions()
      Fix a sync --delete crash related to a new local directory
      Fix a sync --keepDays crash related to a new local directory
      ...
    
    Conflicts:
            b2/parse_args.py

commit 10fdc435771ef4dfeedbdcb58d26e732a7ea3a50
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 03:25:38 2016 +0200

    Move logging configuration to a separate function

commit a249d1672e37227af73b60812c0a0a1c87c7e554
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Aug 30 12:54:04 2016 +0200

    Protect against inconsistent logger initialization

commit 80033f8f5929b124342ea907f4d7b5c63064554a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 22:35:42 2016 +0200

    Fail when two incompatible log options are requested

commit 424588a5fad50b989f8c08f7f872669a8f45d012
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 03:22:23 2016 +0200

    Improve log header and footer

commit 901a1ba58a52f90afb689725923cf5f31c2257c3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 03:02:43 2016 +0200

    Change initial log messages to "state facts" style

commit 21a0f240e043204b6459fc7ef17f6c9c4dcfceed
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 02:52:59 2016 +0200

    Prevent sys.version logging from breaking lines

commit 4c0b1ed41e35980449264367988c3305248664a8
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 01:04:07 2016 +0200

    Handle a case where two methods of enabling logs are requested

commit 62482aa14438a48e68239884b237a0262410d3d4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 02:51:47 2016 +0200

    Do not log authorization data

commit 9c023fb5cd03aa78c87c6d5ae0a76db8d806fa09
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 29 00:59:48 2016 +0200

    Log basic information about environment

commit 46ea7456157cc9b9abfe86670ad1f0ecc1fd5da1
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 23:43:18 2016 +0200

    Add --debugLogs flag for easier support

commit 97ffdb39fb0fd9e8764ff229170f65d70620f5a1
Merge: 17669fd 56481dc
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Sep 16 13:52:44 2016 -1000

    Merge pull request #235 from Backblaze/basic_logging
    
    Basic logging featuring --debugLogs flag for every console command

commit 17669fd500e04e2c2851a1ebc09e9e202bd9bf66
Merge: 596d36f 4eee3ab
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Sep 16 09:49:56 2016 -1000

    Merge pull request #227 from Backblaze/get_file_info_and_delete_version
    
    Add a command to delete a file given just the file ID.

commit 596d36f904eb3fbf123d2fff98dd84c239bc2854
Merge: 07fcef2 b5e3105
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Sep 16 09:24:28 2016 -1000

    Merge pull request #232 from Backblaze/connection_pooling
    
    Enable connection pooling.

commit 07fcef2d01e45c0dc64ce2ceca286f5f20e6fff1
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Sep 16 09:17:58 2016 -1000

    Add warning about `--delete`

commit c570fcba2438d3cd70c4f3c6e03cc9141f625f49
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Sep 16 09:14:45 2016 -1000

    Restore the default number of threads to 10.

commit 30d1f0cf8ff7b7108a34d26cfcd7af9cfea49ad0
Merge: 2c032a9 17fac5e
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Sep 16 09:09:52 2016 -1000

    Merge pull request #234 from TJC/feature/threads
    
    Adjust threads default, add documentation

commit 17fac5e772b263ed4ebdfa4d3689e0c96e2763fa
Author: Toby <tjc@wintrmute.net>
Date:   Fri Sep 16 10:51:58 2016 +1000

    Default threads to 1; better document threads option

commit 6439e62b73a37d2be77013fd805843b3fc2de699
Author: Toby <tjc@wintrmute.net>
Date:   Fri Sep 16 10:48:32 2016 +1000

    Add README note about --threads parameter

commit b5e3105dbbea97499fa9feef0c977a53897569ed
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Sep 15 14:26:58 2016 -1000

    Enable connection pooling.
    
    It turns out that `requests` only does connection pooling when you
    create a Session object.  So now we do that.
    
    Verified that it's reusing connections by enabling debug logging and
    watching it run.

commit c297343b7770a69eecbcdf7cb1e26d0c19293165
Author: Jeppe Toustrup <jeppe@tenzer.dk>
Date:   Thu Sep 15 21:24:57 2016 +0100

    pre-commit.sh: Make use of `~/.b2_auth` for test_raw_api
    
    It's already used for the integration tests so we might as well just use the
    same file for test_raw_api, which is also the documented method in the README
    file.

commit cac2212bd1a25c210064bb2836731cf35558cef6
Author: Jeppe Toustrup <jeppe@tenzer.dk>
Date:   Thu Sep 15 21:23:46 2016 +0100

    pre-commit.sh: Move `yapf` check under the format check header
    
    Also: Use `type` to check if `yapf` is installed instead of trying to
    execute the program.

commit d2b6c5037e0e14820c45c50253a8e5a9000eea4f
Author: Jeppe Toustrup <jeppe@tenzer.dk>
Date:   Thu Sep 15 21:21:29 2016 +0100

    pre-commit.sh: Check `git rev-parse` instead of raw `.git` files
    
    When executing `pre-commit.sh` on a fresh checkout, it will fail with:
    
        ./pre-commit.sh: line 36: .git/refs/remotes/origin/master: No such file or directory
    
    Use the `git` command instead of accessing the raw files inside `.git` for a
    more robust check.

commit 4eee3ab58e80c087b81b5c748f481a902820478e
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Sep 15 09:04:49 2016 -1000

    Raise a ValueError in parse_args that the same argument name is used in two different places.

commit 835d9a486fdafaa58001b13fcb0c68c791c2e25d
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Sep 14 13:59:09 2016 -1000

    Put only ascii strings in exceptions.
    
    Running on Python 2, some users are getting errors
    when trying to print errors:
    
      File "b2/console_tool.py", line 910, in main
        exit_status = ct.run_command(decoded_argv)
      File "b2/console_tool.py", line 829, in run_command
        self._print_stderr('ERROR: %s' % (str(e),))
      File "b2/exception.py", line 57, in __str__
        return '%s: %s' % (self.prefix, super(B2SimpleError, self).__str__())
    UnicodeEncodeError: 'ascii' codec can't encode character u'\uffff' in position 106: ordinal not in range(128)

commit 90edf48bbf850c8e702c41a3bf45806745820ac4
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Sep 12 17:59:02 2016 -1000

    Make the fileId parameter optional in delete_file_version.
    
    If it's not provided, it looks up the file name before deleting.

commit 2a34e0d9786fef623c28e87a5c324e193d0fb6c1
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Sep 12 16:32:39 2016 -1000

    yapf

commit f9f5455fdaa26d8542b3d7568d811ed90067df8c
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Sep 12 16:31:33 2016 -1000

    Extend argument parser to handle optional positional
    parameters that come before the required parameters.
    
    It's ugly, but it will handle making the fileName optional
    in delete_file_version.

commit 1f021dcce1f4497d31aa015b9b389b7fb8ef5840
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Sep 12 11:33:18 2016 -1000

    Add a command to delete a file given just the file ID.
    
    It first gets the file info, to acquire the file name, then
    it deletes the version with the given ID.

commit 2c032a9a90be14507e46f2b19d98d3208e35e2d7
Merge: d2291c6 67e45d6
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Sep 5 06:52:01 2016 -1000

    Merge pull request #225 from Backblaze/assertRaises
    
    Use assertRaises context manager in tests

commit 67e45d60351bb5e5a1ee8b2682ac87687f7a0835
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 5 15:13:15 2016 +0200

    yapf 11.1

commit 66c6f087cb010de3a73e5ce802d0917ed47268d9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 5 15:12:58 2016 +0200

    Use assertRaises context manager in tests

commit 4c9597095916fbdc8485641fdfdcb173025b16f8
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 5 15:08:13 2016 +0200

    Add and use our own TestBase

commit 5244f82bbef174c05b4a8439d8ea2a91b55a93f9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Sep 5 14:43:42 2016 +0200

    Fix relative imports in tests

commit d2291c6b402a0871f41f3795f0dfbc6f83a0a5ce
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 30 15:05:59 2016 -1000

    version 0.6.7 for development

commit 1a753de693f94531374779a56a38f4771232f8a6
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 30 15:03:50 2016 -1000

    version 0.6.6 for release.

commit 699a9bec20f43aea27a6d5fa2c1c155fc1d6527d
Merge: 61cd483 b6f170e
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 30 09:22:32 2016 -1000

    Merge pull request #222 from Backblaze/peff-refactor
    
    nice refactoring from @peff

commit b6f170e78c8bc1c3338f70c246ae686a00f3fe23
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 30 09:18:03 2016 -1000

    yapf

commit 1d492c590b296474e062fc43f7c54d067a5f7e42
Merge: 61cd483 ea6d655
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 30 09:09:40 2016 -1000

    Merge commit 'ea6d655c05da46b3f2f3bc8070f90b47bb0e59f5' into peff-refactor-note

commit 61cd483314befccc3c1e2cc9f34aa871c72ad603
Merge: 695a794 564ce0d
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 30 08:52:57 2016 -1000

    Merge pull request #221 from Backblaze/issue_220
    
    Fix sync crashes related to new local directory and keepDays/delete flags

commit 564ce0def458e465dd2621d043a977bc262b8856
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Aug 30 16:46:43 2016 +0200

    Add a docstring to sync.policy.make_b2_delete_actions()
    
    [skip ci] because the change does not touch real code

commit d5990e6f62ebf5fdd11e2c226ce35382a0242d8f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Aug 30 16:42:57 2016 +0200

    Fix a sync --delete crash related to a new local directory
    
    Fixes #218

commit 1beb5c656499706eeabaa74249f00b4a3b94a2bf
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Aug 30 16:34:57 2016 +0200

    Fix a sync --keepDays crash related to a new local directory
    
    Fixes #220

commit 91fa802b79cc3171303cb29a876bbe571c7a07d1
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 04:02:14 2016 +0200

    More logs for ConsoleTool

commit 4f7105d6e1ff408b557fa77e1034d85a80ccea1e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 03:02:27 2016 +0200

    Improve the logging format
    
    make it easier to parse and add pid/thread id information

commit bdd5754e3bccf86f95a7f0909e88d0d7a713a8e3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 03:02:14 2016 +0200

    Make the logs rotate at midnight to prevent gigantic files from being created

commit e7c685e4c33fcf260674c453fc173114e2f45555
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 02:46:22 2016 +0200

    Add an instruction on how to configure logging

commit 8f55a62e72b8c9b2357fd2caca4fb2dfdd65e17e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 02:42:57 2016 +0200

    Improve sync logging

commit 505c81f85588c50a44577fb33d8031edd7a75de5
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 02:12:51 2016 +0200

    Add example log config

commit cb361faa9ec7a24576ebbf8d150c6fe55d89d937
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 02:11:53 2016 +0200

    Add some logging for sync

commit 3c88978a0121e9e24a7aeaa759fe7da14a579a27
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 02:11:17 2016 +0200

    Add some basic log messages for ConsoleTool

commit 479b44a48b9ed898f33b8affe8adc15a82c2b9b8
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 02:09:25 2016 +0200

    Add --logConfig hidden option to enable logging customization

commit c4435da4c30747b702c331d7a83f0abef923c281
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 28 02:05:37 2016 +0200

    Add support for hidden options available in all commands

commit 3a412b766d08ebd6ac3a6f1042fdbe4e79a31f48
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Aug 23 04:32:17 2016 +0200

    Configure a null logger to prevent library users from stderr poisoning

commit ea6d655c05da46b3f2f3bc8070f90b47bb0e59f5
Author: Jeff King <peff@peff.net>
Date:   Thu Aug 25 23:42:16 2016 -0400

    sync: factor out deletion note selection
    
    This code is already repeated in two spots, and we're about
    to add more. Since it involves non-obvious policy like the
    text that goes in the note, let's pull it into its own
    function.

commit 695a7946b897d67d85c9322ad07be5c3af6ebbef
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 17 16:48:20 2016 -0700

    Version 0.6.5 for development.

commit e2780dbfeb63fdb283b780ca0237c30bc285a09d
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 17 16:46:57 2016 -0700

    Version 0.6.4 for release.

commit 758c12db77719651f4e8bb958887a2f2f1de566f
Merge: f21d5af ab26d22
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Sat Aug 13 22:03:19 2016 +0200

    Merge pull request #213 from Backblaze/requests_requirement
    
    Restore original requests requirement: >=2.9.1

commit ab26d22ddc4b5df488f81320deba9ec8ccfb882f
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Aug 13 09:31:24 2016 -1000

    Fix bad merge.
    
    I didn't pay enough attention when I merged in master.

commit e7d7fe20a164c978e34cd87c62be8f8ee1326a4e
Merge: b420296 f21d5af
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Aug 12 14:10:23 2016 -1000

    Merge branch 'master' into requests_requirement

commit f21d5afc63f92cdb5142642ad763d51ae6fd4e8f
Merge: 952fb16 498ea0f
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Fri Aug 12 18:19:09 2016 +0200

    Merge pull request #210 from Backblaze/drop32
    
    Drop support for Python 3.2

commit 952fb16629786cd5b73658e0725d96d4125df67b
Merge: 1957bee af4f581
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Fri Aug 12 00:16:44 2016 +0200

    Merge pull request #212 from Backblaze/new_domain_name
    
    Change domain name for B2 service from backblaze.com to backblazeb2.com.

commit af4f5814f36c04b662667914dbc9d3331e66c0f9
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 10 13:43:07 2016 -1000

    May yapf was out of date, so it wasn't generating the most
    up-to-date ugly code.

commit b420296cd139318158a67aaf16c9ee90843153dc
Merge: 1957bee d95e032
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 10 13:35:53 2016 -1000

    Merge commit 'd95e0322992939d4966a41a9e95c9adc388e8a29' into requests_requirement

commit 0995ca161d65fbf6113f25bd5a5f56cd53f65370
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Aug 10 13:31:50 2016 -1000

    Change domain name for B2 service from backblaze.com to backblazeb2.com.

commit 1957bee8d0a7f8175d5edd716a8b5860abfe0dc2
Merge: cb38b3e b7e0603
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Aug 9 12:51:50 2016 -1000

    Merge pull request #211 from Backblaze/requests_timeout_exception_compatibility
    
    Restore old requests compatibility

commit b7e06037aa2fbb7f367fc49ab7a5cf29a7e16752
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Aug 9 13:25:54 2016 +0200

    Add docstring to B2Error.prefix()

commit 96f8f9cab26d02989d646f8bb6f1af56ddbc545c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Aug 9 13:22:42 2016 +0200

    Restore compatibility with requests<2.11.0
    
    it was broken accidentally in 17eedfac49e688cd3a80b86850df38377366c1bc

commit 498ea0f2374d0b9cbfd78e1f515876627342d0c4
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 8 09:27:10 2016 -1000

    Require requests>=2.11.0, because that's the first version with requests.ConnectTimeout exported.

commit 29b77eaefc3eca34c4dca220f70c0a4b39316ea8
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 8 09:17:59 2016 -1000

    Remove claims about supporting Python 3.2.

commit d95e0322992939d4966a41a9e95c9adc388e8a29
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 8 09:15:51 2016 -1000

    Restore requirements file to "requests>=2.9.1"

commit cb38b3ede01e3a7dc7a5788212a13af6a7bd7a8e
Merge: 5390e15 fe9319a
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 8 08:02:00 2016 -1000

    Merge branch 'master' of https://github.com/Backblaze/B2_Command_Line_Tool

commit 5390e1595e5d290463df0c14601375c0c0507fe8
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 8 08:01:20 2016 -1000

    Experiment to see if build works on Python 3.2 with requests 2.10.0.

commit fe9319a5e246f66977cadc05ff9f22b942ef5cf9
Merge: ca214c4 ace9366
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 8 07:17:20 2016 -1000

    Merge pull request #202 from Backblaze/issue_190
    
    Include more info in the error message when os.listdir() doesn't retu…

commit ca214c4cb1af97f75f6aac68578ec44a2b6ee2b1
Merge: c9b346c 7843d9e
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Aug 8 07:16:33 2016 -1000

    Merge pull request #209 from Backblaze/issue_206
    
    Catch timeouts thrown by requests libary

commit 7843d9e96a187de491413776418a9452add04833
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 8 13:38:21 2016 +0200

    Refactor exceptions, make more of them transient

commit 17eedfac49e688cd3a80b86850df38377366c1bc
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Aug 8 13:31:25 2016 +0200

    Catch timeouts thrown by requests libary
    
    Resolves #206

commit ace9366fe2f0ee314c6090dc36cf7f6a74453e1a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Aug 7 21:49:39 2016 +0200

    Move exception to appropriate module and improve it

commit 3d4d95764cf350f61c32ac9745a84809e19cd498
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 29 08:41:05 2016 -1000

    Include more info in the error message when os.listdir() doesn't return unicode.

commit c9b346c9ceeb0fde3e494afe20d6c58ade6eb3d7
Merge: 23b3f76 f0ab226
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 28 06:18:57 2016 -1000

    Merge pull request #199 from Backblaze/keep_days
    
    Hidden marker keeps next oldest version alive

commit f0ab22681cd0d2f1ff3b4969bad409cd795cd941
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 28 03:07:37 2016 +0200

    Prevent pre-commit from emitting warnings

commit 5185223236430760910157e844ccfa251fed48be
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 28 02:59:41 2016 +0200

    Put files_are_different back in sync.policy

commit f5056a126f2557b6b2f84f40e59dbbad486ab718
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 28 02:55:48 2016 +0200

    Yapf

commit c087332bdca199a0b195813026339d81ec1d9b71
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 28 02:55:04 2016 +0200

    Fix missing import which was not detected by UT

commit 860ec22c2021ecfcd147f4ff3e296cae5cb51ad1
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 28 02:53:13 2016 +0200

    Small tweaks to new sync/policy code

commit 7a13197c74e984ba5ca7efe708be8c716398c23b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 28 02:42:00 2016 +0200

    Move sync to a separate module

commit d695e3c28052db008935597d99b96328bad65c07
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 28 01:57:36 2016 +0200

    Major refactor of sync code

commit 0cdddf67ef57c19d8e25e59e0970198e55ca87aa
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 27 07:52:09 2016 -1000

    Keep any file version that was visible within keepDays.

commit d45b2428c7936c2560c47359058f7321937cfa50
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 27 07:15:23 2016 -1000

    Back to original intent of @svonohr's change.

commit 610bd85a11c2a877e3cb1da481a27bb298ee3a44
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 27 06:57:04 2016 -1000

    Fix unit tests.

commit 9ada1d756f6392be51667ce478a01d2e42d7d797
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 27 06:53:55 2016 -1000

    Add a note when a hide marker is being deleted.

commit 939275e5ff6fe4a186511064e8416d9cd8f61fa1
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 27 06:52:29 2016 -1000

    Refactor hiding and deleting B2 files.

commit f84875f95002f11ee9888df708c7f239c4b5af3a
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 27 05:50:55 2016 -1000

    Refactor creation of delete action for local files.

commit 5b7e22d72e7f9aef5dadc6b763953bed611e6730
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jul 26 16:49:12 2016 -1000

    Refactor creation of action to transfer a file when syncing.

commit b76152341810bde4afd752946323d491ecf728dc
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Jul 26 21:58:32 2016 +0200

    Hidden marker keeps next oldest version alive

commit 23b3f76e3e67506845dbec8109f6571f6ce80a2d
Merge: 566106a 54c87a8
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 23 15:39:47 2016 -0700

    Merge pull request #198 from Backblaze/sca_fixes
    
    SCA fixes

commit 54c87a8e8b5aa5a2759cfa12cad48dfc78ac3a62
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 21 16:25:25 2016 +0200

    Yapf 0.11.0. It actually made some things better.

commit 56b978db4a7638cdc471d0580335c03be633c054
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 21 16:10:04 2016 +0200

    Call super constructor

commit dbf2cee26522f3992cd9a5b1ecfbd036c36ec902
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 21 16:09:12 2016 +0200

    Fix unused variable

commit dad17b756ba46f7718df925a55cb23fda40a9c89
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 21 16:08:27 2016 +0200

    Fix raising an exception in raw_simulator

commit f41cfbba684234f3efd67e918d700ec707f34252
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 21 15:58:50 2016 +0200

    Catch the right exception types
    
    this prevents catching unintended things like ctrl+c

commit 566106a4a8ba32734cba914551824ea03fdbb9d0
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 14 11:59:16 2016 -0700

    yapf

commit 3fae030c36dcc92563faa477284da916036d44d8
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 14 08:57:21 2016 -0700

    Version 0.6.3 for development.

commit 3a4cd3f0b5309f79f98c2e0d51afc19fb2fe4201
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 14 08:56:37 2016 -0700

    Version 0.6.2, and include requirements*.txt in installation.

commit 14d72cfc1cc1bacc47ab0baa459922ea57bbc03d
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 14 08:15:44 2016 -0700

    Version 0.6.1 for development.

commit 62bd0918a2cb4be3ef4319b3a7a067e1a2517982
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 14 08:13:56 2016 -0700

    Version number 0.6.0 for release.

commit c5eedd51df1bfb03c8ff6b0434d80a4d431d2f46
Merge: 1c85335 9d7baf9
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 14:36:57 2016 -0700

    Merge pull request #192 from Backblaze/work_on_190
    
    Work on 190

commit 1c85335ab70d1cba26bab7af695b8e1152df9f88
Merge: d9b28dc 538002d
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 14:34:59 2016 -0700

    Merge pull request #179 from Backblaze/exit_status
    
    Throw exception when some sync actions fail

commit 9d7baf967bd0bf20f227e7ba8cb663f2f1c88604
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 13:37:08 2016 -0700

    Better assertion for non-unicode return from os.listdir().
    
    When the characters are all ASCII, everything will be fine,
    but when str/bytes is returned by os.listdir, and it's not
    ASCII, it will fail the assertion.

commit 7bc12db7312032df1685514394a40e56a93edcbe
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 13:33:54 2016 -0700

    Remove hack for PS1, now that better fix is there.

commit 55e34c479f8feca75d0e9dcbdc1d7c2328752c8a
Merge: fbb5f6c d9b28dc
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 13:33:08 2016 -0700

    Merge remote-tracking branch 'origin/master' into work_on_190

commit d9b28dc74c3babaee01f7b1328c25f5446612f92
Merge: df9e64f b658216
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 13:16:48 2016 -0700

    Merge pull request #193 from Backblaze/fix_virtualenv
    
    Fix virtualenv activation

commit b658216d8a9d24debe996d781456dd4e1e66cb92
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 13 22:12:43 2016 +0200

    Fix virtualenv activation

commit fbb5f6c39ae7d9a5f8447644d52d6a7d9982b9bd
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 11:47:59 2016 -0700

    Set PS1 to make pre-commit script work.

commit c278afc2ea2408f0278e041b992acb644e0e62dc
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 11:47:43 2016 -0700

    Add assertion to help diagnose #190.

commit 538002d3190a540f1f0853a8df78ef177213a9d7
Merge: c1b8d13 df9e64f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 13 20:38:23 2016 +0200

    Merge branch 'master' into exit_status
    
    * master: (71 commits)
      code review feedback
      Disable the Windows target again
      Add --minPartSize option when uploading a single file.
      Make some tests pass on Windows
      Reorder travis targets to maximize parallelism and early feedback
      Fix the Windows target
      Add notes on OS X python caching
      yapf dejavu
      Use temporary file for sqlite during testing
      Make database file path an instance variable
      Run yapf in incremental mode and in parallel
      Utilize all cores when running nosetests
      Initialize fields in constructor
      Catch only the exception that is meant to be caught
      Call constructor of superclass in exceptions
      Rename type -> type_
      Rename ConnectionError to B2ConnectionError
      Clearer code (code review feedback).
      Print warning about broken symlink only once per file.
      Add system test for broken symlinks.
      ...

commit c1b8d13e3195a7b0e95afbbf77679b8c78fd33d4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 13 20:37:42 2016 +0200

    Code review feedback

commit df9e64f55c585b6831ace9ef519ac96032b1e2e6
Merge: c4ed2cd a59f557
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 11:23:39 2016 -0700

    Merge pull request #189 from Backblaze/small_fixes
    
    Small fixes

commit c4ed2cdc69ec3d9b10c6bf7abf6a2d0a9d9d13b5
Merge: 196ab98 7c05399
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 11:21:35 2016 -0700

    Merge pull request #191 from Backblaze/min_part_size
    
    Add --minPartSize option when uploading a single file.

commit 7c05399b31c3de8712f0b29ccf169140ac61c049
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 13 11:21:11 2016 -0700

    code review feedback

commit a59f557320f49c585b132f443257e9bf8121d2db
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 13 00:51:33 2016 +0200

    Disable the Windows target again
    
    some tests still fail and we need a release this week

commit a115055f9e3ce9869b5c7a9f4092623bc9fe3394
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jul 12 09:18:30 2016 -0700

    Add --minPartSize option when uploading a single file.
    
    We may also want this option for sync.

commit 42e226ae00609844626488c117a5e5a4c1d30295
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 12 15:59:45 2016 +0200

    Make some tests pass on Windows

commit d436d6b93848f4373ced4f244a2bf5884ab819a1
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 12 15:11:11 2016 +0200

    Reorder travis targets to maximize parallelism and early feedback

commit 41dd6ca9ab69805f0b7d45db79c885bac4110628
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 12 14:32:34 2016 +0200

    Fix the Windows target

commit d4941cc916dbb9882647fac3a542335c81449b62
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 12 13:48:01 2016 +0200

    Add notes on OS X python caching

commit 8c01157e01103715bdc0b790c7bc97dfe50787ed
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 12 00:35:53 2016 +0200

    yapf dejavu

commit 7724d43dfd73a0b3bdd4657f9c8bac46ea98e3e3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 19:30:09 2016 +0200

    Use temporary file for sqlite during testing

commit dee2a1f2d0ad4dd092a87a68bb86a9f36e055054
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 18:59:32 2016 +0200

    Make database file path an instance variable
    
    This will soon let us run the tests in parallel

commit 196ab988bb3ee065ae8221104183a5e6e2b8e35c
Merge: ab2b5b4 61ea40a
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jul 11 06:31:49 2016 -1000

    Merge pull request #173 from Backblaze/broken_symlink
    
    Skip broken symlinks

commit b7f897e192cfa04010781d0e47cdd49d4ea9780e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 15:24:02 2016 +0200

    Run yapf in incremental mode and in parallel

commit aa7885ace745254d315607d90f5c1c07e3809938
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 15:22:44 2016 +0200

    Utilize all cores when running nosetests

commit 965576ef808ad962dc659e1a0e0b0d2c4065f5de
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 15:12:02 2016 +0200

    Initialize fields in constructor

commit c4163c35efb2ec587217bbad6008fb4976dfcf34
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 13:44:09 2016 +0200

    Catch only the exception that is meant to be caught

commit 4be46d273e050c0b563fb292d2a56735728821c3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 13:42:04 2016 +0200

    Call constructor of superclass in exceptions

commit dcba33213c3cf58592d9f4989e4ca89593130345
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 13:36:51 2016 +0200

    Rename type -> type_
    
    'type' is a builtin

commit fca76a8625f222f63381ca39a2f6b58a110e18b4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jul 11 13:33:55 2016 +0200

    Rename ConnectionError to B2ConnectionError
    
    ConnectionError is a builtin for python3

commit 61ea40aa4b27d76298d8c094af61e18132ee9bac
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 9 08:28:11 2016 -1000

    Clearer code (code review feedback).

commit 62ec6a3e4eab2221cfdb63a0f47a50b85b5dec3b
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 9 08:12:36 2016 -1000

    Print warning about broken symlink only once per file.

commit 4d3a4a8d0de2778150c7411aa2a8cb2f5d408c00
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jul 9 07:47:47 2016 -1000

    Add system test for broken symlinks.
    
    Add missing parameter to _print_line call.

commit 20593bbd77bf4c42eea44e52d1f9b07504f936aa
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 8 16:32:11 2016 -1000

    Tests for broken symlinks.

commit 3ab517db1cf6e0cdee87859a5fdd420b3737768f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Jul 8 03:01:42 2016 +0200

    Try to hit the broken symlink condition

commit 8888e8c9ef0c529672b24dfc41230ae1c2742b3e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Jul 8 02:59:38 2016 +0200

    Add warnings for skipped broken symlinks during sync

commit f12451f035297e6d96e9e1934391ee1498979127
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Jul 8 02:08:30 2016 +0200

    Add test for sync of a broken symlink

commit 6942ae67aee6cdb35c6f5373d170317d7bdcd251
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Jun 14 22:20:15 2016 +0200

    Skip broken symlinks

commit ab2b5b4e3dc2c8b52b28592c7414ebb4646034e2
Merge: 3275e22 634e957
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jul 7 06:08:37 2016 -1000

    Merge pull request #186 from Backblaze/coverage
    
    Enable collection of coverage metadata, add coverage target to Travis CI

commit 634e9575d5ff8682a6cfddf9a14cce497ccac51e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 7 13:49:10 2016 +0200

    Use egrep consistently in Travis CI configuration

commit 9d751558d215c18add8a4e7d9f7af03c40bb01d9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jul 7 03:38:47 2016 +0200

    Fix a race condition in StubAccountInfo
    
    This:
    ```
    ======================================================================
    ERROR: test_upload_large_resume_file_info_does_not_match (test_bucket.TestUpload)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/test/test_bucket.py", line 399, in test_upload_large_resume_file_info_does_not_match
        file_info = self.bucket.upload_bytes(
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/b2/bucket.py", line 265, in upload_bytes
        return self.upload(upload_source, file_name, content_type, file_infos, progress_listener)
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/b2/bucket.py", line 326, in upload
        return self._upload_large_file(
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/b2/bucket.py", line 403, in _upload_large_file
        part_sha1_array = [interruptible_get_result(f)['contentSha1'] for f in part_futures]
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/b2/utils.py", line 56, in interruptible_get_result
        return future.result(timeout=1.0)
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/b2/utils.py", line 56, in interruptible_get_result
        return future.result(timeout=1.0)
      File "/home/travis/.virtualenv/jython/Lib/site-packages/futures-3.0.5-py2.7.egg/concurrent/futures/_base.py", line 398, in result
        return self.__get_result()
      File "/home/travis/.virtualenv/jython/Lib/site-packages/futures-3.0.5-py2.7.egg/concurrent/futures/thread.py", line 55, in run
        result = self.fn(*self.args, **self.kwargs)
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/b2/bucket.py", line 477, in _upload_part
        upload_url, upload_auth_token = self._get_upload_part_data(file_id)
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/b2/bucket.py", line 527, in _get_upload_part_data
        upload_url, upload_auth_token = account_info.take_large_file_upload_url(file_id)
      File "/home/travis/build/Backblaze/B2_Command_Line_Tool/test/stub_account_info.py", line 100, in take_large_file_upload_url
        return upload_urls.pop()
    IndexError: pop from empty list
    ```
    was found [here](https://travis-ci.org/Backblaze/B2_Command_Line_Tool/jobs/142920282) by our new Jython target.
    
    Jython has no GIL and it doesn't switch threads every set amount of instructions, so the concurrency there is "more real" than in CPython.

commit 1f3c55bf7f3294da3f989cd32f72bb05e24ea873
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 12:54:42 2016 +0200

    Enable collection of coverage metadata, add coverage target to Travis CI

commit 3275e22722d3d93331fc7ee1828bef67579680fc
Merge: 31551e1 34ec4bc
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 6 09:21:09 2016 -1000

    Merge pull request #185 from Backblaze/account_info_cleanup
    
    Account info cleanup

commit 34ec4bcc825e79d08409cdc36f279d0629cceb2c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 20:09:05 2016 +0200

    Remove old account_info.py

commit 78ea841aa06af77ce86a6c189ea3fbcd41f26799
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 6 06:48:49 2016 -1000

    yapf

commit 2f41a3de30a2b5a49f169bacaf3d976c237107cf
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jul 6 06:47:29 2016 -1000

    Include b2/account_info/*.py in yapf checks.

commit b15918c09d4ad015093d9eeb44307eda38ac7f8c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 15:18:46 2016 +0200

    Prevent import b2.api from importing sqlite3 on Jython

commit 094d2e542557339343a28fb250379dbfc9021282
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 14:58:11 2016 +0200

    Remove empty lines

commit 341b5ada69ab8479bc0b603ebc66c8acd4297aa7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 14:50:05 2016 +0200

    b2/account_info/__init__.py shall not import sqlite3

commit 65ed18facba6fa680b6c7adbf98b1085b987d2d7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 14:17:53 2016 +0200

    Re-enable Jython target

commit 845951bec447ab7b15985ae2df203f97db02475c
Merge: 2f38539 31551e1
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 14:17:24 2016 +0200

    Merge remote-tracking branch 'origin/master' into account_info_cleanup
    
    * origin/master:
      Normalize Travis environment variables
      Disable Windows build due to many failures and already big PR
      Disable Jython build until AccountInfo classes are untangled
      Prevent pre-commit from deleting source code on syntax error
      Fix sync.py:sample_sync_report_run()
      Add and document missing parameter in an abstract class
      Fix unused variable
      Fix statements with no effect
      Fixed dangerous default parameters
      Specified exception type for UnicodeEncodeError exception
      Made sure only ImportError is caught when trying to import a module

commit 31551e14a6451f16c43727de46a64d9184d4ad69
Merge: b123a42 9d3cf5f
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jul 5 21:53:05 2016 -1000

    Merge pull request #184 from Backblaze/extend_ci
    
    Add Jython and Windows targets

commit 9d3cf5f2b49b92be9b2141726ed5fd6331c033f9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 04:08:08 2016 +0200

    Normalize Travis environment variables

commit a436b60f1216365c72a999271934ae73d7713934
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 02:46:35 2016 +0200

    Disable Windows build due to many failures and already big PR

commit 8ea15ea1f0089af7689b622f5b31ba6a03c59319
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 02:31:41 2016 +0200

    Disable Jython build until AccountInfo classes are untangled

commit 2f385394c7a280579d744f019bcde057526e4b31
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 02:29:44 2016 +0200

    Move AccountInfo and related classes to their own directory

commit d64edfa9b6252569267747c63468ecfa20b8792c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 00:49:52 2016 +0200

    Move UploadUrlPool to a separate file
    
    This was done so that account_info tests can be separated from
    upload_url_pool tests, since account_info can't be tested on Jython
    due to a lack of sqlite3, but upload_url_pool can be tested with no
    issues.

commit b350af47ccacbd416a91dad298d51f74cda63b58
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 00:47:48 2016 +0200

    Add pretty banner after all unit tests pass

commit 90b683f7338a61d24b038bf23e4932398fe0e466
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 00:25:12 2016 +0200

    Install nose when testing on Windows

commit b5f013b2f43b0c13e14ef0b64046ee788d9f9b2b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 00:11:53 2016 +0200

    Install package in more standard way and not in SCA mode

commit be19348ffea4207d95bbde9b6d2e2c859082700a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 00:10:45 2016 +0200

    Add jython package filter

commit d37998255157b038ace8cae0cc1f80027b02ad64
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jul 6 00:10:10 2016 +0200

    Add support for stock pypy/pypy3, disable it and explain it in a comment

commit 0901f048eb7061f1983c6190f7ef7f9e9df29b95
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 5 23:52:48 2016 +0200

    Run test_raw_api only twice per commit, not 14 times

commit c012f1e10a0e2c534d9fc521ed25bc73f1030a15
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 5 23:51:26 2016 +0200

    Only install pyyaml if it is in requirements

commit 132970677f6687511990fa512ca9889df5cdab40
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 5 21:47:17 2016 +0200

    Add Windows test target with Appveyor

commit b1c9223e55dbc39c6f32c62dbe894ec96bf3458e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 5 21:43:06 2016 +0200

    Skip SqliteAccountInfo tests on Jython
    
    this has to be done since there is no sqlite3 package in
    Jython 2.7.1b3 standard library

commit b123a424335cfadb7398a2c93bbc402734dd1fed
Merge: bcf5862 eacd661
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jul 5 10:14:04 2016 -1000

    Merge pull request #182 from neube3/small_fixes
    
    Small fixes

commit bcf58625685644db74df30dc2a95da09c4af357c
Merge: 0f4ddd5 6af690b
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jul 5 10:12:28 2016 -1000

    Merge pull request #183 from Backblaze/fix_precommit
    
    Prevent pre-commit from deleting source code on syntax error

commit eeba9ed9559e788c9b0cce2125d0cd42ef33fe6c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 5 21:10:53 2016 +0200

    Add Jython target to Travis CI

commit 6af690be4e880010a02a5eb3aa6de43db37863ad
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jul 5 18:14:10 2016 +0200

    Prevent pre-commit from deleting source code on syntax error

commit eacd661e94e8224588dbbf4332419b52d4a1bf9d
Author: neube <neube.github@gmail.com>
Date:   Tue Jul 5 15:29:37 2016 +0200

    Fix sync.py:sample_sync_report_run()

commit d96795edc755cf0b0f73864e2da52bbb5373d610
Author: neube <neube.github@gmail.com>
Date:   Tue Jul 5 14:58:25 2016 +0200

    Add and document missing parameter in an abstract class

commit 0a42dbe3f73d982ddfa4c57b866f7931eab62236
Author: neube <neube.github@gmail.com>
Date:   Tue Jul 5 14:56:19 2016 +0200

    Fix unused variable

commit c8658dd244afdddc952b1bec3a700799bec304af
Author: neube <neube.github@gmail.com>
Date:   Tue Jul 5 14:55:46 2016 +0200

    Fix statements with no effect

commit 63237dcbe0f99e3c7442b400ae4efa6e33782428
Author: neube <neube.github@gmail.com>
Date:   Tue Jul 5 13:43:44 2016 +0200

    Fixed dangerous default parameters

commit db900e1cc7cbae90949d304cbce227ef8118b210
Author: neube <neube.github@gmail.com>
Date:   Tue Jul 5 13:39:19 2016 +0200

    Specified exception type for UnicodeEncodeError exception

commit 20bfd4424802dd38ce42bdfef7cc83fade4047e3
Author: neube <neube.github@gmail.com>
Date:   Tue Jul 5 13:33:33 2016 +0200

    Made sure only ImportError is caught when trying to import a module

commit 0f4ddd5b8b9131c9dbc34fd7fbbc04a6fbfffad6
Merge: ae07f96 c804d51
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jul 3 16:13:02 2016 -1000

    Merge pull request #181 from Backblaze/improve_ci
    
    Improve CI

commit c804d51a34b5db561d7f51c139fd1e03bca734c0
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 3 23:11:50 2016 +0200

    Minor tweaks to .travis.yaml

commit 89c1df7c0f1b96965d5954c556bf2162b36e7333
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 3 02:27:07 2016 +0200

    Fix osx build crashing on python setup.py install

commit 5b395ef02f0cfd54a074206776c5fb249c3fb2a4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 3 02:23:51 2016 +0200

    Final tweaks of .travis.yaml

commit 17d0635c6f801dbb0741984d1fd5e1239bccca2c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 3 01:52:13 2016 +0200

    Move SCA requirements from .travis.yaml to requirements-test.txt
    
    (for benefit of other CI engines)

commit 04f9ad1d748c1417264247cff2f17dc4f54889c6
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 3 01:46:30 2016 +0200

    Fix identation to multiple of 4 spaces

commit 0faabf59fa15a67b60ac4db5650803da39c12bd6
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jul 3 01:29:11 2016 +0200

    Give some love to Travis configuration

commit ae07f96c3352314b0074855d153033f604b3e053
Merge: 01c4e89 335b7f4
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 1 11:18:42 2016 -1000

    Merge pull request #180 from Backblaze/fresh_upload_urls
    
    Don't store bucket upload URLs is SQLite.

commit 335b7f4ce02e0d90674b9444b448208b31522e20
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 1 08:52:20 2016 -1000

    Code review feedback: be more pythonic, add unit test

commit fe25962f05daae67a70712244f66f08d0c89be65
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 1 08:40:37 2016 -1000

    Fix typo.

commit 1327d9bda41dd9daacf0c31b74d745ba6a6928fb
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jul 1 06:28:37 2016 -1000

    Don't store bucket upload URLs is SQLite.
    
    This will keep the database from being a bottleneck when
    sync-ing lots of files.  And now that b2_get_upload_url
    is a free call, it doesn't cost any money to use it when
    uploading a single file; it just costs a little time.

commit 01c4e89f63f38b9efa6a6fa63f54cd556a0b5305
Merge: 761d24c 920b8a3
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Jun 30 13:31:17 2016 -1000

    Merge pull request #178 from Backblaze/get_error_message
    
    Fix #177: missing method get_error_message()

commit 920b8a3ef05076663ff8a36afd67bb3526362b13
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jun 21 14:32:11 2016 -0700

    Fix deadlock.

commit 921a04210b6a58254f0620607b2980c60735f6c6
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Jun 21 23:30:52 2016 +0200

    Throw exception when some sync actions fail

commit ee5a372534495a2c39b7a27c37ab0fb2e1deda05
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jun 21 14:10:13 2016 -0700

    Do the locking I should have done before.

commit 2db9b54bf508eef3b59d3b44235400a01378178d
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jun 21 08:07:40 2016 -0700

    pyflakes

commit a2b0e85066e05d69f8926ba3d6528202c7127832
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jun 21 07:55:16 2016 -0700

    Fix #177: 'LargeFileUploadState' object has no attribute 'get_error_message'

commit 761d24c8dbd00f94decbf14cf0136de0a0d9f054
Merge: 4e9f536 48e0ae3
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jun 13 09:08:46 2016 -0700

    Merge pull request #170 from dpedu/master
    
    Fix max_upload_workers being ignored in B2Api

commit 48e0ae3cbd0badf80daa5aeb46110768be65daea
Author: dave <dave_gitlab@davepedu.com>
Date:   Fri Jun 10 20:44:52 2016 -0700

    Fix max_upload_workers being ignored in B2Api

commit 4e9f536f462a2519144797e467dc1de12bd4bab2
Merge: 83619ed 9c96b51
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jun 1 14:03:17 2016 -1000

    Merge pull request #169 from Backblaze/raw_simulator
    
    Fixed raw simulator

commit 9c96b51ee13ab0b719a6dacc01d0d38ff14a8daa
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Thu Jun 2 01:04:04 2016 +0200

    Fixed raw simulator

commit 83619ed05bb1b78b68a5020a43650c0db7e6b112
Merge: 07f49f8 1a51036
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jun 1 11:44:13 2016 -1000

    Merge pull request #168 from Backblaze/ls_tests
    
    Added more ls unit tests

commit 1a51036a02d2cd631702f09e1c258ceaa48eef62
Merge: 3049392 07f49f8
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jun 1 11:25:27 2016 -1000

    Merge branch 'master' into ls_tests

commit 07f49f892eaee86f27cfa26f667fd4a7aff53820
Merge: 50e89f2 d272a8f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jun 1 11:24:29 2016 -1000

    Merge pull request #166 from Backblaze/sync_started_large
    
    Sync will resume uploading large files that were already started.

commit d272a8fb774a3eccf2d063e2f78321dad01050fd
Merge: dc1cacf 50e89f2
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jun 1 11:08:36 2016 -1000

    Merge branch 'master' into sync_started_large

commit 50e89f21454723a68285bd5d66100efcdf87d549
Merge: a1b33a7 e1518ed
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jun 1 11:04:16 2016 -1000

    Merge pull request #167 from Backblaze/progress_listener
    
    Progress listener refactoring

commit 30493921ad9a5c069a025a15281221f6d628819c
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Wed Jun 1 22:57:10 2016 +0200

    * Added more ls unit tests
    * Fixed raw simulator for started large files

commit dc1cacf88f81217ee2068038658c49bd494d3109
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Mon May 30 23:16:17 2016 +0200

    yapf

commit 6c249277e61be987de3670adde828ebf669489a3
Merge: 2a4f425 a1b33a7
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Mon May 30 23:14:46 2016 +0200

    Merge branch 'master' into sync_started_large

commit 2a4f4252b4ea510a5765a8627949bb698b6906c2
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Mon May 30 23:13:13 2016 +0200

    Revert "yapf, to make the code uglier"
    
    This reverts commit 466ea9bc248c9e0820a3ad089d1565bbd76be213.

commit a1b33a78ed2cd035da33e5f5495c3108a53f7a71
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon May 30 10:21:25 2016 -1000

    yapf again, after upgrading

commit e1518edfdbac25c1c592f1c57051f1bc187e1273
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Mon May 30 21:37:01 2016 +0200

    Fixed progress reporting for B2UploadAction

commit 426cbb86a82eade19dc9ef04a6ac08f485049db7
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Mon May 30 21:19:35 2016 +0200

    Fixed typos

commit 7fee2431fe32161dff18c5535dc9bcd913e5322b
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Mon May 30 21:09:04 2016 +0200

    yapf

commit 6abfa5b4fd1eb5c4a0f5447acdf12273c5dc5a2f
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Mon May 30 21:05:15 2016 +0200

    Refactor progress listener

commit 4895896580f007a5bae4d857bae7164bb6490951
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon May 30 07:42:39 2016 -1000

    yapf

commit 15f5a484b0781a27e9089e4bbe9708ca847c42e8
Merge: dc2497a afdf1a1
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon May 30 07:14:25 2016 -1000

    Merge pull request #164 from Backblaze/exit_status
    
    Return an error code on keyboard interrupts

commit 466ea9bc248c9e0820a3ad089d1565bbd76be213
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri May 27 17:22:53 2016 -1000

    yapf, to make the code uglier

commit a93cb5ca4841670332a5c54297cd56f6fff1e8aa
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri May 27 14:52:17 2016 -1000

    Add unit test for B2Folder.

commit afdf1a174f03dd3ec92bb4db56b1f5c33f060a26
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Fri May 27 01:06:09 2016 +0200

    Return an error code on keyboard interrupts

commit ac3e043b3ec92e91f7eedf8ad7cd7333dc75e655
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Fri May 27 00:42:23 2016 +0200

    Ignore started large files for sync

commit dc2497ae42609dbba4f954293b0399795367b234
Merge: 7a64352 75e54c8
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat May 14 08:14:49 2016 -1000

    Merge pull request #158 from Backblaze/setuptools_improvement
    
    Make it so tests can run without touching PYTHONPATH

commit 75e54c8525c2c8cd6fc5f48e1d6392b5d58c40f7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu May 12 20:26:23 2016 +0200

    Make python setup.py nosetests pass on all python versions in Travis

commit 7a64352ee20d0bce23964ffd2bbf2f726249f600
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu May 12 08:32:29 2016 -1000

    version 0.5.7

commit 3b996979febc2b831ba721eafa73cad65a5c4c74
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu May 12 08:29:01 2016 -1000

    version 0.5.6

commit 4e784fb5809e3a96ee54e6dd40636d633f5fac3d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu May 12 20:19:19 2016 +0200

    Quote variables in precommit

commit 97955a328dcec28b5bf1475b8e8b22021bf2af6b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu May 12 20:17:58 2016 +0200

    Make pyflakes check setup.py

commit 0ff686cf43981070c9c5c4a1f5fd2693aca51950
Merge: 83ca714 3849ece
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu May 12 20:09:11 2016 +0200

    Merge branch 'master' into setuptools_improvement
    
    * master:
      Fix rounding of modification time
      Prevent running Travis CI twice on each commit
      Refactored 'compareVersions' option
      Fix for Pyhton 2
      Added tests for 'compareVersions' option
      Verify 'compareVersions' options
      Documentation for 'compareVersions' option
      Working on 'compareVersions' option

commit 83ca71468a43956b107665d329b3f7a5d8fee171
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu May 12 20:02:23 2016 +0200

    Make pre-commit use new unit-testing script

commit c2d3b5cf7383a5c309fd98d47e1d633ec98f1ddd
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu May 12 19:42:46 2016 +0200

    Make travis use new test running method too

commit fed56220019c99c1894d9b4d9e49fb8f6154cccf
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu May 12 07:28:06 2016 -1000

    yapf

commit a20e6402d3545279c17b760dada7a4f716d8bb00
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu May 12 17:58:08 2016 +0200

    Make it so tests can run without touching PYTHONPATH
    
    This lets setuptools take care of test dependencies
    and in the future will allow for supporting Jython.
    As setuptools now handle dependencies, we are less
    locked in Travis CI (python setup.py nosetests can
    be triggered by any CI easily).
    
    script is used instead of Makefile for running
    development tests. Makefile didn't work on Ubuntu
    environments for some reason.

commit 3849ecea502b1be06c215dcf89c15f7240b5ea94
Merge: 3300a8b 765d833
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu May 12 06:01:08 2016 -1000

    Merge pull request #155 from Backblaze/prevent_double_travis_build
    
    Prevent running Travis CI twice on each commit

commit 3300a8bde04cbb8aceae72ea1683ed67256899f8
Merge: d372279 b1625a4
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu May 12 06:00:23 2016 -1000

    Merge pull request #154 from Backblaze/compare_versions
    
    Option to specify how different versions of the same file are compared.

commit d37227963ca8c23b1710a14054b6a27ca44a8255
Merge: ba1dec6 8dc210e
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Tue May 10 20:10:14 2016 +0200

    Merge pull request #156 from Backblaze/fix_integration_test
    
    Fix rounding of modification time

commit 8dc210e949ccb0553a62b359e2c9b6555f6d0f4e
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue May 10 18:56:38 2016 +0200

    Fix rounding of modification time

commit 765d833b8842eb8951191c22f47c48a1f50bac71
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue May 10 18:16:12 2016 +0200

    Prevent running Travis CI twice on each commit
    
    this should not cause any trouble unless we will have conflicting PRs
    which target a non-master branch at some time. This never happened yet,
    so we are going to cut our Travis usage in half until it does.

commit b1625a42caab806b01a24b923c141203b17b92c8
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue May 10 17:50:47 2016 +0200

    Refactored 'compareVersions' option

commit 2642afe1e43a7fc1f3b3c6f2cc993f4a4b2d65f5
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue May 10 17:34:19 2016 +0200

    Fix for Pyhton 2

commit 23aee734a367fc7aa0c56d461a566ceb53c9ec19
Merge: 6748026 ba1dec6
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue May 10 01:00:48 2016 +0200

    Merge branch 'master' into compare_versions

commit 6748026de84e8f3c99aa243da57dc443f465e179
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue May 10 00:52:05 2016 +0200

    Added tests for 'compareVersions' option

commit ba1dec6a0f0e9e6bf46b420e9fd0d7003e2f7b4a
Merge: eaaf8a5 78d7640
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun May 8 14:17:27 2016 -1000

    Merge pull request #153 from segphault/master
    
    Added support for excluding files from sync

commit 78d7640f79584e9a28eefaf328f454007b687d10
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 21:21:42 2016 +0000

    Changed the sync exclude option to excludeRegex

commit 5d1a46711cba4fc1b06f9b3df88f144a4c45128b
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 20:37:26 2016 +0000

    Makes sync exclusions work with delete

commit 273a839ec747e1c1baf0283e959d6144651f1a7d
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Sun May 8 22:09:20 2016 +0200

    Verify 'compareVersions' options

commit f4e24feb4371a2bbae4d641ad3f30566042315ca
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Sun May 8 21:53:43 2016 +0200

    Documentation for 'compareVersions' option

commit 73602f6ada593de21f4e65bda7ffcecbd80e5048
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Sun May 8 21:40:13 2016 +0200

    Working on 'compareVersions' option

commit 4cb11fbbbc222b9c3dc3b235bc143b7306442629
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 03:07:59 2016 +0000

    Fixing formatting of sync test

commit c2b245728d704848ad0228c126674a672dd1552b
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 03:00:15 2016 +0000

    Fixed formatting on sync test

commit 2c2b483194906a11352e60987b1b4936aa7cee17
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 02:56:36 2016 +0000

    Added test case for file exclusions

commit 4f02fbadf42ac39e863e29a422fa29074ca53e39
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 01:41:08 2016 +0000

    Fixed sync test formatting and help text

commit cf459b12d94ab4c2026718261810a64cf0a809b6
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 01:24:40 2016 +0000

    Only test sync exclusions on source files

commit 865af4863d266c7709c85b21352436413d736d07
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 01:08:17 2016 +0000

    Fixed spacing issue in sync test

commit f1bfaf0948324c5a91b09111e0e979afce79f186
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 00:56:31 2016 +0000

    Use generator instead of array comprehension for exclusion checking

commit 70024bddf86101a19c2559d601f163d66e08e62f
Author: Ryan Paul <ryan@rethinkdb.com>
Date:   Sun May 8 00:41:33 2016 +0000

    Added exclude to FakeArgs in sync test

commit 63b99f5e3a1669b623a792e66cb1c6322b263844
Author: segphault <seg@phault.net>
Date:   Sat May 7 15:29:14 2016 -0700

    Added support for excluding files from sync

commit eaaf8a55bf1975c0feecabba74abb867468bbcac
Merge: da38a2e d82e919
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri May 6 06:10:56 2016 -1000

    Merge pull request #148 from Backblaze/doc_fix
    
    Fixed small mistake in documentation

commit d82e9195c4412b1c999cc178185d53b9fb4b759b
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Fri May 6 16:33:57 2016 +0200

    Fixed small mistake in documentation

commit da38a2eeb3ddacfc3750749e6a9d4b1c3f612991
Merge: f56b4f5 edc4969
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Apr 30 07:59:29 2016 -0700

    Merge pull request #143 from Backblaze/svonohr-upload_resume
    
    Resuming large file uploads

commit edc49695761366acb8d40c5e6d4e0fc3421ca8e5
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Sat Apr 30 00:11:57 2016 +0200

    yapf

commit 59d55492a749bab4ec451cab7ede2da8db7ab006
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Fri Apr 29 23:51:27 2016 +0200

    Test wrong part size

commit c353f0a37ec207f4e212c4af02455a1174a8a074
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Fri Apr 29 23:39:30 2016 +0200

    Always check file contents

commit baa070fbd5d3c9302d5e47b17c38e425dd21bc69
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Fri Apr 29 22:27:41 2016 +0200

    yapf

commit 2b1b762d3371657e391c53d01849da703c4cad92
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Fri Apr 29 22:01:28 2016 +0200

    More resume upload tests

commit 428dabc180d5938c798256483cc9ad5f701ec952
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Fri Apr 29 21:51:30 2016 +0200

    Removed unnecessary parenthesis

commit 7eca8b46875d2608c936dc2213a21b27690aa2a8
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 29 09:14:57 2016 -0700

    More tests for resuming uploads.

commit fc23cc65e59a6d78bd3acb9a78d536c024bc65cd
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 29 08:58:52 2016 -0700

    First test for resuming uploads.

commit f56b4f5b8ed9ff530cb4b11cdaae2bb33b37625f
Merge: 0bf8960 e4b94b8
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 19:35:04 2016 -0700

    Merge pull request #142 from Backblaze/pypy4
    
    Changes to how pypy builds are launched

commit e4b94b83bd74453e2a47a2c63ccba8b2a23d22d5
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 29 01:54:27 2016 +0200

    Keep pypy3 build in the matrix, but let it fail quietly

commit 0bf8960fa6f135f7673a6aee614062b8401ed0f9
Merge: f45f403 e900b1c
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 29 01:40:35 2016 +0200

    Merge pull request #140 from Backblaze/ten_terabyte
    
    Fix part size decision for really large files.

commit 473ff20035e2ca59ba2cd13281dcade03ee0fdfe
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 29 01:31:46 2016 +0200

    Test pypy v4 and pypy v5.1 in Travis CI

commit b33b196cab3fc355510c867335d210b4bcd91751
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 29 01:24:51 2016 +0200

    Disable pypy3 until we have a cryptography version that works everywhere

commit f45f403ebe2cded3a697cfbc5f90bd4b01e8fad2
Merge: 195f2ce 3ecd1b3
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 29 01:12:47 2016 +0200

    Merge pull request #138 from Backblaze/tqdm
    
    add dependency on tqdm

commit bbf421e897b3c7a02509f9d2e63fc9f95ffdf0d8
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Thu Apr 28 23:54:41 2016 +0200

    * Use dict for finished_parts
    * Added documentation for _find_unfinished_file
    * Fixed typo

commit e900b1cf267a78fce7782845065d912d1039658c
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 13:50:47 2016 -0700

    Fix part size decision for really large files.
    
    Now that the maximum file size is 10TB, the limit of
    10,000 parts per file matters when choosing a part size.

commit fd3cbbcf0338b5a57a4d1c2e789038a95ed88982
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Thu Apr 28 22:44:25 2016 +0200

    Skip already uploaded parts

commit ebdb3bd07b49229e4ebeb2922059cc8f1bdd24e4
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Thu Apr 28 22:26:37 2016 +0200

    Resume unfinished large files

commit 3ecd1b363df87278e1f3b2e4e160f5e949c0d728
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 11:37:22 2016 -0700

    yapf, second pass

commit 3fdeabfba6b891a04e0d936d8261863d5852144a
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 10:33:19 2016 -0700

    Add tqdm as a required package.
    
    Progress bars were added before b2 was a python package,
    so it couldn't have dependencies.  Now that there are
    dependencies, there is no reason to avoid depending
    on tqdm.
    
    The latest tqdm package seemed to trigger more test
    errors having to do with utf-8 encoding.  Fixed a few
    issues in that area.

commit 2fc41363ff24e1a1e34f229b27a7a50d300847fd
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 10:00:37 2016 -0700

    Add tqdm as a required package.
    
    Progress bars were added before b2 was a python package,
    so it couldn't have dependencies.  Now that there are
    dependencies, there is no reason to avoid depending
    on tqdm.

commit 195f2cea603106aff0c4f1f9d820520b72415b05
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 09:53:26 2016 -0700

    Version 0.5.5 (development)

commit fc0b989167bd221bb295ea020392b2e369d32747
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 09:51:10 2016 -0700

    Version 0.5.4

commit 39bdff43fa011b9fb93910247ded4d4ae385e2a7
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 09:48:03 2016 -0700

    Update hack to avoid hang after syncing.
    
    sys.exit() was doing useful work: flushing stdout and stderr.

commit fb8551641a07b1a1040c24a78bbc563a10cf8a42
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 09:17:43 2016 -0700

    Add hack to avoid hang after syncing.
    
    Still need to figure out what the real problem is.

commit 63ce2c7d168f6bf898718f70a1e493c9634efec6
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 28 07:24:25 2016 -0700

    Update usage string in README

commit 428c9dffd6c28fb37f72571d678722b08bc56eda
Merge: 4e5f238 f2ef8b3
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Apr 28 14:22:54 2016 +0200

    Merge pull request #135 from Backblaze/url_concurrency_test
    
    Url concurrency test for SqliteAccountInfo

commit 682eca6586fe4e063ec885e7cbc28808cce1eb6a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Apr 28 12:38:14 2016 +0200

    Upgrade pypy3 to 2.4.0 in Travis CI job

commit f2ef8b30a5299c0b49269bdf83746015dc0fe626
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 27 17:12:06 2016 -0700

    yapf, pyflakes

commit ed935e4f448fe08713e4e80e87fb2bed087437ec
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 27 16:46:45 2016 -0700

    Add a test of concurrency taking upload urls from SqliteAccountInfo.
    
    There have been some reports of errors, and I wanted to see if
    there could be problems locking in sqlite.  Things look OK.

commit 5ce0048330486fea90337e77606612e2070a6fee
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Apr 28 01:39:55 2016 +0200

    Remove duplicated install block from Travis CI configuration

commit 10c3ecca34a4c3e497ed209af7c72f8978fd60a1
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Apr 28 01:28:25 2016 +0200

    Upgrade pypy to version 4 in Travis

commit 4e5f238e513509206cabb7d486b7c9aa9b322c71
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 27 12:09:25 2016 -0700

    Fix bug where fileInfo was not getting passed into b2_start_large_file.

commit 5d2095906dbc4b02b2b313297253beccd303a766
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 27 11:50:23 2016 -0700

    Un-hide the help string for the sync command.
    
    Plus, a couple tweaks to help.

commit 8fd2c9b1e3d2b5462b1989f496f153aec7c0f6a9
Merge: e0c8ebf 94b8147
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Apr 23 07:58:13 2016 -1000

    Merge pull request #133 from Backblaze/new_sync
    
    Switch sync command to use new sync code.

commit 94b814714ef9584402bd7daff755d4171d4f1338
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 22 08:03:05 2016 -1000

    pre-commit.sh now includes test_b2_command_line.py when it runs yapf.

commit 0a34e031cdd85a2854004ce2d7078fae1c67e1ff
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 22 06:53:14 2016 -1000

    yapf 0.7.1

commit ff9c0b047ae02fb9cea61d410d786dbf3920473d
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 21 16:22:03 2016 -1000

    Remove old sync code and switch to new sync code.
    
    Fix #29
    
    And fix a bug that the integration tests found.

commit e0c8ebf06ee7739ae122e9ba559522ede11309d1
Merge: 910e107 927e07e
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 21 13:26:34 2016 -1000

    Merge pull request #131 from Backblaze/fix_115
    
    Fix #115

commit 927e07e920895f804f6a2103b5d107762ae3a80e
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 21 11:27:43 2016 -1000

    Fix #115

commit 910e107228a7b348dbaab95ee02af7bdb5b6dc0d
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 21 10:23:14 2016 -1000

    A couple tweaks to try and make yapf happy.

commit db7389ab574985b8738a7f7e22ac0b2d92415127
Merge: cbe4fc1 dbbe888
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 21 10:05:59 2016 -1000

    Merge pull request #130 from Backblaze/sqlite
    
    Use sqlite to store account info in .b2_account_info

commit dbbe8887057580a0204dfd3e405af4f6111c09ed
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 21 07:25:17 2016 -1000

    Fix comment.

commit 2d9b705e12b027cfb46c09b5102f77ebed6eb84b
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 21 07:24:13 2016 -1000

    Code review feedback: be more careful with exceptions when opening sqlite database.

commit cbe4fc168a61f1ee1ca42a2fb5d38a67658f4b20
Merge: bdd810e cc7b465
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Apr 21 10:24:13 2016 +0200

    Merge pull request #129 from Backblaze/division_fix
    
    Fix division by 0

commit 7a01562551053aae0e854ec6174e0f9e25133ceb
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 20 16:34:07 2016 -1000

    Remove portalocker dependency from setup.py

commit cae37c94117b3ab0f29b3fab26e680b549e58628
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 20 15:35:40 2016 -1000

    Set file permissions on sqlite database so other users can't read it.

commit cc7b465ca72f95446d0d943c9d0f191c5b46988b
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 20 17:39:10 2016 -0700

    Fix division by 0

commit 1f28486b92f0377fe3325a79d7680e7a25ee6de3
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 20 14:04:48 2016 -1000

    Remove dependency on portalocker by using sqlite.
    
    portalocker requires installation of a Windows package (win32con) that can't be installed with pip.
    
    The sqlite AccountInfo object knows how to convert from the previous JSON, and then uses sqlite to manage concurrent access to the info.

commit bdd810e1a61067c837cfb3b38adef4845c3b87ef
Merge: 2d75c5b 108f7db
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 20 09:13:17 2016 -1000

    Merge pull request #122 from Backblaze/sync
    
    Sync: checkpoint work

commit 2d75c5b3414f2be96d2d70e9fb1392f307bdfca4
Merge: f335f76 48c0609
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 20 08:25:44 2016 -1000

    Merge pull request #127 from svonohr/master
    
    Calculate SHA1 hash only if needed

commit 48c060992da9cfe084eaabbaa1d03145b3a9f0eb
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Wed Apr 20 20:11:59 2016 +0200

    Calculate SHA1 hash only if needed (full hash is not required for large files)

commit 108f7db3340f35db6a26f901d2021f894d922e88
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 13:13:53 2016 -1000

    yapf, dead code

commit 317c86d7143b4203622c042e3f0e6bf89e227511
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 12:07:18 2016 -1000

    Better formatting of numbers in sync progress.

commit fb57774280a764426fd28c46ffd469cfcae8fd52
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 11:10:21 2016 -1000

    Replace ugly hack with a slightly less ugly hack.

commit f335f768114d75ddeb522fd0d2b555c8d13f4d17
Merge: c278422 06dc650
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Tue Apr 19 23:07:11 2016 +0200

    Merge pull request #125 from svonohr/master
    
    One more bad auth token error

commit 223c6f62a90c905d5794f0fd24d2969702b265cf
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 11:00:18 2016 -1000

    Fix bug double-counting bytes during uploads.

commit a2f08f9b53b8188e48bfebd7a94840010b335e12
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 10:53:53 2016 -1000

    Small file uploads run in the same thread pool as part uploads.

commit 98298421160dd0e85ed483ead9ea26798af63685
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 10:40:37 2016 -1000

    Add --threads option to new_sync.

commit 06dc6508c15cd6dcc207f5d43b29f2894bd2576b
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Apr 19 22:18:39 2016 +0200

    Fixed one more bad auth token error

commit cb578c0dd7361ff79a80ad444c95e0ebd17c93d3
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 10:14:37 2016 -1000

    Add --threads option to upload_file.

commit 5d2d344c49636c7172436264d7f33c0b37b06e38
Merge: bd2b98e c278422
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Apr 19 22:13:43 2016 +0200

    Merge pull request #1 from Backblaze/master
    
    Merged newest commits

commit c2784229ce01519d76c8ba8003353b7917605053
Merge: b53567d 004ece2
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 10:09:59 2016 -1000

    Merge pull request #124 from Backblaze/finish_reauthorization
    
    Finish reauthorization

commit 004ece2396ec8585f21d450f4ad3180a9ec4c3cc
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Apr 19 21:45:42 2016 +0200

    yapf

commit 8278d211ee82633db37c583ec2a5bca1e0340a07
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 19 09:43:59 2016 -1000

    Code review feedback.

commit 6636ecacd5b1df37cbb4d3b34b4a2b470dbc4e0c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Apr 19 20:06:49 2016 +0200

    Reauthorize download_file_by_name calls automatically
    
    resolves #7

commit bd2b98e63dc925f44e1de792f10f24a468f617ed
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Apr 19 18:17:14 2016 +0200

    Changed InvalidAuthToken exception to retry uploads

commit f7481246e63c26db32e15da80dd48d23dd9f5204
Author: svonohr <sebastian.von.ohr@uni-oldenburg.de>
Date:   Tue Apr 19 18:16:19 2016 +0200

    Use session wrapper to re-authenticate whenever possible

commit f33d4bd027990cab8ee52d1c079613a602f8b97e
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 15:34:49 2016 -1000

    When downloading, set the file mod time based on the upload timestamp if no src_last_modified_millis is available.

commit c06b3829486b055c68dda26b7d3383eb6d9e27e5
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 15:10:28 2016 -1000

    When downloading, set the file mod time based on the upload timestamp if no src_last_modified_millis is available.

commit 3195a7af9ce23a1a4e5a6bbb6531435eb07bcac6
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 14:47:28 2016 -1000

    Fix some bugs with trailing '/' and empty folder names.

commit 5597f42a91bf5a0a335e20e8df3ea974af27d4a9
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 14:14:54 2016 -1000

    Add a note when deleting old versions, to avoid confusion.
    
    Without the note, it looked like files that should be there were being deleted.

commit 28cdfcc90400192750aa29780292bab24eee3ad5
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 13:58:08 2016 -1000

    Report progress on large files as they are transferred.

commit 2780a882a98a0fbaab1449029131171f31a22a05
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 12:14:32 2016 -1000

    Don't download hidden files.

commit d92f48ca79e689db975fe32d6f1162b66e747848
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 12:10:47 2016 -1000

    Sync progress now consistently reports the relative path, not the full path.

commit e62bb4222a22cbdb2e53b36da37990c2647ea8a1
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 11:54:29 2016 -1000

    Limit how often the sync progress is displayed.

commit f4fb14ca26a122bb7648cd2da6bbcfe001f0185b
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 11:47:14 2016 -1000

    Don't allow --keepDays for local files.
    
    Local files don't have multiple versions.

commit 644cb31f677169b5e40be8c1b2495cf9383726d6
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 11:26:56 2016 -1000

    Implement b2-to-local sync, and setting of file mod time.

commit 930c0ddc978a5fcd19d714741c182cd055e884de
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 09:42:38 2016 -1000

    yapf

commit 1097d8b7ee4c163ad7300b6445380cc14ae9db9c
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 09:40:24 2016 -1000

    More unicode constants.

commit 2c0ddfd05523cac2ddcca1617690a22c85481d2a
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 09:36:33 2016 -1000

    Use six.u() for unicode constants to fix 3.2.

commit f8d3df5bd990727382f0fa350feb599ba17c8887
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 07:51:22 2016 -1000

    local-to-b2 sync is complete.

commit 214dfd34f167bd9c538e82b6ded18af10dce1553
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 07:11:45 2016 -1000

    B2DeleteAction now works.
    
    File counting during compare now matches count phase.

commit 68981f975b9b7121e7f0910f80e1b28fe618c8f9
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 18 06:18:20 2016 -1000

    B2UploadAction now works with sync.

commit bf21a44414d5064e0d00d378a305efeb6e5cb073
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 14:54:22 2016 -1000

    Add ThreadPoolExecutor for sync command.

commit 7af02b07b3ff2dc137cac85ddf8db3e29fbb2271
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 14:15:45 2016 -1000

    Framework of new sync command.
    
    Not complete yet.

commit 20def2c432ff7365db5651cfc04abd18c5eb4208
Merge: 392f53f b53567d
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 13:59:12 2016 -1000

    Merge branch 'master' into sync

commit b53567d7617cb168344545d1cb6af58c84996ca9
Merge: 6a39b44 8173623
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 12:37:55 2016 -1000

    Merge pull request #121 from Backblaze/fix_test_http
    
    Fix test_http.

commit 81736230d1002e127e28a377d2ad2c4b34c69ca7
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 07:03:11 2016 -1000

    FIx test_http.
    
    API now requires a seekable file-like object.

commit 6a39b447d9590a7532480ad5a6f3497089ee34c3
Merge: 69d9bed be9b953
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 12:17:54 2016 -1000

    Merge pull request #118 from Backblaze/args
    
    Re-do argument parsing.

commit be9b953a3dbe194fb22d995c2601e3691a13400a
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 12:00:08 2016 -1000

    Move argument parsing out to its own module.

commit 392f53fa0ef30770f6cf4e05ca5c040a0b20d096
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 11:26:36 2016 -1000

    One more unit test.

commit 5c496d67ef4814395fb351c7c7042f5153629338
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 11:25:32 2016 -1000

    Don't allow both --delete and --keepDays.

commit 456dcb2694bc6551f5119d6198365b6324519eef
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 11:23:16 2016 -1000

    Factor out code to clean up old versions.
    
    Also, factor out make_transfer_action().

commit d85a29eee5bcc828e7a439bf90527ea7fe28e4da
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 11:00:01 2016 -1000

    Handle --keepDays when source file not present.

commit 2d7474b2aead1473c053a45da0c0f6ac4e059202
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 10:08:58 2016 -1000

    Factor out helper functions to create File objects for testing.

commit 21a3654104120c5aafb89329d77cc35f0d341001
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 09:48:15 2016 -1000

    Handle --skipNewer and --replaceNewer.

commit 331e904f9b2bd04aa66fecdd45f16d16ad25846a
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 09:24:12 2016 -1000

    Tidy up quotes.

commit 4e1512b499da4216d06ff0bb1e2783e1296fd219
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 09:21:03 2016 -1000

    Handle deletion of multiple versions of a file.

commit 69d9bed87d11aeb293983330a56bc0d4d59082d5
Merge: b74d36e ca669af
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 08:49:17 2016 -1000

    Merge pull request #120 from Backblaze/faster_yapf
    
    Faster yapf

commit ca669af7d61d271c47eff5465574029df0d098db
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 20:30:09 2016 +0200

    Put test_b2_command_line.py through yapf again

commit 46f026cc0affa69d4b35b3f6f9d07f1f4ba71f07
Merge: 6c7b738 b74d36e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 20:18:51 2016 +0200

    Merge branch 'master' into faster_yapf
    
    * master:
      Fix "else echo skip" CI configuration typo
      Make Travis CI run OS X builds for python2 too
      Add cache in Travis CI config
      Rearrange .travis.yml
      Make sure OS X job can be easily recognized
      Add OS X build in Travis CI
    
    Conflicts:
            .travis.yml

commit 6c7b738a58c4d7fd069e94c1b3247f2e8fb8f260
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 20:14:38 2016 +0200

    Cut another 10s from yapf'ing b2/raw_simulator.py

commit 029c60935c0371e49b85b15ce426fee3e2b058bd
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 20:11:37 2016 +0200

    Cut 10s from yapf'ing b2/raw_simulator.py

commit b74d36ebd35de81a580bf8dcc3614eae488d09ae
Merge: 79f5adc c85251c
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 08:08:09 2016 -1000

    Merge pull request #119 from Backblaze/travis_osx
    
    Travis OSX build

commit 45f61c3e31343a9cbdac3d13944c79fed794eb65
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 20:06:53 2016 +0200

    Make yapf analyze only changed files, if those can be identified easily

commit 664dda9bbeb7e04733e36617c3634d81e6e59c6c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 20:06:04 2016 +0200

    Put setup.py and test_b2_command_line.py through yapf

commit 99bb088e9fb0ac3cedf4a3e7a691c83481f3c194
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 07:58:13 2016 -1000

    Refactor sync actions tests into small, targeted tests.
    
    Also, add handling of --delete flag.

commit c85251c866e7f3fb3a47217751c4c250f7273518
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 19:19:48 2016 +0200

    Fix "else echo skip" CI configuration typo

commit 868d0e4cf7eb9f0122c4477b5a464f5b120dee12
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 07:23:41 2016 -1000

    Change signature of make_folder_sync_actions to
    take an args object, rather than a bunch of separate
    parameters.

commit 85652c4dd68a167c4433a0a45a3e60ef245dc299
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 15 07:23:10 2016 -1000

    Change naming convention for new sync usage.
    
    It's now consistent with the other commands.

commit ba0a6c8983bfc5e258f166c306474bd8a839d96f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 19:11:54 2016 +0200

    Make Travis CI run OS X builds for python2 too

commit 7279e9eb1706ccb995bc376905f6a9e773a64d50
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 18:14:10 2016 +0200

    Add cache in Travis CI config

commit f1c4a939bbea1b92c9a7d13451ad31b420ec88a9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 18:11:21 2016 +0200

    Rearrange .travis.yml

commit 88452cd8279a63d891f6fe89a7dc2d87ae0d170e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 18:09:18 2016 +0200

    Make sure OS X job can be easily recognized

commit 515ab2ed253e99e6ff872b6bba2c29e02796a2c1
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Apr 15 18:08:28 2016 +0200

    Add OS X build in Travis CI

commit 96e9429b5a47f8a35d2d6cc0f27744912791457b
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 14 16:18:24 2016 -1000

    Fix #117.  Add a flag to turn off the progress bar on uploads and downloads.

commit 71bb05fd8902bdfa5384e43b79edb00dfd6c7ef4
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 14 14:58:35 2016 -1000

    Convert the rest of the console commands to the new structure.

commit 6a881969ee0b6be22d8960d79c206b6f89c4aac4
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 13 16:49:42 2016 -1000

    Sketch one option for handling argument parsing and help printing.
    
    I like this approach, even though it doesn't use an existing library.
    
    NOTE: This branch is broken until all of the commands are converted
    to use the new structure.  Unit tests fail, and integration tests fail.

commit 7c835dc3349f671acfccdbb69fd5a8b31bc72467
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 11 15:11:07 2016 -1000

    LocalFolder now generates file names as needed.
    
    It doesn't load the whole list into memory before doing anything.

commit c3b85913eb47cd516c8e13830c87491fe336dbd8
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 11 13:15:16 2016 -1000

    Tweaks to usage string based on review feedback.

commit ec5513ba5ec4ee244d8e3225009a6435f4fcebbf
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 11 13:02:29 2016 -1000

    New usage string for sync, with proposal for how new sync will work.

commit 9ee6aee7db3443c029d505231606350c182ef5f6
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 11 07:37:07 2016 -1000

    Sync tests now run in 2.6.

commit 79f5adc19523927fdb4be614b822b7f74e97247e
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 14:00:24 2016 -1000

    Version 0.5.3 - development

commit f0474c359b7a8fb412ddb3fd6d88641b3ab5fddf
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 13:42:45 2016 -1000

    Version 0.5.2

commit 3f2cca379a2f76557cf0caf55ddcc4207f2d21b0
Merge: fba3d9a 076ca1b
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 13:30:17 2016 -1000

    Merge pull request #114 from Backblaze/status_429
    
    Treat 429 Too Many Requests as a retryable HTTP call.

commit 076ca1bbd8929a919fb640b71ed08c5a690ce35d
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 13:11:36 2016 -1000

    Test fix.  Error message from service changed.

commit 8715e09f541bb49722c88d232c2d6ca99a6547d3
Merge: 360c0e4 fba3d9a
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 11:54:22 2016 -1000

    Merge branch 'master' into status_429

commit fba3d9afd9784833241dc36ee06a0ab29cd04a9d
Merge: a392949 5df7a68
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 11:50:13 2016 -1000

    Merge pull request #113 from Backblaze/fix_download_bug
    
    Fix bug downloading files.

commit 5df7a68082fac3bd581a466197fed4ed2fac4cf2
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 11:27:04 2016 -1000

    yapf

commit bdcc7901b2dc053dbad6d7d5ff4da5e707391dda
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 10:39:12 2016 -1000

    Unit test fix.

commit 360c0e48c92ecd2eb18ceed8bc09ad41c1000faa
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 10:36:54 2016 -1000

    Clean up test_b2http so it works on 2.6

commit bfba665658a9ee42b0137ca9293e86816260aadd
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 10:26:15 2016 -1000

    Add 429 Too Many Requests as a retryable status.

commit a392949aa5c1395ecfbf43de2860049349610775
Merge: 963db7a f7450da
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 10:22:51 2016 -1000

    Merge pull request #112 from Backblaze/parallel_upload
    
    Parallel upload of parts in a large file.

commit 98003e177b2e95395d25c45b32d3d350780e0d53
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 10:22:10 2016 -1000

    Fix bucket cleanup in raw_api test.
    
    Also, re-enable tests of large file calls.

commit f7450da95324865c3f02b41741b7857e5db95504
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 09:08:09 2016 -1000

    Use a signal handler to call set_shutting_down().
    
    This sets the flag before unwrapping all of the context managers,
    which lets the SimpleProgressListener know not to print DONE.
    
    Also, go back to not printing the stack trace on ^C.  It's friendlier
    this way to users.

commit d7ccfd522068661cd9efaef4b177cde8eb69cb14
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 07:10:57 2016 -1000

    Fix bug downloading files.
    
    The progress bar wasn't showing up, and big files were failing, because
    the stream=True parameter was missing to the get call, so requests
    was trying to buffer the entire file before returning.

commit 9abdaea150c3ea8fbcbfcb4e972667933a34cf9f
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Apr 7 06:49:45 2016 -1000

    Go back to showing a backtrace on ^C

commit 390664c4548c88c6ec191db90b04c096ae3b0dd8
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 6 20:38:34 2016 -1000

    Make ConsoleTool interruptible when there are multiple upload threads.
    
    The exit routine in the main thread waits for other threads to
    finish before exiting, so we need to make sure that once a
    KeyboardInterrupt happens, they finish quickly.
    
    (I'm new at signal handling in Python.  Suggestions for better
    ways to do this are welcome.)

commit a63f0c643f8057f988f0254a975ca133cb64d1ae
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 6 15:13:32 2016 -1000

    Update setup.py to install futures only for pythons prior to 3.2.

commit b2e08c0484db7364d3d56d7f9f084a504d6f13f4
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 6 14:48:21 2016 -1000

    Large file uploads now upload parts in parallel.
    
    The B2Api class holds a thread pool, which is used by the
    Bucket to upload parts.
    
    While looking for a Future object in Python, I found
    concurrent.futures (and the futures package backport) that
    provides a thread pool and future objects.  So I deleted
    the ThreadPool class I wrote last week.

commit adfb6be948a05a97aef904c6f53be13ce91b0a45
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 6 13:50:26 2016 -1000

    Add progress reporting classes to handle parallel uploads of parts.
    
    (There is no parallel uploading yet.)

commit 963db7a692840c568401a56ae49cdda9c88b2a76
Merge: e056998 31559da
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Apr 6 11:08:07 2016 -1000

    Merge pull request #110 from Backblaze/account_info
    
    Locking and upload URL management

commit 31559dae42f307fb7c87fd213e8db158787ffc05
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:55:05 2016 -1000

    pyflakes, test fix

commit d6839337a2224d9c9026d54c936bdd0c4b906e34
Merge: 41fc9bf e056998
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:48:49 2016 -1000

    Merge branch 'master' into account_info

commit e056998e19cef1ff4c24fb042b6b2b06bc458fe0
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:43:48 2016 -1000

    Vesion 0.5.1 for development.

commit 861a2e5b9f88048f5f76cbe70d83b26de2921bf9
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:37:51 2016 -1000

    Version 0.5.0

commit 8519e550695bbf894203160247c8cee484478bbd
Merge: 695d3c3 293af06
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:24:11 2016 -1000

    Merge branch 'master' of https://github.com/Backblaze/B2_Command_Line_Tool

commit 293af063087ee265b1ac46a9425e5ac1348b69ee
Merge: f42e018 5d9c87f
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:23:18 2016 -1000

    Merge pull request #109 from Backblaze/bug_fixes
    
    Bug fixes

commit 695d3c37547c1fde40d720f4238d51a2e86ef4a2
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:17:31 2016 -1000

    remove print statement

commit 75b611055b35f4138eaa55ac02dcec1ea31f97c6
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:17:04 2016 -1000

    Enable large files.

commit 41fc9bfa397867aaffb00aba4774b776fbbb89bb
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 14:08:40 2016 -1000

    yapf and test fix

commit 6a91d77d28e4622559a9bd6077f249ded9eeb89b
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 13:53:00 2016 -1000

    Only one upload at a time will use a bucket upload URL.
    
    StoredAccountInfo maintains a pool of upload URLs.

commit 48dcd1543e94fc1d226197a38fe29ee9757dc900
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 13:29:36 2016 -1000

    Complete unit tests for StoredAccountInfo.

commit 05a975abe7be649cc69da4dba43e99571d65a5c1
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 11:49:39 2016 -1000

    Re-do locking in StoredAccountInfo.
    
    When updating data, the lock is held during the entire
    read/update/write process.

commit f42e0182f0990468d0cbb39d078c5d51def62fd8
Merge: 7d714c7 96ad5f2
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Apr 5 09:25:17 2016 -1000

    Merge pull request #108 from Backblaze/retry_http
    
    Teach b2http to retry on server errors

commit 7d714c78ed27f3a5b5049d99324cead5f197c1c0
Merge: 53f4630 7378ca0
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 4 10:11:08 2016 -1000

    Merge pull request #104 from Backblaze/sync
    
    Class for reporting sync progress

commit 7378ca0f1d22e13490c60acff273a0783c3dcea7
Merge: 99492e2 6af2af4
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 4 09:32:51 2016 -1000

    Merge branch 'master' into sync

commit 5d9c87f968e632e55fd4b517be72d66efbf994ee
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 4 07:11:00 2016 -1000

    Fix bug downloading large files.
    
    Large files don't have a sha1 on the entire file, and B2
    returns 'none' as the sha1.  In this case, don't check
    the sha1 of the downloaded data.

commit 19ff9e243ce6c3deae0687e4066ef46703e84e47
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Apr 4 07:10:11 2016 -1000

    Update maximum large file size to match policy change.

commit 53f4630fbbd64c376979b8d1354ba517f86cd000
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Apr 2 09:14:10 2016 -1000

    Bump version number for development.

commit 6e6045b7ae7b91118b1cbd6a3e0d48d04b5f53a8
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Apr 2 09:11:45 2016 -1000

    Bump version number for release, and add a hidden command for testing Mac installs.

commit 23ffa1348a211fbfc308aaae3d970db177024e7b
Merge: 6af2af4 dfe3f6d
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Sat Apr 2 16:38:16 2016 +0200

    Merge pull request #107 from Backblaze/clean_six
    
    Remove ugly workarounds cause by trying to be compatible with six==1.4.1

commit 96ad5f2e431220049ff9121bddfc32c0360418ea
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 21:34:40 2016 -1000

    Add logic for retrying HTTP calls.
    
    When the service returns a 503, the client should sleep with
    exponential backoff and retry.

commit 38c3206b89b70a74b4f93d19731b24edfa409171
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 14:38:20 2016 -1000

    Start on structure for retrying HTTP requests.

commit dfe3f6d446b57f4784cf5b8e5335946388f9b86f
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 20:24:27 2016 -1000

    Add a workaround for a path issue on OS X.

commit a86a962214a60b7c72987a5d0799cd13c18638da
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 16:42:40 2016 -1000

    Remove ugly workarounds cause by trying to be compatible with six==1.4.1

commit 6af2af4a5bf1558456f54616f2466adbf69e5786
Merge: 5142713 224c874
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 16:27:35 2016 -1000

    Merge pull request #106 from Backblaze/thread_pool
    
    Rethink ThreadPool class.

commit 5142713ab5ed359cd0b7f8db73b89ab5f0a0c0cd
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 15:50:34 2016 -1000

    yapf, cleanup

commit cc5661325f8956a70ae33b14d6e91076f915f290
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 15:47:07 2016 -1000

    Add ugly workarounds because we support six=1.4.1
    
    We're going to need a better solution for installing on OS X.
    Using this old version of six is getting annoying.

commit 003eeff0b6615d23b940aa86a173aae15f956d75
Merge: 124b905 93c09bc
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 15:23:49 2016 -1000

    Merge pull request #96 from Backblaze/old_six
    
    Run a python 2.7 build with six=1.4.1

commit 124b905c50c6620fd98e388dcb974e98dcc13c97
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 15:19:03 2016 -1000

    Re-enabled pypy3.

commit 2cee1499a693e548de714916470cb5fc3c18e196
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 15:15:32 2016 -1000

    Re-enable 3.2, and fix installation and importing of mock.

commit 148598cb7d0a40246b53a806c65e0cabf8d29001
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 14:51:21 2016 -1000

    Temporarily comment out the python versions that aren't working.
    
    Will make a branch to experiment and debug there.

commit 33be44cdb7c620fa1bdc0f803a7117e35d2b80e2
Merge: 20543b4 31cc9d8
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 14:36:24 2016 -1000

    Merge pull request #103 from Backblaze/requests
    
    Tiny wrapper for requests

commit 31cc9d86b2c1e0cb17604032d0accedf4e7e0782
Merge: 649ea2b 20543b4
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 14:05:22 2016 -1000

    Merge branch 'master' into requests

commit 649ea2b1073ac3e6e0bfdc376efec81e2598fa7d
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 13:59:11 2016 -1000

    Code review feedback.

commit 4a8e314cb1eadd138b8d38abe60773b167548be5
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 13:38:48 2016 -1000

    Add unit tests for B2Http.

commit ca32f79c2593df51cbbca943fabbb666e32c3933
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 11:39:22 2016 -1000

    Remove exceptions that are no longer used.
    
    B2Error now defines the should_retry_upload() method.

commit bf443d8b466956faca8a9885e2b2fba2c487fb2c
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 11:05:47 2016 -1000

    yapf

commit 0ef33ccd30f4a6ceeb776e44852dbfe85817fbcb
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 10:52:44 2016 -1000

    Teach test_b2_command_line to ignore insecure platform warnings.

commit 58ae07e4782a43d9da2898a1b3398b1180d08536
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 10:14:44 2016 -1000

    Switch from urllib2 to b2http, which uses requests.

commit 3d01348cdd8c0eb0236710dc86657e195f115f53
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Apr 1 09:31:47 2016 -1000

    Redo b2http.py
    
    (1) The http actions are now in a class called B2Http.  This will make it easier to mock/stub.
    
    (2) The WebApiError exception is gone.  I decided it was an extra layer that wasn't needed.  Instead, the B2Http class returns the right subclass of B2Error.  This avoids having to make up HTTP status codes for things that aren't HTTP errors.

commit 224c874e8dd78f45a8c072c8c9ff26319334135f
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 14:08:44 2016 -1000

    Rethink ThreadPool class.
    
    I think that we'll need to have tasks be able to add tasks
    to the queue.  This means that using the shutdown tokens
    in join() won't work, because other tasks might get added
    behind them.
    
    So the join() method now uses Queue.join().  And there is a
    separate shut_down() method that stops the threads after
    all of the tasks have been completed.

commit 20543b4834c738d624c2f7467011cc3b1829a2d1
Merge: 4a73e13 528779a
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 13:48:20 2016 -1000

    Merge pull request #105 from Backblaze/thread_pool
    
    Simple thread pool class.

commit 3b450bf741dd653d2484a09cc5f32832dfcb286b
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 13:45:29 2016 -1000

    Code review feedback.

commit 528779a28d5176b880d0f416ac127c14ea750be9
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 13:29:28 2016 -1000

    Code review feedback on ThreadPool.

commit 31e34dd355a4028dad8d111ee60ce1c1562019c1
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 12:17:52 2016 -1000

    yapf

commit 5270366b6024ffa504c73a24d4f1d8e1e0d7c013
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 12:14:06 2016 -1000

    Simple thread pool class.
    
    I took a quick look around for a library.  There's one on PyPI
    that says it's obselete.  I don't want subprocesses from
    multiprocessing.

commit 99492e268d246f551771202822e303dc0e9263df
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 11:24:39 2016 -1000

    Move SyncReport class into sync.py.

commit 136376d99a4032bd1d265b4e5d72d6b046feb44f
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 11:13:37 2016 -1000

    Updated sync reporting that doesn't use tqdm, and gives more info.

commit 18ec3d4f33905d58695cc50edaa00c82d770f3bc
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 10:20:04 2016 -1000

    First try at sync status.

commit 4a73e13dede2d8d926339bdfbb7056231a13ee5b
Merge: 19517fd 1190c3e
Author: Paweł Polewicz <p.polewicz@gmail.com>
Date:   Thu Mar 31 19:27:26 2016 +0200

    Merge pull request #102 from Backblaze/quiet_build
    
    Make yapf run more quietly

commit 1190c3e43b16e397a4558925d5cc8fc7d960c6bb
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 31 07:21:00 2016 -1000

    Use --diff option for yapf.

commit 6900d3614a6b338037f43d9dfa10e7649681e126
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 30 14:52:10 2016 -1000

    yapf

commit 691778e5a51d3d3ade8265571b7fb3297ff70307
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 30 14:39:01 2016 -1000

    Attempt to make yapf run more quietly.

commit 5d429f8ca2d9a68546884789aa73b866c546147a
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 30 13:03:39 2016 -1000

    Teach _translate_errors() to decode errors return by B2.

commit 4b55161600bd8aacaa0639b19e235ec7f4fc5639
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 30 11:54:22 2016 -1000

    Add proposed new module: b2http.
    
    This new module is not used yet.  It is a thin wrapper around
    requests.get() and requests.post() that knows how to decipher
    errors.

commit 19517fd4d89b10639969076da91e8c7d3a5c2691
Merge: 0f75380 f108b24
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 29 11:41:57 2016 -1000

    Merge pull request #101 from Backblaze/fix_100
    
    Fix magic reauthorization

commit f108b2452445e70ba71aeb2169f7d40d307b6aec
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Mar 29 22:00:47 2016 +0200

    Fix magic reauthorization
    
    resolves #100

commit e3e9221b95849425ee75814db094693d1eab22b3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Mar 29 22:19:19 2016 +0200

    Add a unittest for reauthorization

commit 0f7538053f5c6d9b57eb3c25cf67e8c92236fa82
Merge: ce75684 5f63710
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 29 08:31:22 2016 -1000

    Merge pull request #99 from ppolewicz/interprocess_locking
    
    Interprocess locking

commit ce7568435c63c36f7738db74e02ad4ed6465fa2a
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 28 15:14:14 2016 -1000

    Only run raw api test if TEST_ACCOUNT_ID is set.
    
    This will let the tests succeed for pull requests.

commit 5f6371095f3a796fb1a8e904fadff470b7604c40
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Mar 29 01:16:46 2016 +0200

    Restore local cache of bucket name-id mapping

commit d358592fee5f7798a2ae6044b1f053aad09f22db
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Mar 27 01:33:11 2016 +0100

    Fix deadlocks

commit b6f3b4827f8e71edc86dd489af8bbf0bdfd84658
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 26 20:41:43 2016 +0100

    Fix a typo

commit d1c6beee00aece1b762bc4923b09652e2c6c2174
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 26 20:34:58 2016 +0100

    yapf

commit e20081e4ccc1627e0ab1cc12255b18664653f85a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 26 20:30:47 2016 +0100

    Make large_file_uploads a private field in StubAccountInfo

commit 4c105da230a720d962456030abd3d6198adac515
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 26 20:30:14 2016 +0100

    Support many processes in StoredAccountInfo

commit 95e6aab6bec89807040fd179b1413e3e1a50d1f3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 26 19:30:16 2016 +0100

    Add dependency from portalocker

commit 93c09bcfe9086b566699eb307bb7d4a88477336c
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 25 16:41:09 2016 -1000

    Move "pip freeze" from install to script, hoping the output will display.

commit ca3c42373fb48e58ad8615050fc2b370e9dfe5ec
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 25 16:37:11 2016 -1000

    first attempt at doing a build with six=1.4.1

commit ab386e755e4caca01d24d72e067b7629050dcd1e
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 25 08:15:33 2016 -1000

    Add link to pip issue on OSX.

commit 1b063f1320aebf4b3bedb8256a03af58e19246df
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 25 08:13:42 2016 -1000

    Bump version number for dev.

commit f98f654065e9a89b79c468e3319ed2df0d9a3dee
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 25 07:45:35 2016 -1000

    Bump version number for release.

commit 0c925662b0e9951be28063a47e89119e3ca83368
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 25 07:43:16 2016 -1000

    Experiment with changing the version number of six for OSX installation.

commit 1dc4ee9c3afddb73d5ba6c67bd61874e4bdec949
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 25 07:39:21 2016 -1000

    Disable large files until B2 enables the feature.

commit ea88798e4b045cec95e1b825d0e31bf9a110ba5d
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 22 10:47:13 2016 -1000

    Add notes on release process.

commit 84afb5ad7470363579554df224da8a8958e66b05
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 22 10:20:13 2016 -1000

    Bump version number for development.

commit c3c07899a4bbbb658bb02b83bfdb9987d9a190c3
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 22 09:47:42 2016 -1000

    Bump version number to 0.4.6 for release.

commit 99f545fc3cbc11634fe4a696d4d9432b316bf5eb
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 22 09:35:41 2016 -1000

    yapf

commit 7cdd2ce7e69757d713d2fe7b8d0a03b51eb23e79
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 22 09:25:40 2016 -1000

    Fix reporting of broken pipes.
    
    I want to restructure this code a little bit, but this fix
    makes things work for now.

commit 28c69bb90feea5a0aac59f0cdc34a07349772ce0
Merge: 9b35d5e 5530d8f
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 20 14:23:23 2016 -1000

    Merge pull request #93 from Backblaze/large_files
    
    Large files: commands for listing unfinished files & parts, and canceling.

commit 5530d8f66695b69ab422c0e010ae2534b9221abb
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 18 17:20:20 2016 -0700

    Code review feedback.

commit 0a614bbc71dd60f39bf43a417e531a45a989c34d
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 17 08:11:41 2016 -0700

    yapf

commit 91b87b45bbb0ba45c212081096b7a6f1d937bb94
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 17 08:05:14 2016 -0700

    Implement cancel_all_unfinished_large_files in ConsoleTool.

commit 28072bec82a25a6b664e655203592a4d72c25707
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 17 07:19:47 2016 -0700

    Implement cancel_large_file in ConsoleTool.

commit 05d44165511265a4cad1ef495e1e3a6d8339bf01
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 21:34:01 2016 -0700

    Add list_parts to ConsoleTool.
    
    Some operations, such as list_parts, don't take a bucket,
    even though they apply to something in a bucket, so I
    put the call on B2Api, and had the bucket proxy through
    to it.

commit 89499a65daada37c03f62ebc88a58b2963f35234
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 17:43:11 2016 -0700

    Add list_parts method to Bucket.

commit 9b35d5e088e4ae86cca41906af25d698df64a2a3
Merge: 4e13d59 241980a
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 16:27:53 2016 -0700

    Merge pull request #92 from Backblaze/test_raw_api
    
    Tests for B2RawApi

commit cfba9a0f1b2befcd65b33aa11b0049a26b519cef
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 15:52:26 2016 -0700

    Implement "b2 list_unfinished_large_files <fileId>"

commit 241980ade04f2ba09a5dc69ef9a45ac9328dd850
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 16:14:29 2016 -0700

    Get accountId and applicationKey for tests from environment variables.
    
    The variables are set in Travis CI.

commit 388d8aa6b071f3431f2376b0165b2ad79f058cbc
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 15:58:49 2016 -0700

    Fix constant I forgot to put back after testing.

commit 47558d159360018841e98707af36c6a75f35ffed
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 14:33:15 2016 -0700

    pyflakes

commit e156385f39f0305a4a7c0d6f532a0e0aa13a6024
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 14:22:34 2016 -0700

    Add test_raw_api command to b2 tool.
    
    This command is not in the USAGE string, but is in the command.
    It is run as part of the Travis CI build, and exercises each of the
    calls in B2RawApi.

commit e7af80c7077bbc814fa900db0eb42ad59b6ca8b6
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 13:46:16 2016 -0700

    Add test_raw_api command to b2 tool.
    
    This command is not in the USAGE string, but is in the command.
    It is run as part of the Travis CI build, and exercises each of the
    calls in B2RawApi.

commit 4e13d5999dbc166598fca19c7c5d04899289d2e3
Merge: e8e6901 e875bd2
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 16 09:03:33 2016 -0700

    Merge pull request #91 from Backblaze/fix_upload_large_files
    
    Fix upload large files

commit e875bd2d3c2176b22b208e83cdbe5a957545f1a5
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 21:05:30 2016 -0700

    yapf

commit 763e8d6e8578a4174bfeeda700fad9de59744404
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 20:59:04 2016 -0700

    Fix a couple bugs found when uploading large files to staging servers.
    
    Includes an updated unit test that would have caught the problem by uploading non-repeating data.

commit e8e6901435685ebb48c437ca5b03460f97f8293f
Merge: 12c5649 092e123
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 21:00:45 2016 -0700

    Merge pull request #90 from Backblaze/break_up
    
    Break up b2.py

commit 092e1238fb0bab0a2aecc6da5f488c464667fe51
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 10:04:15 2016 -0700

    ProgressListener -> AbstractProgressListener

commit 28b67a67a15a49d07f6dc5a68997d9b4141e849c
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 10:01:57 2016 -0700

    Rename abstract base classes to be Abstract<Thing>.

commit c1b940d4a4c4bbe813748ac82ccc99c0d6aaf32b
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 09:30:26 2016 -0700

    Factor out B2Api into api.py.
    
    There is now nothing left in b2.py, so it can go away.  :-)

commit a4f5b1b01173315501e94dbfc47eda786f54af81
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 09:15:39 2016 -0700

    Factor out cache classes into cache.py

commit ce96617bec5706989356c257ea5d6cb9e93ccab8
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 09:05:24 2016 -0700

    Factor out AccountInfo classes into account_info.py

commit fde31739d446f04ce03e0f5fb556175de2395087
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 08:56:09 2016 -0700

    Factor out new sync code into sync.py.
    
    (this code is still not used)

commit 1836c3f0efd9ede7902779271e89b518807c3cac
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 08:44:04 2016 -0700

    Factor out B2Session into session.py

commit fb965e6390ea513194d34de2d950133aafe5404c
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 08:39:37 2016 -0700

    Factor out RawApi and B2RawApi into raw_api.py.

commit e9881a6556c6c47dd5d9a19c85b322c95ba3ed61
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 08:20:36 2016 -0700

    Factor out Bucket class into bucket.py.
    
    Pulling out Bucket caused some circular dependencies,
    so also pulled out a bunch of little things that were in
    b2.py that Bucket depends on.

commit bbe30452c97cfc95e4be64169bcbc20040b04658
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 07:22:25 2016 -0700

    Factor out exception classes into exception.py

commit 48869f9a0ad089025e136b2787bc8f1e74f1e135
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 06:40:56 2016 -0700

    She-bang line no longer needed.
    
    b2 is no longer a standalone, single-file script.  It must
    be run as a module (python -m b2) or using a command-line
    script generated by setup.py.

commit 12c5649f48eee4d216e3aceaebc56aec18465222
Merge: e861514 dc10bad
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 15 06:38:36 2016 -0700

    Merge pull request #89 from Backblaze/console_tool
    
    Unit tests for ConsoleTool

commit dc10bad897a432643cc0166c9ce3bceade508957
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 14 08:39:57 2016 -0700

    Break up authorize_account test into small, targeted tests.
    
    @ppolewicz was right.  this is better.

commit 8510fb7737894b127fda4736a6a0df268dd3cf31
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 14 08:29:16 2016 -0700

    Fix deprecation message about BasicException.message.

commit 83833dea14aabec998d4611634b387afb616a766
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 14 08:18:04 2016 -0700

    Code review feedback.

commit 2a97143ba4348ca38b5f64c4c6c6cd7fe1be48f4
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 13 20:52:29 2016 -0700

    Unit test for ConsoleTool.delete_file_version()

commit 69187d114aba84e5f675dd7bb94ac09956a9497f
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 13 18:31:02 2016 -0700

    Unit tests for list_file_names and list_file_versions in ConsoleTool

commit c3b8fce61255f368eb1bc5a7459975544781c295
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 13 17:46:33 2016 -0700

    Unit test for ConsoleTool.upload_file().
    
    Also, move TempDir out to utils to avoid code duplication.

commit 42e9fd66a4171139e34bd0140667b9a6d0cc03a7
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 13 17:27:17 2016 -0700

    Remove unnecessary map: bucket_id_to_account.

commit 7fb0ae21e23f4c0bd54fe23b0cc9b3dc292e25f7
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 13 17:23:32 2016 -0700

    Unit tests for bucket-related commands in ConsoleTool.

commit 669e2319ac95fbbc0af0f3db6c907406eb955b76
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 13 11:17:33 2016 -1000

    Finish unit tests for ConsoleTool.authorize_account

commit 180850137b56ec4b8bbe061f4a7cd3358d4b3105
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 13 10:45:49 2016 -1000

    First ConsoleTool test case.
    
    This just tests the case where the login works.
    
    ConsoleTool no longer calls exit().  Instead, it returns
    the exit status code.
    
    Pull StubAccountInfo out into its own module, so it
    can be used by multiple tests.

commit 62514fea1e3f2e7302ea1ee11ca52f36b252c3f3
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 12:43:07 2016 -1000

    Move command decoding into ConsoleTool.

commit bc6722fa1bb37521a502d50d9969b74f2759eedf
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 11:39:14 2016 -1000

    ConsoleTool always passes "file=..." to print().
    
    It now always prints to the stdout or stderr passed to the constructor.

commit fd97120ec3168f78157ebc71b1c7533f1025899a
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 11:32:52 2016 -1000

    Move ConsoleTool out into its own file.

commit b70729cbf7dcb091fad2b4856665827f0c5097ff
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 10:44:34 2016 -1000

    All printing now happens in ConsoleTool.

commit e8615147321c75505c99164e618819004c3550b6
Merge: 2313cc7 a2b7e36
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 10:57:23 2016 -1000

    Merge pull request #88 from Backblaze/large_files
    
    Implement Bucket.list_unfinished_large_files()

commit a2b7e3673c411d66b7f142e94b559bb54ce24de6
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 10:49:06 2016 -1000

    Feedback from code review.

commit b1f75d750e0e84f954fd0b575f062921e4da67ae
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 10:01:58 2016 -1000

    Implement Bucket.list_unfinsihed_large_files.

commit 2313cc718d71f58b07ec89797d96fbc5054dfa09
Merge: 17422bb 817223c
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 10:19:56 2016 -1000

    Merge pull request #82 from ppolewicz/b2_session
    
    Add automatic reauthorization and B2Session layer

commit 817223cd369ddabe1fea3087f5fbb197b9910203
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 12 20:41:02 2016 +0100

    Fix unit tests

commit 95997a3776c9a8a9d0109f53d7f439745573d159
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 12 20:40:48 2016 +0100

    Apply yapf

commit 02e8d477e52ac2b7dbec74831a0aae7db3959a80
Merge: 17422bb 1a00af7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 12 20:32:02 2016 +0100

    Merge branch 'b2_session'
    
    * b2_session:
      Fixes for upload, download and clear
      Fix integration tests usage arguments
      Fix AccountInfo.clear()
      Apply review commits and remove some manual token handling
      Apply yapf formatting changes
      Add automatic reauthorization
      Add InvalidAuthToken exception
    
    Conflicts:
            b2/b2.py

commit 1a00af722116e1a50dfc6bc5925272daaf9bba85
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 12 20:21:33 2016 +0100

    Fixes for upload, download and clear

commit 17422bbf1ac61555b6df3c641baaa3568d778273
Merge: 73a0eb2 1c4f2f4
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 12 08:48:12 2016 -1000

    Merge pull request #87 from Backblaze/large_files
    
    Uploading large files works with the simulator.

commit 802461d72928757eb255c824fb0ec43a8217124c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 12 19:41:09 2016 +0100

    Fix integration tests usage arguments

commit 10856e787527e492f8ab7d52ab8498257001c353
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 12 19:36:43 2016 +0100

    Fix AccountInfo.clear()

commit b8f29d1b5ba8e88cd129e52bb8adc2cdb1ef1a9a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 12 19:27:48 2016 +0100

    Apply review commits and remove some manual token handling

commit 4e707debba27b1eb33af67d9f94c72c1a0f3b1ec
Merge: 19af33e 73a0eb2
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Mar 12 19:03:27 2016 +0100

    Merge remote-tracking branch 'origin/master' into b2_session
    
    * origin/master: (32 commits)
      Fix invocation of b2 from travis.yml
      Clean up test structure.
      yapf
      Move ProgressListener into do DownloadDest.
      Add download_by_name and download_by_id to B2RawApi.
      Pull out some classes and functions for progress bars into progress.py.
      Clean up Bucket interface, move progress bars up to ConsoleTool.
      B2Api no longer translates \ to / on Windows.  That belongs in the layer above, in the ConsoleTool or the user of the library.
      Update comment on B2Api class.
      Python 3 fix.
      Real unit tests for Bucket.ls()
      First actual test of Bucket.ls() using the simulator.
      Start on upload support in simulator.
      yapf
      Feedback from @ppolewicz
      Refactor Bucket.upload_file(): pull out the part about local files, to enable uploading bytes from memory in the future.
      b2_upload_file now goes through B2RawApi.
      yapf, pyflakes
      Start sketching unit test for Bucket.ls() that uses an in-memory simulator as a replacement for B2RawApi.
      Changes based on feedback from @ppolewicz
      ...
    
    Conflicts:
            b2/b2.py

commit 1c4f2f4570e95014b277d80c44581a29727af873
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 17:50:14 2016 -1000

    yapf, pyflakes

commit a1a163ee303c3214e395a0bffb653c3c6f943fc8
Merge: 6930259 73a0eb2
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 16:42:06 2016 -1000

    Merge branch 'master' into large_files

commit 69302593fa28e97a4bc344954fadb330999c943e
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 16:39:21 2016 -1000

    Unit test for notifying progress meter in large file uploads.

commit 741ccd4d44d5882684b3fe6f15c4103ab27d1bc2
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 15:11:16 2016 -1000

    Add b2_upload_part, and call it from _upload_large_file().

commit d6e34537d1735cc69dee12e6e065f0376b3f5284
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 14:07:02 2016 -1000

    Add b2_start_large_file, and call it from _upload_large_file().

commit 73a0eb289cf1af7a6fdd1b773f37dfb3527b4e3e
Merge: df7fdd7 0d0795c
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 13:59:37 2016 -1000

    Merge pull request #86 from Backblaze/large_files
    
    Large files: preparation

commit 7eac0f18774bebd67f00cd73fbddc4357e67ab4d
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 12:02:22 2016 -1000

    Add a unit function to figure how to break up a large file into parts.

commit fd376ff312b50c45c2b3c8807145eca3a22d3870
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 11:43:17 2016 -1000

    Fix a couple bugs that the integration tests found.  And yapf.

commit c58c437f89467c52ac13cf4f48ae81c0ecaa0bab
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 11:29:26 2016 -1000

    Add decision point to decide which files should be uploaded in parts.

commit 047489662fdd60847b3d77d1f701531c6003cc65
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 11:09:29 2016 -1000

    Add tests of retrying uploads.

commit 57091a1ca83060d56a22d43526c8e3a7cf7d1971
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 11:08:59 2016 -1000

    Fix the usage string.
    
    I missed this before.

commit d65a4cf0b30213566a8f31edf27b4c4aef940a9e
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 10:33:42 2016 -1000

    First unit test for upload.

commit cfa1045d06dea4b1e7707061018bddd58084f037
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 10:32:11 2016 -1000

    Teach Makefile and pre-check.sh to stop if unit test fail.

commit 0d0795c831da517402691cee6dcbd5f065008890
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 09:41:56 2016 -1000

    Fix invocation of b2 from travis.yml

commit e20d9c5c4e5ba6ffe935c4730ea1d782eb56b59c
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 09:39:41 2016 -1000

    Clean up test structure.
    
    Add a Makefile so that "make test" runs the unit tests.
    
    The tests no longer install b2 in the current virtual env.
    It's much cleaner that way.

commit a6f10e982f496204f5ee78675cc81e7d401ff646
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 08:25:19 2016 -1000

    yapf

commit 4e42548e76b5f2458573cd9135894b44eb8d662f
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Mar 11 06:36:39 2016 -1000

    Move ProgressListener into do DownloadDest.
    
    Now the ProgressListener doesn't have to be passed around as many places,
    and the DownloadDest can set the total file size.

commit 2ad6d484ea50291ba8bf8ec024785a3efd14ae55
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 10 17:50:02 2016 -1000

    Add download_by_name and download_by_id to B2RawApi.

commit 57775abff41f5d901c6a90b6688044ba9d39e672
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 10 15:17:46 2016 -1000

    Pull out some classes and functions for progress bars into progress.py.
    
    This is the first code outside the main file, and means that test_b2_command_line.py
    can no longer say "python b2/b2.py" to run it.  It now installs b2 into the current virtual
    env and runs it there.  This has the benefit also testing the config in setup.py.

commit df7fdd7f2fab732b8bc270eea31c76fd050755ed
Merge: a132718 4b2c1a7
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 10 11:49:54 2016 -1000

    Merge pull request #85 from Backblaze/simulator
    
    Unit tests for Bucket.ls()

commit 3144b54295b4c0ad363000d309b49f14a5037bc7
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Mar 10 11:44:34 2016 -1000

    Clean up Bucket interface, move progress bars up to ConsoleTool.
    
    The Bucket now reports upload/download progress to an object that
    implements the ProgressListener interface.  The ConsoleTool makes
    the progress bar object and passes it into the bucket.
    
    There is now an UploadSource interface which is where the Bucket
    gets data to upload, and a DownloadDestination where it puts
    data downloaded from B2.
    
    The code for downloading files still needs to be moved out of
    ConsoleTool and into B2RawApi and Bucket.

commit 84552e69ed63dde925230016519b3f3de273a06e
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 18:25:24 2016 -1000

    B2Api no longer translates \ to / on Windows.  That belongs in the layer above, in the ConsoleTool or the user of the library.

commit 50e4b175bea892350545ea0d8af8d51006412a84
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 16:57:04 2016 -1000

    Update comment on B2Api class.

commit 4b2c1a7677ff7443fd0cf3ac918eda6f14bc0515
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 14:17:34 2016 -1000

    Python 3 fix.

commit d7e4cf2c3238d100c4f5d28d958e8061df28499f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 14:12:32 2016 -1000

    Real unit tests for Bucket.ls()

commit c79cce7658c0ec6c475b0189da12555f05fc6890
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 13:18:29 2016 -1000

    First actual test of Bucket.ls() using the simulator.

commit e55ccbfe4bdb44c29442a605d915ebb2982dc9a4
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 07:04:14 2016 -1000

    Start on upload support in simulator.

commit a1327183db746c9d28d73d297d1bbaae7cd0bc12
Merge: cb2aa19 532d41f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 07:28:21 2016 -1000

    Merge pull request #84 from Backblaze/simulator
    
    Start work on unit tests for Bucket.ls()

commit 532d41f0cc5453e18f201b03d6fe0899c35b2f44
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 07:16:31 2016 -1000

    yapf

commit a9d3f92774cde4da2d15ebad18323914eecb4e4a
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 9 07:13:16 2016 -1000

    Feedback from @ppolewicz

commit 8bbab3c0e6e548ba8fdff764936f9106526ccd1a
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 16:05:16 2016 -1000

    Refactor Bucket.upload_file(): pull out the part about local files,
    to enable uploading bytes from memory in the future.

commit 96d4c5042128400efff0f45449f047ec9b3c5243
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 15:43:53 2016 -1000

    b2_upload_file now goes through B2RawApi.

commit e4f09432702fa0976856bb1d5f9e367e35a68849
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 15:18:39 2016 -1000

    yapf, pyflakes

commit 0bbcffe2f7b7930b1e824ecc9b3cd07f13f37cc8
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 14:43:54 2016 -1000

    Start sketching unit test for Bucket.ls() that uses an
    in-memory simulator as a replacement for B2RawApi.
    
    authorize_account now happens in B2Api, not in the
    AccountInfo, so that it has access to the raw_api.

commit cb2aa19cbbd7abf51cbc301abd28e0794906ed28
Merge: ca6a01c 9d32e3c
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 15:02:18 2016 -1000

    Merge pull request #83 from Backblaze/unit_test
    
    Initial work on a unit-testable version of the sync command.

commit 9d32e3c62c2ce5d44abc0460a80e09142ba0ceb1
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 14:55:50 2016 -1000

    Changes based on feedback from @ppolewicz

commit c934666e62e30a76500899eb5ecd6a7b59aeba82
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 11:58:59 2016 -1000

    Fix some Python 3 problems.

commit af7ac82b13c90c8aeb84df6f72f16298d3f534e8
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 11:38:13 2016 -1000

    Code formatting, improvements to pre-commit.sh

commit 87db1d66d383a5cb80b0871c4a656634ad32acc7
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 11:30:30 2016 -1000

    Initial implementation of make_folder_sync_actions.
    Not all cases are covered yet.

commit 024b6b8d72086364ad87c22a0107a798357a51f7
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 8 10:14:44 2016 -1000

    Implement zip_folders, with unit tests.
    
    Add unit tests to pre-commit.sh.

commit b2dd3d7655944bb76b2645188c14673a85f08400
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 7 16:12:16 2016 -1000

    pre-commit.sh now runs yapf and pyflakes on all source files.

commit 771c6e5f8bf2123ffe4de241915fdef2183bed46
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 7 16:02:49 2016 -1000

    Code formatting.

commit 402f8a5e061434aee9263921d1842a60b78fcb53
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 7 15:57:35 2016 -1000

    Fix for python3.

commit c582eddff54001ab50be48cdd607a66601c503c4
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 7 15:48:54 2016 -1000

    Fix unit test.  There is no assertIsNone method in 2.6.

commit 24087912dc6b6833291b7adde702a69f2a3c3a22
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 7 15:33:39 2016 -1000

    Start on new sync code, and first real test.

commit ae9ddcae684c577493e9949706bf0d8ed447be43
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 7 14:34:50 2016 -1000

    Minimal framework for running unit tests.
    
    Travis CI will now run all of the tests in the test directory.

commit ca6a01c6a2e074f5df635c2eb340dabddfa58e06
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 7 13:45:54 2016 -1000

    Include python version in user-agent string.
    
    I'd like to know how many people are still on Python 2.6.

commit 49d2a0dbe9f437da8ddd1ccfb04298ed539ac874
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Mar 7 13:36:59 2016 -1000

    In the case where yapf is not installed, don't delete all the source code.  Just print an error message.

commit 19af33e8180513cc73fa77dee02bb09cf1a08564
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Mar 7 21:10:23 2016 +0100

    Apply yapf formatting changes

commit c03d967019d06b76297d01e0435ad6770d9842b6
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Mar 7 21:02:35 2016 +0100

    Add automatic reauthorization

commit 96f67fd5275651c495b5f9d912782f57295e1a8a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Mar 7 18:56:40 2016 +0100

    Add InvalidAuthToken exception

commit 8c3b23e5aac597b226e824edc53893cbf12d58b9
Merge: 6eb5ab9 6445eb2
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 6 18:03:38 2016 -1000

    Merge pull request #79 from Backblaze/unit_test
    
    Finish moving all API calls into B2RawApi.

commit 6eb5ab9a0bcdbb7fd473f3d353f89bd6fa6ce5d6
Merge: a57feb0 6fa7266
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 6 18:03:05 2016 -1000

    Merge pull request #81 from ppolewicz/fix_tested_python_version
    
    Make tests always use proper python version

commit 6445eb282f3aafb4dd6049451a53e79c1c00c6a3
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 6 17:58:07 2016 -1000

    Performance: move code out of the loop.

commit 783d0828f3666ed4353f18c0ef72c8c3d0d79cab
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 6 17:53:36 2016 -1000

    Move get_upload_url from B2Api to Bucket.

commit 6fa72669c48bd99aaa68ad74382f91612819da5b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Mar 6 23:28:23 2016 +0100

    Make tests always use proper python version

commit fefa501a20bcaba405f7b05c1e1e8aba2dd80398
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 6 10:02:43 2016 -1000

    A second pass with yapf made more changes.

commit 565ec9287381a0c28d43685d5a670564035f45ce
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 6 09:57:37 2016 -1000

    Move list_file_names and list_file_versions to B2RawApi.

commit 23cb295635d69c92fe77015a928fe409cd020ecd
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 6 09:26:06 2016 -1000

    Move hide_file to B2RawApi.

commit d4cb0891d33b8b45a2f4f36ec9643596cdb2aa79
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Mar 6 07:47:30 2016 -1000

    Move get_file_info to B2RawApi.

commit e97619859129a3393c9d16e242ad3dd2dd08821e
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 5 14:53:59 2016 -1000

    Move delete_file_version to B2RawApi.

commit f11a4fa0b9a6cf4b7f240924da667dbd95336193
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 5 14:48:51 2016 -1000

    Move list_buckets to B2RawApi.

commit 14b2b13e7b9f6554dfff52b30c9f5d684397981f
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 5 14:45:02 2016 -1000

    Move get_upload_url to B2RawApi.

commit a57feb077c0c00c85f2fb4196df516aac839cffd
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Mar 5 14:25:35 2016 -1000

    Ignore PyCharm files and build products.

commit 354ff206b3ac9b83855afd09db4e3b6a26e4514f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 2 14:33:46 2016 -1000

    Version 0.4.5 for development.

commit 74a5e567925899f1fc6204aa85d4c84c0d0e511a
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 2 14:28:15 2016 -1000

    Version number: 0.4.4
    
    (Skipped 0.4.2 because that got burned by a bad release on PyPI.)

commit 9a2a8040cfbf2de97f3d376ea32377bf4e591b54
Merge: 39dd5dd 9042077
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 2 14:26:37 2016 -1000

    Merge pull request #75 from Backblaze/fix_python_3
    
    Workarounds for Python 3 json/str/bytes issues.

commit 90420770567efedf668448f34db73bf7071996b8
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Mar 2 11:51:27 2016 -1000

    Workarounds for Python 3 json/str/bytes issues.
    
    json.load() doesn't work on http responses in
    python 3.  this change adds explicit encoding
    and decoding where needed.

commit 39dd5ddcbe717bdb458e8daf59c4edbe7d78a0aa
Merge: c9390c0 27778bb
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Mar 1 13:16:35 2016 -1000

    Merge pull request #74 from florenthemmi/fix-typo-upload-file
    
    Fix typo in upload_file documentation

commit 27778bb3ffd791cf82f7f23de1bd7a2f92670fa8
Author: Florent Hemmi <florent.hemmi@laposte.net>
Date:   Tue Mar 1 23:22:54 2016 +0100

    Fix typo in upload_file documentation

commit c9390c068abf551c96be54a3c1a14024b1d98b09
Merge: 7f25789 1259ea7
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 29 09:17:33 2016 -1000

    Merge pull request #73 from ppolewicz/fix_59
    
    Fix #59

commit 1259ea719cb200f52a974426ffa630dcf511abc6
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Feb 29 19:58:39 2016 +0100

    Fix #59

commit 7f2578938d9863b9f46c4a4764ff2a88cb81e64f
Merge: 1fc7fb7 4759c37
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Feb 27 13:59:08 2016 -1000

    Merge pull request #72 from ppolewicz/speedup_travis
    
    Speed up Travis CI build

commit 4759c37c99466694d2f55eaba37d858038f499be
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 27 22:09:19 2016 +0100

    Speed up Travis CI build

commit 1fc7fb7516eac121169217e88846cf3213265937
Merge: 77219ab 1e1f962
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 24 13:38:35 2016 -0800

    Merge pull request #71 from ppolewicz/python3
    
    Add Python3 support

commit 1e1f96289b8d8bbae5b8d79e439276beb7d82afb
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Feb 24 21:24:09 2016 +0100

    Use python2 explicitly when running tests
    
    python2 is not in path on OS X, but one day python3 will be default

commit 859bc504d96500fbffac16c23eea1cafe3c84f7a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Feb 24 21:22:09 2016 +0100

    Mark b2 command line tool as supported by Python 3.x

commit 532582afcd82a15cfc0cb04164f82d6e5ba2a7b8
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Feb 24 03:00:19 2016 +0100

    Fix yapf

commit 0fe929184db924c61e699ef2423d076bdf733eaa
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Feb 24 02:50:02 2016 +0100

    Travis CI config fixes

commit 9880d8720dc9a6eccf7ad569d051b393f92267b8
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Feb 24 02:44:50 2016 +0100

    Fix a race condition during test data creation failing tests
    
    Fixes Backblaze/B2_Command_Line_Tool#68

commit 2278956a361a36e0f5bd214916207b716f9d4a1f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Feb 23 21:52:45 2016 +0100

    Fix error handling using bytes instead of str

commit b7f6198dc12a85fe413cfd289454087efc1d969b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Feb 23 21:48:38 2016 +0100

    Fix post_json params sending as str

commit ed42bf898d42ae10ec342445dbfbf478d8e89f0d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Feb 22 00:10:01 2016 +0100

    Authorization header should be bytes, not string

commit d3f4e3daf00f72366f8aeef6ccaf79d0b8dff94e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Feb 22 00:08:44 2016 +0100

    Only decide command line arguments on python2

commit 28f8bbd727b4c7382a43f16dfdb404c3a1a9d7e4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Feb 21 23:53:57 2016 +0100

    Revert "Fix for missing six.PY2 under python3" (old six bug)
    
    This reverts commit 29a0ff27f4d903fe7b23d3b50cb51d90d2fd4031.

commit 0b0cf1d0d2a635582afc722f90891fc6aa746669
Merge: 29a0ff2 77219ab
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Feb 21 23:51:44 2016 +0100

    Merge branch 'master' into python3
    
    * master:
      Add .gitignore to prevent committing *.pyc files

commit 29a0ff27f4d903fe7b23d3b50cb51d90d2fd4031
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Feb 21 23:43:51 2016 +0100

    Fix for missing six.PY2 under python3

commit 65b983317157b5a0183fdbb3eaa4630f04e7c681
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Feb 21 23:21:55 2016 +0100

    Make the test program pass when running python3

commit 81b1d8749ba06ebf7c42f9f0bfb84a9311191651
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Feb 21 22:59:49 2016 +0100

    Fix httplib and urllib using six

commit 4332a95e82f4aa6e7271b8331e643dd7701b60bb
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Feb 21 22:45:20 2016 +0100

    Make tests execute with appropriate python version

commit b86206506c078750cc2e1653453553466911c8f8
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 20 18:30:54 2016 +0100

    Add python3 to Travis CI

commit 44e1639470512be37573ceb104f1e4d029026ab6
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 20 18:25:13 2016 +0100

    Fix iteration over collections for python2/3 compatibility

commit 8b46de6b2eefa0458edef89d6bd3a14bf5be64d9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 20 18:04:43 2016 +0100

    Fix raw_input using six

commit 77219ab9550403ab9a99683e521c566c0786144c
Merge: b239f74 815f3a7
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Feb 20 07:02:24 2016 -1000

    Merge pull request #70 from ppolewicz/add_gitignore
    
    Add .gitignore to prevent committing *.pyc files

commit 6ebf203a0280e91839445f20eb6b9c391f281635
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 20 18:01:27 2016 +0100

    Fixes in tests using six

commit 209aa6d1ae84d9d157d4058a2cd6af7ce69d1281
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 20 17:48:20 2016 +0100

    Fix range/xrange using six

commit 1ebc4448fb53641d7a98720412c6a8865d8a9ea3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 20 17:28:31 2016 +0100

    Use six to apply metaclasses

commit 8f8be900689599d67c60ec13ce0c98ee2fb2adff
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 20 17:05:23 2016 +0100

    Use print() function

commit 815f3a79c4e90abc92e51d0bd42f711838bda3a3
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Feb 20 16:56:08 2016 +0100

    Add .gitignore to prevent committing *.pyc files

commit b239f740e23cd93551226412241844a2ab35032f
Merge: dfe324f 86e1f61
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Feb 18 06:56:38 2016 -1000

    Merge pull request #67 from ppolewicz/pypi_badges
    
    Add PyPI badges to README.md

commit 86e1f6123976481b476ffcbb9cb25411abc0d737
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Feb 18 02:34:54 2016 +0100

    Add PyPI badges to README.md

commit dfe324f24cba5984dcb63b81fbcf99e7ec701493
Merge: 2c5375c fcead74
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 17 14:36:22 2016 -1000

    Merge branch 'HenrikBengtsson-master'

commit fcead745a5df2ac0e31a78c88e16da0661803239
Merge: 2c5375c c769e5f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 17 14:35:23 2016 -1000

    Merge branch 'master' of git://github.com/HenrikBengtsson/B2_Command_Line_Tool into HenrikBengtsson-master
    
    Fix conflict in version number change.

commit 2c5375c96ab3d96f8d5ed2dfcc2ebb8c711c15c9
Merge: 0d9a50e cb4c0d9
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 17 14:30:26 2016 -1000

    Merge pull request #66 from ppolewicz/bash_completion_usage
    
    Bash completion usage

commit cb4c0d935dbab5c79fd305eee80cb6417650987b
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Feb 18 01:04:47 2016 +0100

    Use relative link to bash completion guide

commit 0d9a50ef07a837763b600c37b039e13a38fe669a
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 17 10:29:43 2016 -1000

    Bump version number for development.

commit a40c86672241cba8e47c2057d6c3deb3a6b1ed82
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 17 10:26:05 2016 -1000

    Fix typo.

commit 053cb29e48dec6e34c23009484e4c37955830fe2
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 17 10:22:38 2016 -1000

    Bump version number for release.
    
    Add MANIFEST.in to make PyPI installation work.

commit e74b5a13771afdf540e45e07bc4d8fa36bf55b49
Merge: dd3d25c 54df76f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 17 09:22:22 2016 -1000

    Merge pull request #63 from Backblaze/user_agent
    
    Add a custom user-agent string.

commit 54df76f3b8ddf112dd81154b806c99c1b3f4083b
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 17 09:19:24 2016 -1000

    Change user agent to conform to standard http://tools.ietf.org/html/rfc7231#section-5.5.3

commit c769e5fd06de9e7eb5e6c4076f234c7961496830
Author: hb <hb@aroma-project.org>
Date:   Tue Feb 16 21:36:05 2016 -0800

    BUG FIX: b2 sync on Windows gave server error on "file names must not contain '\\'" because pathnames on Windows uses backslashes.

commit 9314537e0bb6999a04795c9b144146a37bd4cf05
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Feb 16 15:50:05 2016 -1000

    Add a custom user-agent string.
    
    At Backblaze, we'd like to know which requests are coming from
    this tool/library.

commit dd3d25ce565fa74fe213d449d4057e5e808dc137
Merge: 245ce9d fa56aa0
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Feb 16 11:35:41 2016 -1000

    Merge pull request #62 from Backblaze/package
    
    Turn into a python package

commit fa56aa0c03e27c8f70c6f7747ae6d725c9208acc
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Feb 16 11:33:02 2016 -1000

    Fix quoting in shell scripts.

commit 4ca9c85e0752e8760d4fd11047ebf13c14c69c8f
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 15 16:51:01 2016 -1000

    Update travis script to check all python sources.

commit 54ce411722b41690d5f812ddd32e19ac6d85d6ea
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 15 16:46:52 2016 -1000

    Update travel script.
    
    It needs more updates to process all .py files.

commit 4111dfff2f40b7132b844723134b72eb1d94f9f2
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 15 16:44:09 2016 -1000

    Update pre-commit.sh with new module structure.

commit c1ccdb90659eaa4d77f6f8071714784d5fac9258
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 15 16:27:08 2016 -1000

    Create a b2 module.

commit 09f379baf28f114fc251e86a465ebbe3cef8de08
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 15 16:17:00 2016 -1000

    First pass at a setup.py to make b2 package installable by pip.

commit 2930d5bc347fe6c2e586210c0707b7ee282e9ffa
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Feb 14 17:07:20 2016 +0100

    Better document bash completion installation

commit 245ce9d25974cafb4fd83958c0f1fd42ee3cd8c5
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 3 15:13:53 2016 -1000

    Bump version number for development.

commit 3319d1a0dce823e45d2775940fe916b1f65deb8d
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Feb 3 15:00:24 2016 -1000

    Bump version number for Backblaze release.

commit d2dbef68adeb83297fb3d19ac1a3fcbfce2578c4
Merge: ea566e4 bc1ff26
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 1 16:40:32 2016 -1000

    Merge pull request #55 from Backblaze/unit_test2
    
    Second try at moving bucket-related calls to B2RawApi.

commit bc1ff26db07c59108fe145375384277f836fb1ed
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 1 10:13:03 2016 -1000

    Re-running yapf made more formatting changes.

commit f4987f1cdacc163d3eda9b1a506d2c846f353fd9
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 1 10:06:08 2016 -1000

    Move bucket-related methods to B2RawApi.
    
    Also, factor out a common helper method to avoid
    repeating the same three statements in each
    method.

commit ea566e48bf2689fd6a7bd05bee1164779d955996
Merge: aef66b9 21c05de
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Feb 1 08:02:15 2016 -1000

    Merge pull request #54 from Backblaze/informative_pre_commit
    
    pre-commit.sh now displays diffs when updating the formatting of the …

commit 21c05dec1745a9661d5c0e55d495b1ddad917585
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 31 09:46:28 2016 -1000

    pre-commit.sh now displays diffs when updating the formatting of the code,
    and script won't quit in the middle if code needs updating.
    
    Also, added friendly messages when check pass, so it's not just silent.

commit aef66b9f5cc767d035f609b95bc6780be36eb5a2
Merge: 0073c2b 424ee93
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jan 30 09:24:11 2016 -1000

    Merge pull request #52 from Backblaze/fix_51
    
    Fix 51

commit 424ee930c95558378ab926a76ff88ffa9d0ef1f7
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jan 30 09:21:22 2016 -1000

    Fix #51.
    
    The code was passing the fileId where an URL was expected.

commit 47fa47ebab755b3a18f0cb00724f021020d0ff08
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jan 30 09:05:58 2016 -1000

    Add a test for syncing from B2 to local.
    
    The test fails because syncing is broken.

commit 84640910813c6c91325c72dcbda02ac13808697a
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jan 30 08:47:51 2016 -1000

    Rename sync tests to "sync_up", in preparation for
    creating a "sync_down" test, which is missing.

commit 0073c2b078e0e46e6451c645180920838396453b
Merge: 588d400 66dd3a6
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jan 29 11:07:14 2016 -1000

    Merge pull request #50 from mapio/master
    
    Added a bash completion script

commit 66dd3a6c4f0a1fc5f345621a39d7ff3ab4a99f5a
Author: Massimo Santini <santini@di.unimi.it>
Date:   Fri Jan 29 21:59:13 2016 +0100

    Added a bash completion script

commit 588d400ce2fee46c7d98c0042eed956df16fd7b6
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 27 08:32:47 2016 -1000

    Bump version number to development number.

commit b097f0f04d3f88d7a372b50ee6db1f89a5249028
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 27 07:55:25 2016 -1000

    Bump version number for release.

commit 2ebf5c0a293bf13a4d61f6199fce9713aa3194db
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 27 07:53:13 2016 -1000

    Update README with latest usage string.

commit 0a216c4127e488fbd2d8e98a48d0e66a80f4109a
Merge: b3f06fd c51d629
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 27 07:50:31 2016 -1000

    Merge pull request #48 from Papafox/master
    
    Allow credential file name to be overridden

commit c51d6291b0f553a2159be4cfc5a6d3b5fc70b3f5
Author: Matthew Donald <matthew@wsadmin.org>
Date:   Wed Jan 27 20:10:58 2016 +1100

    Update help docs to mention new env variable

commit c5bf992f3be2a39712620e20f06ae3313c40cd37
Author: Matthew Donald <matthew@wsadmin.org>
Date:   Wed Jan 27 20:01:44 2016 +1100

    Add test case and documentation

commit c3ab024918da59bfaba4e2cf93f6ee6ac044469b
Author: Matthew Donald <matthew@wsadmin.org>
Date:   Wed Jan 27 14:24:17 2016 +1100

    refactor solution - make more pythonic

commit bbb5268cf5b055a25973cc4962ff33046e916d5f
Author: Matthew Donald <matthew@wsadmin.org>
Date:   Wed Jan 27 03:24:24 2016 +1100

    fix imports

commit f098e38916da13c127be4f4ff3e8cf961a28a916
Author: Matthew Donald <matthew@wsadmin.org>
Date:   Wed Jan 27 02:38:41 2016 +1100

    add import

commit 70bcb0b1e9af7d76debdf79fb8ed5ebf2f736509
Author: Matthew Donald <matthew@wsadmin.org>
Date:   Wed Jan 27 02:36:06 2016 +1100

    Add env var B2_ACCOUNT_INFO to allow credential file name to be overridden

commit b3f06fd53eb1c9a07740b962284753cba413a7b8
Merge: 292cece a36b073
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jan 25 15:49:20 2016 -1000

    Merge pull request #46 from ppolewicz/ConsoleTool_cleanup
    
    Remove ConsoleTool.info temporary property

commit a36b073888e609f99a8a36dc08767c01c70f6848
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 25 02:07:26 2016 +0100

    Remove ConsoleTool.info temporary property

commit 292cece1192b141cb30b293516dc2953ef8539cd
Merge: 24408e8 3c44d28
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 24 15:02:50 2016 -1000

    Merge pull request #45 from ppolewicz/refactor_downloading
    
    Refactor downloading

commit 3c44d28b80b9efc63a49d89b909fd19d105407fe
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 25 01:50:39 2016 +0100

    Refactor download_file_by_name

commit 73545f6e7eb03a0658475792c3c1d909a9824de9
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 25 01:42:44 2016 +0100

    Refactor download_file_by_id

commit 24408e85e99d6d57e7c47623c3f286e4f50deaa6
Merge: ec5e792 ca06cf8
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Jan 18 14:00:09 2016 -1000

    Merge pull request #44 from ppolewicz/yapf
    
    Add basic CI and yapf

commit ca06cf8a480b4d4638d5989fd5eb9a2a32554784
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jan 19 00:44:32 2016 +0100

    Add CI status badge to README.md

commit 11126a194fbe3a2a7b5da4d4876b84f04a875f36
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jan 19 00:20:43 2016 +0100

    Add basic travis config

commit 2b5a7bce334594be7854ffcd7962b3c9366e8411
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jan 19 00:18:46 2016 +0100

    Add pre-commit script

commit 93ed28a82023996fdc7a14ef6d1eea52fd718351
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jan 19 00:03:03 2016 +0100

    Apply yapf style

commit ec5e792de7533d8ce31e6819c35c233f963238fc
Merge: 2cc6655 aa79af3
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 17 16:07:06 2016 -1000

    Merge pull request #43 from ppolewicz/urllib_exception_handling
    
    Improved urllib exception handling

commit aa79af3c9e63d400e533fc660ebeba0d9a386d27
Merge: 56bd817 2cc6655
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 18 01:06:13 2016 +0100

    Merge branch 'origin/master' into urllib_exception_handling
    
    * master:
      Tweak comment based on code review.
      Proposal for adding a "raw API" layer under the B2Api class.
      Don't bother printing SimpleProgress for things that are fast.
      Add doc string to Bucket.ls(), and very minor cleanup.
      Implement AbstractAccountInfo.authorize() and ConsoleTool.authorize_account()
      Correct some issues reported by pyflakes
    
    Conflicts:
            b2

commit 2cc6655979cc9869acbc50b5e925ee22caa7317c
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 17 12:26:23 2016 -1000

    Tweak comment based on code review.

commit bb50b73781b2b98d728a79144ad0d47e28d0ab9f
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Jan 16 10:22:15 2016 -1000

    Proposal for adding a "raw API" layer under the B2Api class.

commit 267b929bfc179eb5c3b5c5d06dcbce9bc9082c21
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jan 15 16:53:19 2016 -1000

    Don't bother printing SimpleProgress for things that are fast.

commit b3dc89feb990ef93fe2861dd82dd208a4b33b163
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jan 15 16:43:13 2016 -1000

    Add doc string to Bucket.ls(), and very minor cleanup.

commit 9bb91e7eec75b9bb2237e332d6022f7f2e09a881
Merge: 6fedb08 8136ef6
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jan 15 15:57:00 2016 -1000

    Merge pull request #41 from ppolewicz/authorize_account
    
    Implement AbstractAccountInfo.authorize() and ConsoleTool.authorize_account()

commit 8136ef686eafb342b205ee178bb48bbb39a42c91
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Jan 16 00:42:49 2016 +0100

    Implement AbstractAccountInfo.authorize() and ConsoleTool.authorize_account()

commit 6fedb08c15a7ec9fe85b061d882e39ba6e61d470
Merge: a838540 0899fd3
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jan 15 07:19:27 2016 -1000

    Merge pull request #40 from ppolewicz/pyflakes_fixes
    
    Correct some issues reported by pyflakes

commit 0899fd3f714b5628dfa60514cd6373ed0f3fc598
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Jan 15 03:21:50 2016 +0100

    Correct some issues reported by pyflakes
    
    In preparation for CI

commit 56bd817377072c5ec1a4057713ac45a84b4eccf7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Fri Jan 15 03:00:57 2016 +0100

    Handle various OpenUrl errors gracefully

commit a838540ba0e9d1d6b4bcbcd3e8815830a99d6926
Merge: 6df3039 db11f4b
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 13 15:40:20 2016 -1000

    Merge pull request #39 from ppolewicz/fix_sync_without_prefix
    
    Fix sync without remote prefix

commit db11f4baad15063a625b92d4f6b69ff6127c8b31
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jan 14 02:06:32 2016 +0100

    Fix sync command without remote prefix

commit 6df3039635ac2822d86f8acd6919e55b1a17e032
Merge: ed90d7a 46b6615
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jan 12 14:07:32 2016 -1000

    Merge pull request #38 from ppolewicz/get_file_info
    
    Implement B2Api.get_file_info() and ConsoleTool.get_file_info()

commit 46b6615853a423a43473ce282a9b379a90ad9c79
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jan 13 00:41:46 2016 +0100

    Implement B2Api.get_file_info() and ConsoleTool.get_file_info()

commit ed90d7a5b86da44cc856722f2f5a9adbfc4c3557
Merge: 11992fc 4819efb
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jan 12 13:23:27 2016 -1000

    Merge pull request #37 from ppolewicz/remove_parse_file_info
    
    Remove parse_file_info

commit 4819efb2bf048626706adb9c9a30ecd3d06ffde6
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jan 13 00:05:15 2016 +0100

    Remove parse_file_info

commit 11992fce0498580faf99800b0ccf69a36149ebf4
Merge: 7dd040d 6633107
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 10 19:43:16 2016 -1000

    Merge pull request #36 from ppolewicz/add_resource_cap_handling
    
    Add StorageCapExceeded exception

commit 7dd040d3444c99b0119186faa47695f9b0e1138a
Merge: ddb180c 49d5849
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 10 19:42:54 2016 -1000

    Merge pull request #35 from ppolewicz/remove_iter_files
    
    Remove ConsoleTool.iter_files()

commit ddb180ce04eaf2740b097865d06da34331d61d3d
Merge: 4c54ac2 cfc7622
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 10 19:41:42 2016 -1000

    Merge pull request #34 from ppolewicz/list_file_legacy_methods
    
    Implement Bucket.list_file_names() and Bucket.list_file_versions()

commit 4c54ac2d2ee3ff602a34484f32d4670bbbcb1690
Merge: 2bc448e ff31b1d
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 10 19:40:57 2016 -1000

    Merge pull request #33 from ppolewicz/implement_bucket_ls
    
    Implement Bucket.ls()

commit 6633107c595fc02d03978f4c44e04fc3839e1e59
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 11 02:08:58 2016 +0100

    Add StorageCapExceeded exception

commit 49d5849a08fe9d2c9145cfbd301989b41de2d9ab
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 11 01:45:25 2016 +0100

    Remove ConsoleTool.iter_files()

commit cfc7622e33b84f33a8d18110469e2c579b70f61c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 11 01:09:07 2016 +0100

    Implement Bucket.list_file_versions() and ConsoleTool.list_file_versions()

commit 58e6934b13629404dd686ec566acca1c0616f85a
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 11 00:59:33 2016 +0100

    Implement Bucket.list_file_names() and ConsoleTool.list_file_names()

commit ff31b1dd573a0a51ade6320e5e2454c81b760d26
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 11 00:35:46 2016 +0100

    Implement Bucket.ls() and ConsoleTool.ls()

commit 1712128e061f49630732dd9a890f9e744f84f214
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 11 00:34:01 2016 +0100

    Add ls entry formatting functions to FileVersionInfo

commit 2bc448ee2896e83a222da96eca96427d01c34c43
Merge: ede2529 60300a7
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 21:22:39 2016 -1000

    Merge pull request #32 from ppolewicz/tqdm_inheritance_fix
    
    tqdm inheritance fix

commit 60300a73f9002bba487b1afc980bed2ca49f4b16
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Jan 7 03:29:58 2016 +0100

    tqdm inheritance fix

commit ede252967d850f343ec7c0acacaba09f75bfe68f
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 14:46:07 2016 -1000

    Merge in conflicted changed to add progress reported
    even without tqdm.

commit c4f5c99e22cf35a6617cfe053fb272f72f715902
Merge: a7b43f4 4ae93d3
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 14:11:16 2016 -1000

    Merge pull request #31 from Backblaze/refactor_upload
    
    Refactor upload in sync.

commit a7b43f41339ff79527c07eef2b6c8882416f1d09
Merge: 70cd4c1 bb54d3d
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 14:11:00 2016 -1000

    Merge pull request #30 from Backblaze/sync_tests
    
    Sync tests

commit 4ae93d39bd77e2a72e1d3ec3936c4a8d821daa85
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 12:17:28 2016 -1000

    Refactor sync to use api object for uploads.

commit b89e419cb2cffc54a2616b7d04c981101921fa63
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 12:06:22 2016 -1000

    Add test for last-modified time of synced file.

commit dc6f71cd6295cffc5c86c76d7e8b13d982c96129
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 11:44:02 2016 -1000

    Refactor version list checking in sync test.

commit bb54d3d387e617059f8ca6d6f284384d8f82e170
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 11:02:57 2016 -1000

    Add tests for syncing with file update, hiding, and deleting.
    
    Fix bug I introduced when merging with API class.

commit ee57f0e3d1c747e694526e9cb1aef2e2d7a97ccf
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 10:57:13 2016 -1000

    Add tests for syncing and hiding.
    
    Fix bug I introduced when merging with API class.

commit fc43f3b0adf8a320d2e73d50737b7ae877ed32ca
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Jan 6 10:06:55 2016 -1000

    Add option to run subsets of the tests.
    
    Move current tests into the "basic" set and add a new
    set called "sync", which is currently empty.

commit 70cd4c1e5d64e143e8181c2b218715ee59f15975
Merge: aa9375d dc822ea
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jan 5 15:56:04 2016 -1000

    Merge pull request #28 from ppolewicz/refactor_download
    
    Preparation for downloading refactor

commit dc822ea14bb2e858591efae3d067604f49f39419
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jan 6 02:32:11 2016 +0100

    Improve exception printing for console commands

commit cea8758afcbe7d71acc44b55e769f09b7e1d2de7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jan 6 01:47:35 2016 +0100

    Change error handling in download_file_from_url() to use exceptions

commit 622138a820cfe346979ec7f464dbd9ad9b4f8d54
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Jan 6 01:15:51 2016 +0100

    Remove a duplicate method: B2Api.make_url()

commit aa9375d679c79dcf29b9aba8ea639e940a82b79f
Merge: a512220 e217c33
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Jan 5 11:23:25 2016 -1000

    Merge pull request #26 from ppolewicz/refactor_upload_file
    
    Implement Bucket.upload_file() and refactor error handling

commit e217c33f33e4d3f47566e02d21354f6b8dd3f8d2
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Tue Jan 5 02:31:08 2016 +0100

    Improve MaxRetriesExceeded formatting and fix raising it

commit 1fd8a447f3c96ab1307ac3967e34c4ddd019bc5c
Merge: ee0b267 a512220
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 4 04:05:41 2016 +0100

    Merge remote-tracking branch 'origin/master' into refactor_upload_file
    
    * origin/master:
      Refactored 'sync' implementation to not re-use other command-line functions.
      Added support for setting last modified time on file download.
      Refactored b2 file listing for 'sync' to iter_files() function.
      sync: Fixed broken file download code.
      Updated README with new sync action.
      Added new 'sync' command for easy local <-> remote file copying.
    
    Conflicts:
            b2

commit ee0b267ff9984b254c45c5e93561feb95d0fe55c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 4 03:51:52 2016 +0100

    Implement Bucket.upload_file() and big refactor

commit 1860f8ac6dbc7e83edd95a1fe250378d0dc61bb7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 4 03:36:08 2016 +0100

    Refactor construction of download url

commit a5122205a82b08b448d9aa854ecba162595d1913
Merge: 9415b69 48f59fb
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 3 16:31:38 2016 -1000

    Merge pull request #25 from ppolewicz/preparation_for_upload_file_refactor
    
    Preparation for upload file refactor

commit 31e1593d006ddaed0dd556ac0e01fef2c959bb10
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 4 03:30:38 2016 +0100

    Change ensure_upload_data() into Bucket._get_upload_data()

commit 9415b698f91136cfaf5a27a3b4fc7965a6dc803c
Merge: c16c223 d553f68
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 3 16:26:22 2016 -1000

    Merge branch 'cederberg-add_sync_action'

commit d553f687cef2556fb6ffc51cddb7f57a2040a217
Merge: c16c223 b571cd8
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 3 16:24:13 2016 -1000

    Merge branch 'add_sync_action'.

commit 48f59fb9d9d62cf2140589894c44f0af6635f2b4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 4 02:59:15 2016 +0100

    Cosmetic readibility improvements

commit 1a6e000a06147c011203425ee87643f643b8b727
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 4 02:56:33 2016 +0100

    Handle missing account data with exception rather than exit()

commit d1faa62c59426d31333d8474c9cac872b6810e1c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 4 02:53:16 2016 +0100

    Update FileVersionInfoFactory so that it can read file size from contentLength

commit c16c2233c1bbadaec01edddf226e12794791a27a
Merge: cbf9a51 7795e38
Author: Brian Beach <coder@beachfamily.net>
Date:   Sun Jan 3 15:33:59 2016 -1000

    Merge pull request #11 from ppolewicz/library_layer
    
    Library layer

commit 7795e389a1119c6ae25dd9e5f24e164c2f4e4201
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Jan 4 02:27:32 2016 +0100

    Fix upload_file() (it is not in ConsoleTool yet)

commit c3050f026d084ea1c2d94d0360bc5fc1a13cee81
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jan 3 17:47:15 2016 +0100

    Implement ConsoleTool.clear_account()

commit 2019ac091557cb0e813b20e3d8be489da65e8a9f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jan 3 04:12:29 2016 +0100

    Implement InMemoryCache.save_bucket()

commit 2c67bf7c3393e3eebf47b9c381e9a0357a46c0a7
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jan 3 03:49:14 2016 +0100

    Remove TODO comments

commit c868516c18591aac1f286555689123363aecd27d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jan 3 03:46:53 2016 +0100

    Remove useless BucketType enum

commit 02818816bcd620dc379bf9d325a34fe44cc1fdf4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jan 3 03:42:22 2016 +0100

    Implement Bucket.set_type() / ConsoleTool.update_bucket(args)

commit 8213a73b0f028f6b2e7207ab454e0032ee5f5d01
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Jan 3 03:22:14 2016 +0100

    Remove FileInfo class

commit 0b70a1a9b28bec58d167fc9e2f19ec2b05b086a4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Jan 2 21:09:09 2016 +0100

    Implement B2Api.delete_file_version()

commit ebe1888ba797cbb46d52e928694a249005c42817
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Jan 2 20:28:40 2016 +0100

    Drop getUploadUrl() accidentally copied from java interface

commit 43a23fbeedf8dbcfe196d2967561d3251df5d5e3
Merge: 450d338 cbf9a51
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Jan 2 20:05:39 2016 +0100

    Merge branch 'master' into library_layer
    
    * master:
      Add --quiet option to upload_file.
      More complete tests.
      Add tests for all options to "b2 ls".
      Add tester for b2: test_b2_command_line.py.
    
    Conflicts:
            b2

commit b571cd83268719af034733b074d2644d1bad3a3e
Author: Per Cederberg <cederberg@gmail.com>
Date:   Sat Jan 2 20:03:23 2016 +0100

    Refactored 'sync' implementation to not re-use other command-line functions.
    
    Also added support for setting last modified timestamp on upload.

commit 3c7ed1ba1e3e4d137c9ab42cb041b2947febd0f2
Author: Per Cederberg <cederberg@gmail.com>
Date:   Sat Jan 2 19:52:38 2016 +0100

    Added support for setting last modified time on file download.

commit c5d373b0e2c393edae71cc5a26346ad7729cc552
Author: Per Cederberg <cederberg@gmail.com>
Date:   Sat Jan 2 16:33:27 2016 +0100

    Refactored b2 file listing for 'sync' to iter_files() function.

commit f9976d0d71fc59482de28095b1b2bf657279c4cc
Author: Per Cederberg <cederberg@gmail.com>
Date:   Sat Jan 2 16:31:10 2016 +0100

    sync: Fixed broken file download code.

commit d36b10f376a42ebdedcab1b7c39c9f21b231e984
Author: Per Cederberg <cederberg@gmail.com>
Date:   Sat Dec 26 23:59:15 2015 +0100

    Updated README with new sync action.

commit 95fbacec62222f1765ccb4382bc6300d45348ad3
Author: Per Cederberg <cederberg@gmail.com>
Date:   Sat Dec 26 16:03:24 2015 +0100

    Added new 'sync' command for easy local <-> remote file copying.

commit cbf9a51628077331db47d94ac806c250673f5c02
Merge: b178ab1 f924080
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Jan 1 11:03:23 2016 -1000

    Merge pull request #24 from Backblaze/quiet_uploads
    
    Add --quiet option to upload_file.

commit f92408073ec6f4beb4cf5d96a1f946d30a5738a7
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 31 10:01:16 2015 -1000

    Add --quiet option to upload_file.

commit b178ab124835622be7166953f50c4f05e1986be0
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 31 09:47:52 2015 -1000

    More complete tests.
    
    The test now creates a new test bucket for each run,
    so that cached answers (in the B2 service) won't confuse
    the current run.

commit 450d3381ab7094de900b16d29ccf3a4e9ede0846
Merge: 2851023 8fd529c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Dec 30 05:16:26 2015 +0100

    Merge remote-tracking branch 'origin/master' into library_layer
    
    * origin/master:
      Rename class stream_with_progress to StreamWithProgress, following PEP 8 conventions.
      Update shebang line to work with default OSX Python installation.
      Remove the option to disable progress bar during uploads
      Add a progress bar for downloads
      Add a progress bar for uploads
      Sort imports
    
    Conflicts:
            b2

commit 2851023940a83a88f71f2fd994a909287c6cacd6
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Dec 30 05:12:59 2015 +0100

    Implement AbstractBucket.hide_file()

commit bf04b71126547408930c6d5c39497209b0b28880
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Dec 30 05:10:15 2015 +0100

    Add api to bucket constructor
    
    This is needed for bucket methods which need to call the API

commit 998b30790a376c7f82c1a4c625f0462a2c846683
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Dec 30 05:06:25 2015 +0100

    Cleanup of comment

commit 561a77e2c68bf5eacfd627e74e1f8cd45f797e0d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Dec 30 05:04:33 2015 +0100

    Cleanup and merge of file info DAO classes

commit 53af3b062f5944a906f82d53f59fe4394a9239c4
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 29 11:21:49 2015 -1000

    Add tests for all options to "b2 ls".

commit c7eb96d85aa8f937be3fc7a781a17e66c98dead0
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 29 10:45:33 2015 -1000

    Add tester for b2: test_b2_command_line.py.
    
    This test script runs b2 against a real account, so you need
    to provide account credentials when you run it.
    
    The tests are not yet complete.

commit 8fd529c32920ac7345da83f02d6837f5a2172a3f
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 29 06:57:33 2015 -1000

    Rename class stream_with_progress to StreamWithProgress,
    following PEP 8 conventions.

commit bb39f9dd6930bc9eb07f7906bfcd30705e7c3c7f
Merge: 89f4be4 29d4360
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 29 06:51:29 2015 -1000

    Merge branch 'progress_bar' of git://github.com/ppolewicz/B2_Command_Line_Tool into progress_bar

commit 89f4be430fbf84f4abb7928d2bc31374055c8211
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 28 07:42:40 2015 -1000

    Update shebang line to work with default OSX
    Python installation.

commit 29d436099ceebefce820f1f4b144438cd55d2b5d
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 17:51:09 2015 +0100

    Remove the option to disable progress bar during uploads

commit 7c94ec664a6352773995f10a53b00c20bbd82127
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 17:44:07 2015 +0100

    Add a progress bar for downloads
    
    Closes Backblaze/B2_Command_Line_Tool#18
    
    test with progressbar disabled
    real    0m20.230s
    user    0m0.688s
    sys 0m0.246s
    
    test with progressbar enabled
    real    0m11.268s
    user    0m0.651s
    sys 0m0.297s
    
    test with failed tqdm import
    real    0m17.770s
    user    0m0.601s
    sys 0m0.351s
    
    there is no visible CPU overhead caused by the progress bar

commit d56de8044d08e1f4801db76c2bd6862d4713ad05
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 17:24:56 2015 +0100

    Add a progress bar for uploads
    
    test results for a ~10 MB file:
    
    progress bar enabled
    real    2m38.357s
    user    0m0.567s
    sys 0m0.094s
    
    progress bar enabled, second test
    real    2m33.497s
    user    0m0.580s
    sys 0m0.069s
    
    progress bar disabled
    real    2m42.709s
    user    0m0.546s
    sys 0m0.075s
    
    progress bar disabled, second test
    real  2m48.947s
    user    0m0.567s
    sys 0m0.055s
    
    test with failed tqdm import
    real  1m20.861s
    user    0m0.565s
    sys 0m0.054s
    
    the amount of CPU consumed by progress bar is negligible

commit 52acfe7139241ce96b64975c76dd5a0bea6ec535
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 17:20:42 2015 +0100

    Sort imports

commit ac79edcbff84e23e25a9decfefb0cd41d73a58ec
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 03:16:55 2015 +0100

    Rename B2Api property from "authorizator" to "account_info"

commit 0bb44306b7a5af5084f040fa94e5b401a00ec494
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 02:57:15 2015 +0100

    Implement B2Api.make_url()

commit a856d0a6b7a8eee6b4e0196f3a413594a6e1d5fc
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 02:31:36 2015 +0100

    Refactor ConsoleTools slightly

commit 6249da08fc95a3b7bdf8900f07cef976e251625f
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 02:29:22 2015 +0100

    Make StoredAccountInfo default authorization handler for B2Api
    
    This makes it easier to use the api, for example: api = B2Api()

commit 6fb8aa3d0e547fcc7df9e5b023af25e2c738089e
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 26 01:45:01 2015 +0100

    Implement B2Api.delete_bucket()

commit 0add7ddde8231c60e21483825b83702c43402684
Merge: fa89836 0a0c5d0
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Dec 23 01:04:37 2015 +0100

    Merge remote-tracking branch 'origin/master' into library_layer
    
    * origin/master:
      Bump version number.
      Check that file is not too big before trying to upload.
      Compute sha1 of uploaded file only once, even when retrying upload.
      Support external SHA1 sum
    
    Conflicts:
            b2

commit 0a0c5d0a4fb2e7f005f4dc4341d6d0512489e227
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 22 13:47:43 2015 -1000

    Bump version number.

commit 96b1476a59d5cfa4cbb6940a23b1be3ceab9387f
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 21 14:40:22 2015 -1000

    Check that file is not too big before trying to upload.

commit 2a1ab75615684d066c6c7da8437f72432a3ce531
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 21 14:33:41 2015 -1000

    Compute sha1 of uploaded file only once, even
    when retrying upload.
    
    Tidy up code that handles new --sha1 option.

commit ed21692f27426d22bdc9d0b9dc7eef550751653a
Merge: a982d01 9775880
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Dec 21 13:51:48 2015 -1000

    Merge pull request #17 from gdhgdhgdh/master
    
    Support external SHA1 sum

commit 97758804b3eec626903b5ac7090050c197811aa2
Author: Gavin Hamill <gdh@acentral.co.uk>
Date:   Mon Dec 21 21:59:32 2015 +0000

    Support external SHA1 sum

commit fa898368a237e4523f0ddd6f0928075db48e05f4
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Dec 21 02:00:45 2015 +0100

    Implement B2Api.create_bucket()

commit 6b331145692cc22061c5da13053bdbdc782e562d
Merge: a82f7c5 a982d01
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Dec 20 15:15:38 2015 +0100

    Merge remote-tracking branch 'origin/master' into library_layer
    
    * origin/master:
      Add retry logic for uploads, to upload to a different storage pod if the chosen one was busy.
      Bump version number.
      Add comment about version number conventions.
    
    Conflicts:
            b2

commit a982d0168e5fb5aff469523f3f0e21e78533643d
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 16 06:37:41 2015 -1000

    Add retry logic for uploads, to upload to a different
    storage pod if the chosen one was busy.

commit a64f734024f354db0849bca22f764383d61ccbbc
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 15 14:06:32 2015 -1000

    Bump version number.

commit ac1c6d1fa10caf7143087e025b5211445c02e7b2
Author: Brian Beach <coder@beachfamily.net>
Date:   Tue Dec 15 13:57:15 2015 -1000

    Add comment about version number conventions.

commit a82f7c52ed28424015dd5b330bf9aa7c3e047e1c
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Wed Dec 16 00:10:03 2015 +0100

    Add TODO comments

commit 6cae1b315c17448f5f0b9b5d49a84e03b87584f8
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Dec 14 16:45:36 2015 +0100

    Implement B2Api.get_bucket_by_id() and IdOnlyBucket

commit 9ffd9ddf1531e8bcca91a56ae0b32db780c86e56
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Dec 13 00:08:53 2015 +0100

    Create library access skeleton and split console from library for list_buckets()

commit 217abc75da4efa0a79fb01e041dc728625a04479
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sun Dec 13 00:01:06 2015 +0100

    Sort imports

commit 437323ac2ffb39738aede5d637c3d067cbbd99c2
Merge: 864d260 107c222
Author: Brian Beach <coder@beachfamily.net>
Date:   Sat Dec 12 08:33:46 2015 -0800

    Merge pull request #9 from ppolewicz/fix_write_file
    
    Fix _write_file() not truncating the writing account info

commit 107c222742d7939b78cd4763181a8568bf753c26
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Sat Dec 12 02:33:32 2015 +0100

    Fix _write_file() not truncating the writing account info
    
    Fix clear_account - fixes Backblaze/B2_Command_Line_Tool#8
    Remove commented code
    Use json.dump instead of json.dumps to write account info
    Do not skip O_BINARY flag on Windows

commit 864d26003eb34e4948a272fdb272ce3a3e8de787
Merge: 17b74b9 4f2b498
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 10 21:13:48 2015 -0800

    Merge pull request #6 from ferricoxide/set_mode_600
    
    Update file-create to force mode 600

commit 4f2b498856c3dbf39eb4887eff68213abb80d776
Author: Thomas H Jones II <github@xanthia.com>
Date:   Fri Dec 4 18:31:05 2015 -0500

    Update file-create to force mode 600

commit 17b74b9c3c1140afe59531afff1127ca38f13c81
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 4 11:13:38 2015 -1000

    Command-line options are now consistent
    about using a double-hypen (--).
    
    Bump version number, since interface changed.

commit 06dc445d4b5569866d8015d9399883f0ddd1a589
Merge: 75d116c 729686a
Author: Brian Beach <coder@beachfamily.net>
Date:   Fri Dec 4 09:32:08 2015 -1000

    Merge pull request #5 from ppolewicz/optimize_config_writes
    
    Reduce number of config writes when bucket name cache is updated

commit 729686a65ade2d20b2d174aae8618852ad868234
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Mon Nov 30 01:20:42 2015 +0100

    Reduce number of config writes when bucket name cache is updated
    
    Also clean up stale mappings when downloading a fresh list of bucket
    names (previously only new entries were being added).

commit 75d116c5e9258f412de83c9605a5c78bb7edc432
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 3 13:39:54 2015 -1000

    Don't url-encode content-type header, because
    the B2 service doesn't expect that any more.
    Encoding content-type is non-standard and
    broke things.

commit af729953da7293db6e053f2f857c2ab9d224da84
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Dec 3 13:34:34 2015 -1000

    Change syntax of upload_file command line
    to use explicit options for content type and
    file infos.

commit dcecd7e05a66a03413ff2694259a1a319cf747ed
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 2 10:04:30 2015 -1000

    Bump version number in other place.

commit 56d9e9da5768cb442d35489db08e99d69e6ac24a
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 2 10:01:49 2015 -1000

    Bump version number.

commit ad7fddaa7cea2591f6d00f7b82ab2d91efedf912
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 2 10:00:33 2015 -1000

    Factor out common code for b2_list_buckets.

commit 046cab6af7040f193019a6d6a72702e637f6d2df
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 2 09:45:07 2015 -1000

    Remove trailing spaces.

commit 9c7b248012b5f24698ed9c4580709483a2514899
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 2 09:43:59 2015 -1000

    Factor out common code that gets account fields.
    
    Suggested by ppolewicz.

commit 1521459d26cee4672ba134ddcca0dc94dfc5756d
Author: Brian Beach <coder@beachfamily.net>
Date:   Wed Dec 2 09:30:18 2015 -1000

    Fix bug where "b2 ls unknownBucketName" would list the
    contents of a random existing bucket.

commit 7bf74b7289d56d2f82fb94c42a8035eaf154e1ac
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 19 12:33:00 2015 -1000

    bump version number in README, too

commit a298c0a8b4d57c500e1e533cfe3c66d3f15e722b
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 19 12:29:53 2015 -1000

    bump version number

commit 9fcc720904532ab2251157291b5cd351260c9400
Merge: 86d5478 4224a9a
Author: Brian Beach <coder@beachfamily.net>
Date:   Thu Nov 19 11:47:38 2015 -1000

    Merge pull request #1 from ppolewicz/correct_minimum_python_version
    
    Fix the hashbang portability issues

commit 4224a9aed1ad1c8ad2a053c81957d5edecc35653
Author: Pawel Polewicz <p.polewicz@gmail.com>
Date:   Thu Nov 19 21:59:39 2015 +0100

    Fix the hashbang portability issues

commit 86d54780cad9094e033b5aa4adbbb71da7a94ee3
Author: Nilay Patel <nilayp@gmail.com>
Date:   Mon Nov 16 14:25:11 2015 -0800

    Fixed README formatting
    
    Hard wrapped README at 80 columns

commit 17749c041e51c962cacb31a507b5294787ab0dde
Author: Nilay Patel <nilayp@gmail.com>
Date:   Mon Nov 16 14:17:40 2015 -0800

    Fixed tabs on README

commit 5f1160e5a76ce593c2b249b324166f93ec6b68b9
Author: Andy Klein <andy@backblaze.com>
Date:   Mon Nov 16 13:39:44 2015 -0800

    Update README.md

commit fb2f66a5628d3f86513d8a3338e2deeb71b977b5
Author: Andy Klein <andy@backblaze.com>
Date:   Mon Nov 16 13:35:06 2015 -0800

    Update README.md

commit 6f14228f8eb7e2acfaad6cdf4ea2c711e37edef3
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Nov 16 09:04:31 2015 -1000

    Update license text and include link to web site.

commit c80adabeb2b4ef509d22fe6add286dfb45714cf2
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Nov 16 09:00:47 2015 -1000

    Add LICENCE and b2 source code.

commit 4fd290c0d4b4b252c749898a373beaca7d60fbad
Author: Brian Beach <coder@beachfamily.net>
Date:   Mon Nov 16 08:44:35 2015 -1000

    Create README.md
