http://www.perlmonks.org?node_id=498490


in reply to Re^2: Cross platform coding advice
in thread Cross platform coding advice

point taken - although the particular software i am developing gets distributed via rsync to the other servers.
speaking of CVS - is there a transparent filesystem-to-cvs thingy somewhere out there? i have gotten very used to my 'CTRL+S, perl -c, FTP, firefox-refresh, cp to production-code-dir' devel-cycle, yet would love to have versioning and all that, and some kind of CSV-filesystem-driver for windows and for linux would be great for that, i think...

Replies are listed 'Best First'.
Re^4: Cross platform coding advice
by Tanktalus (Canon) on Oct 09, 2005 at 02:12 UTC

    What I do for one of my projects is develop on my local webserver, cvs checkin, and then ssh to the server and run /srv/cvs/project/CVS/install_server - which in turn checks the current user, runs itself under sudo (which is set up to allow any user to run this script as a particular non-root user without a password), and then extracts itself to the real webserver using a cvs update command.

    An alternative is to make dist (or ./Build dist), and have some sort of private (and properly authenticated/authorised) page where you can just upload the distribution as a tar.gz file, and the CGI script can take it, uncompress it, unarchive it, build && build test && build install it, possibly followed by an rsync.

    Basically, pretty much every step you're doing to get it into production (or into test, for that matter) should be automatable down to a single command. Generally speaking, I find this type of extra work to set up completely invaluable. Think "Lazy". Lots of work so you can be lazy. I started doing this type of thing not because I'm lazy, but because I'm error-prone. I hated typing in things and getting them wrong. But, if I taught the computer how to do my work for me, it was less likely to screw it up - once I successfully taught it in the first place.