On Mar 29, 2007, at 10:35 PM, Jacob Rus wrote:
And in my opinion, any process that emphasizes convenience over functionality so such a degree that it avoids a version control system in favor of making live changes on the server is completely the wrong process for the job. ;)
Not committing to the repository every time you hit ⌘S is not the same as avoiding revision control. There's a balance. And no one ever said you should do this on a public/production server. In fact, I'll state the obvious and say that you should not. But I'm going to make changes on *some* server, because to change files on my local machine would be meaningless. The files don't "do" anything for me unless they're in the right context, which is often a specific web server.
On Mar 30, 2007, at 7:42 AM, Charilaos Skiadas wrote:
Before we continue down this road, let's be clear about what Rob is suggesting, because I was also mislead in my original responses by not reading his post carefully. Rob is not suggesting not to have version control. In fact, he already has it in all his servers.
Yes, I think by now the original poster should be thoroughly convinced that revision control = good. A lot of text in this thread has been dedicated to selling it or even defending it, which I don't understand since no one ever said it was bad. I'm going to try something crazy and actually answer his question.
The issue at hand is one we're all familiar with: TextMate is awesome. Because it's awesome, we want to use it for everything, but a significant portion of "everything" is on a remote machine. So, how do you work with remote files using an editor that's thoroughly local?
For someone who's used to Dreamweaver's "Site" features and thinks the workflow associated with using Transmit is clunky (rightly so), telling them to use Subversion *for the specific purpose of pushing local changes to the server* is going to go over like a turd in a punch bowl. I promise. (I'm not saying revision control shouldn't be used at all.) So, what can be done?
## Use Cyberduck or Transmit
Pros:
* Uses protocols you probably have in place already * Lets you see remote files and double-click to edit * Lets you work with a local copy and transparently uploads changes
Cons:
* Doesn't allow for use of TextMate's wonderful "Project" features
## Make the remote files appear local (DAV, AFP, Samba, NFS, SSHFS, etc.)
Pros:
* Lets you manipulate files using a familiar interface * Allows you to use TextMate's project window
Cons:
* You might need to set up one of these protocols which is not trivial and comes with various risks and headaches * Remote filesystems range from annoyingly slow to unacceptably slow
Other considerations:
* Samba, for me, has proven to be the fastest and it's quite mature at this point. The problem is, if you use Subversion (which holy crap, I do!, believe it or not), there are a lot of things you can't do to your working copy when it's on an SMB filesystem, so you're stuck with connecting via SSH to do `svn` commands instead of doing them from TextMate's project window. Gay. * DAV allows you to do all of your `svn` operations locally (which means it can be done via the Subversion bundle in TextMate), but it is so slow that it makes TextMate projects unusable. * FUSE with SSHFS is almost as slow as DAV, doesn't allow you to do `svn` stuff, and has demonstrated glitches that prevent me from trusting it for important work. It's still very new though, so things will likely improve. * I haven't tried NFS or AFP because I'd never be able to convince our system guys to set it up, so I can't comment on their strengths and weaknesses.
## Work with a synchronized local copy (via rsync)
Pros:
* Uses protocols you probably have in place already * Allows you to use TextMate's project window * The local filesystem is fast
Cons:
* Synching is an extra step that can add up if it's done frequently * I've never tried to use rsync on a Subversion working copy. Maybe it works great, but the idea makes me uneasy.
## Subversion or some other revision control
* Use it! But use it to track your changes, not to transfer files.
--- Rob McBroom http://www.skurfer.com/ I didn't "switch" to Apple... my OS did.