I'm working on a personal project. Since I don't have to worry about working with others or deploying from a development environment to a production environment, I am simply modifying files on the server where I am serving my application.
To do this, I use Panic's Transmit (https://panic.com/transmit/), an FTP/SFTP client. Happily for me, it offers FUSE capabilities, so I can mount my server's filesystem onto my local filesystem. I make changes in my text editor, they get saved, they get uploaded automatically.
But my files also need to be processed by Gulp (http://gulpjs.com/) on the server. This part also works. Gulp watches the files, and if they change, it processes them.
Unfortunately these two things do not work well together. When I make a change, I end up with an empty file where I expect a freshly processed file to be.
My hypothesis is that Transmit is not transferring my files atomically. And it doesn't seem to offer the option to do so. Gulp is seeing file changes before Transmit has a chance to upload their content, hence I get empty files.
My question is, what can I do to deal with this? I would prefer to stay as close as possible to my current toolchain, but I am also open to entirely new ways of accomplishing this.
Thanks!