- Connect to BitBucket’s API using a user-supplied username and password;
- Get a list of the remote repositories belonging to a specified user;
- Get a list of local repositories in a specific path;
- Print the total number of remote and local repositories;
- List any repositories that are local but not remote;
- Clone all repositories that are remote but not local;
- Pull/update all repositories that are both local and remote.
It’s essentially the same utility as the C# version of BitSync, but it’s a fraction of the size and should be cross-platform. Note, however, that it uses the new argparse module included in Python 3.2 (yep, I’m running the release candidate) and so won’t work without modifications in the stable version of Python 3.1. It won’t work in Python 2 either.