# The following was supposedly scribed by # Ken Williams # on Thursday 11 November 2004 09:08 am:
>IMO if people are doing any sort of collaboration, you really should >set up a centralized source that they can submit patches against, > and keep up-to-the-minute track of what you're doing (like right > after you send an email about something you're adding). It's easy > enough to set up a sourceforge account for CVS. > >It's always a pain to submit patches against things when they don't >make their revision control system accessible. If you like subversion and you're running on systems that support symlinks, you might want to checkout my scheme. Actually, I bet it works for CVS too. Basically, I have about 20 projects checked-out under /usr/local/perl_lib/svn_hop/. From there, I symlink the code into a single tree, so there is no make && make install required to make the changes active. Similarly, if I do 'svn update foo', any changes from the foo repository become active immediately. The generalized write-up: http://ericwilhelm.homeip.net/svn/Module-Subversion-Juggle/trunk/data/notes/how_this_works.txt A specific set of instructions: http://ericwilhelm.homeip.net/uc/trunk/INSTALL.LIVE If this sounds interesting, browse around under svn/ to see what kind of directory structure I'm using. (Actually, the uc/ repository has a newer directory structure, where we mix python and perl code (the live install method works for python too.)) I use this scheme on my workstation, and mirror it (with unison) onto one of my client's machines. That machine has 3-4 users, so it's not a high-stress production environment. This way of working has been really fast for me, and even works in collaborative environments. I've been wanting to write-up a howto for some time now, but I haven't even formalized this whole process yet. I guess it would be cool to extend makemaker or something to support a 'make linked-install'. Another path that I haven't travelled yet is the one where a release gets automagically packaged and uploaded to CPAN using a post-commit hook (say, whenever you tag a repository under releases/.) --Eric P.S. www.berlios.de has svn available if you don't have a server