So the idea of this, is mount your S3 bucket as drive on your local system.
If you prefer UI way, I would recommend Transmit application by Panic INC.
http://panic.com/transmit/ ($34 at the moment of January 2012)
You can read more about it here:
http://www.40tech.com/2011/05/02/how-to-mount-inexpensive-amazon-s3-storage-as-a-local-drive-using-transmit-mac/
As for console way (compatible with both mac and linux) take a look into:
Next step:
Go into your mounted s3 bucket:
cd /mnt/yourS3bucket
and init repository:
mkdir myRepository && cd myRepository
git init
Below are answer to your questions:
Do you use a Git repository hosted on S3 (not just for backup, but
for collaboration)?
1) First time we used it like that, but later we moved it into EBS block inside of running EC2, with automatic backups to S3 and automatic restores (if EC2 or EBS crash or both). Its just much faster.
Is it possible to encrypt the repository? I know about the default DES encryption of JGit, but I'd rather not rely on ancient encryption
algorithms.
2) If you want just encrypt whole repository, think about encrypting of file system containers. And here you're free to choose, based on OS you're using. Again, you'will be dealing with productivity of such way: http://www.askdavetaylor.com/password_protect_encrypt_mac_os_x_folder.html
Anyway for this way it will be only single encryption so, all your users will need to know it.
Another solution, is SSH, based access to that EC2 instance, with separated user privileges.
Also do not forget about separate IAM account for your S3 bucket for different situations. So you can always log back and detect changes by your users.
What are the pros and cons of such a solution?
3) So, in a short: it was good idea, but I'd rather advice build it over SSH and use S3 as single-file-backup solution, not multiple-files-repository-backup way.
Best,
Eugene