Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Shell Ruby
Branch: master

Merge pull request #12 from wesyah234/master

Please consider this small change.. .I just overwrote my existing authorized_keys file.  This change will prevent that.  Thanks
latest commit 4db787df3d
@rcrowley rcrowley authored
Failed to load latest commit information.
bin Always use the system Ruby.
man Rebuild manual.
.gitignore Linux build system.
HACKING Linux build system.
Makefile New build tools. Update
control.m4 v0.0.2

doubledown(1) -- sync local changes to a remote directory


doubledown [-i identity] local [user@]server:remote


doubledown brings local and remote on server into sync and then executes doubledown-fsevents(1) to watch local for changes.

An ssh-agent(1) is started if one cannot be found. Because doubledown will connect to server many times over its life, you must use an SSH key pair to authenticate. If you have not created an SSH key pair, do so with the following commands:

ssh-keygen -t rsa -b 2048 -f $HOME/.ssh/id_rsa
ssh <server> "echo $(cat $HOME/.ssh/ >>.ssh/authorized_keys"

When doubledown is run, rsync(1) is used to first download all files in remote on server that do not exist in local, thus no local changes will be clobbered. It then uploads any local changes. Finally, it executes doubledown-fsevents(1).


  • -i identity: Use a non-standard identity (private key). Analogous to the -i option to ssh(1).
  • -h, --help: Show a help message.


The Arcade Fire - "The Suburbs"


Richard Crowley


doubledown was written to make it easier for DevStructure users to use Textmate and other IDEs but it's far from the only way to skin the cat.

doubledown-fsevents(1) watches a directory and relays changes. It is called by doubledown.

The source code for doubledown is available at

Something went wrong with that request. Please try again.