[TxMt] SVN?

Rob McBroom textmate at skurfer.com
Fri Mar 30 15:23:34 UTC 2007


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.






More information about the textmate mailing list