[TxMt] Automated way to keep SVN repository in sync with local files?

Benoit Gagnon b.gagnon at gmail.com
Sat Feb 25 07:04:26 UTC 2006


On Feb 25, 2006, at 1:17 AM, Ned Baldessin wrote:

> (Slightly hijacking the thread, and slightly off topic, sorry)
>
> Can anyone point me to a definitive source for using SVN in web  
> projects ?
>
> I've tried it on my own several times and with a second developer
> once, but I still haven't found a good workflow or method.
>
> This article is interesting, but too vague :
> http://www.sitepoint.com/blogs/2006/02/07/using-svn-for-web- 
> development/
>
> How do you guys handle SVN, and how have you integrated it in TM ?
>
> My latest idea: using the auto-commit on save when you mount a webdav
> repository as a drive.

Using WebDAV auto-commit is a good idea if you work only on static  
content, where the commit message and diff would give pretty much the  
same information anyway.

If you are developing web applications, however, I strongly recommend  
you do it the Right Way™. That is, set up a fully independent,  
development server on your machine. If, like me, you don't like the  
idea of messing around and installing low level stuff on your OS X  
box, have a look a "one click" solutions. For Rails, Locomotive [1]  
is excellent. For PHP/MySQL/Apache, I use xampp [2].

You can have the SVN repository either on your machine or on the  
server. I use the second option so I can make quick changes from  
other machines. Either way, backup the entire svn repos using svndump  
on the second machine. You can use incremental backups if your  
repository is really big.

When you work on the source, it's a good practice to commit your  
changes in small chunks. One commit per modification is ideal. More  
than one file can be modified, but try to commit the changes on a  
"feature" basis. You'll appreciate this extra work when you'll have  
different branches and want to merge, rollback or combine changesets  
without having to do it on a file by file basis.

One last thing. If you use Rails, here's something I discovered after  
a while: it's so quick easy to modify an application in Rails... I  
often forget to commit my changes regularly ! Then I end up with 20  
modified files, related to around 4 different "iterations". Log  
messages can get tedious when such things happen.

I've used this setup with PHP applications, LaTeX, C++ projects, and  
now using it for a Rails application.

Ben

[1] http://locomotive.raaum.org/home/show/HomePage
[2] http://www.apachefriends.org/en/xampp-macosx.html
>
> Thanks.
>
> 2006/2/25, Chris Thomas <chris at cjack.com>:
>>> This might be a dumb question, but is there ANY elegant solution
>>> for keeping my Subversion repository in sync with my local files
>>> *including* adding files, deleting files, renaming files?
>>
>> Something like this script might help with adds and deletes, but
>> won't handle moves or renames:
>>
>> http://svn.bitflux.ch/repos/public/bxcmsng/trunk/inc/bx/tools/svnsync
>>
>> Chris
>>
>>
>> _____________________________________________________________________ 
>> _
>> For new threads USE THIS: textmate at lists.macromates.com
>> (threading gets destroyed and the universe will collapse if you  
>> don't)
>> http://lists.macromates.com/mailman/listinfo/textmate
>>
>
> ______________________________________________________________________
> For new threads USE THIS: textmate at lists.macromates.com
> (threading gets destroyed and the universe will collapse if you don't)
> http://lists.macromates.com/mailman/listinfo/textmate




More information about the textmate mailing list