Hacker News new | past | comments | ask | show | jobs | submit login

Why would you checkout to production, rather than export?



Checking out svn production probably isn't ideal, but lots of people do it. I think the default capistrano+svn set up actually does a checkout behind the scenece. It's usually much faster than an export and it means that if you have to tweak a file on production (yikes!) you can check that change back in.

Also, deploying via export is trickier than it sounds. You can't just cd to /var/www/whatever and run "svn export" or else you'll end up with files deleted from the repository still existing on production.


You can't just cd to /var/www/whatever and run "svn export" or else you'll end up with files deleted from the repository still existing on production.

Why would you do that, either? I thought it was something of a best practice to use symlinks for that sort of thing, so you could export to a new directory then change the symlink to point to the directory you just created.


Of course... but that's more work than typing "svn up" on production and lots of developers don't taking deployment strategies nearly as seriously as they should.


That saddens me. I've never done anything serious on the web, but I'm building a project for the first time now and I've been procrastinating a lot by learning the best ways to do everything. The fact that so many people just do a half-assed job and stay employed, while I've been out of work so long (hence the aforementioned project, actually, since I'm hoping to use it as leverage to find someone willing to give me cash bi-weekly).. like I said, it saddens me.


Amen brother. I've worked at a place where our 'deployment script' logged into each of our production servers and ran svn up in working copies. This company handled thousands of financial transactions every day.

At my current company we have a decent sysadmin, so things are a bit more sensible (a combination of svn export, running tests, then an rsync to our production box.)

Don't be saddened, be angry. When you do start doing stuff on the web, do it properly so other people don't have to eventually maintain the nightmare you might have created!


I'm totally with you. Having crappy deployment and source control isn't just annoying, it's counterproductive.

But also keep in mind that crappy code that ships beats perfect code that never ships every time.


Because a checkout allows to update afterwards, which means deployments are faster.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: