This weekend I wrote a ftp deployment tool. It helps me deploy my changes faster to my concert website.
The program is written in ruby. It will search for the file
this or a higher directory. In this file you can specify some rules that
let the program know where to upload the files to.
The rules use regex to specify where the file should go. To let this approach work as it should, it will first find out where the file is, relative to the project 'basedir'. The basedir is the directory where the .ftpup file is.
When all is set, you can call
ftpup [filenames...] to upload those files.
The nice thing is that this can be done from any directory below the basedir.