[BLUG] another thing to mull over: collaborative web development

Steven Black blug_at_mailman.cs.indiana.edu
Tue, 27 Feb 2007 15:13:53 -0500


Subversion is significantly better than CVS.

Subversion has things like:
 * Transactions
 * Full revision control of directories and symlinks
 * The ability to move files and keep the correct file history.
 * Better off-line functionality
 * Faster check-ins and updates
 * Easier tagging and branching

All of these things have caused problems for developers using CVS in the
past.

One thing to note: Make sure that the DB you're using fits with your
access method. There are two DB engines available for Subversion, one is
based upon BDB, and the other is based upon the filesystem. The engine
based upon BDB works best if accessed through the Apache2 plugin. The
filesystem-based engine is the only reliable DB for the ssh+svn access
method.

The Subversion documentation contains information about the benefits of
Subversion, as well as details about the pros/cons of the various DB
engines.

There are graphical tools for Subversion, including tools for the Mac.

It should be possible to have hooks run at check-in which trigger the
check-out of of the sources in the testing tree. Like many things, there
are a number of ways to implement it from having an actual script run at
check-in to having a cron job poll the latest revision, (or combination
approaches). The thing to remember is that during the amount of time it
takes to update the "live" files things can be checked in causing the
"live" files to immediately be out-of-date.


With regards to MySQL: Data replication is the preferred way to go for
backup purposes in any case. While some engines support some form of
live backups, (typically causing a read-lock to be set for the table),
others (such as InnoDB) really require the database to be offline if
you're going to make a filesystem-based backup. (Filesystem-based
backups offer a significant speed improvement when the datasize starts
growing.)

Cheers,
Steven Black

On Mon, 2007-02-26 at 08:49 -0500, Joe Auty wrote:
> The editor I'm using is called Textmate. It looks like it supports  
> Subversion (which many people are replacing CVS with), so I'll have  
> to look into this as well:
> 
> http://macromates.com/blog/archives/2005/11/06/subversion-support-and- 
> ssh-key-pairs/
> 
> 
> 
> The challenge here is MySQL data replication. I need to be able to  
> develop with access to my MySQL backend. Fortunately, I actually run  
> this server, so perhaps what I'll look into is replicating just this  
> DB to my local copy and testing against it... I'm already running a  
> complete MySQL replica on my test server so that I have a sort of  
> live backup (in addition to snapshots, which I save for up to a  
> week), perhaps I can extend this further.
> 
> Hmmm.. many things to mull over and consider, this is more  
> complicated than I thought! Perhaps I should write up my solution (if  
> I find one) into my blog, since surely others have been faced with my  
> problem too.
> 
> Thanks again for all the good ideas!
> 
> 
> 
> On Feb 26, 2007, at 4:38 AM, ben lipkowitz wrote:
> 
> > Oops, it seems i misunderstood what the problem was in my previous  
> > post, and hit "send" a little too fast. Your problem appears to be  
> > that you need to use CVS or somesuch because the GUI editor doesn't  
> > lock the files that it's editing, and your GUI web devel software  
> > is lacking a 'CVS commit' button. So, in this case the proper  
> > solution would be to add a button to your GUI editor. I'd hope your  
> > editor has a "run script" menu entry of some sort, but if not you  
> > could set up a daemon to watch the file and upload it automatically  
> > via CVS.
> >
> >> Have you considered just mounting your webserver using NFS or  
> >> samba or fish?
> >> And didn't appletalk die a slow horrible death back in the mid  
> >> nineties?
> >> On a similar note, I was trying to figure out how to synchronize  
> >> my laptop with my workstation automatically, and something called  
> >> "Unison" seems to be the best software available:
> >> http://www.cis.upenn.edu/~bcpierce/unison/
> >>
> >> but I haven't tried it out yet, so if you like it, please let us  
> >> know :)
> >>
> >> -fenn
> >>
> > _______________________________________________
> > BLUG mailing list
> > BLUG_at_linuxfan.com
> > http://mailman.cs.indiana.edu/mailman/listinfo/blug
> 
> _______________________________________________
> BLUG mailing list
> BLUG_at_linuxfan.com
> http://mailman.cs.indiana.edu/mailman/listinfo/blug