On Wed, 2008-08-13 at 16:26 -0700, Avi Bryant wrote:
On Wed, Aug 13, 2008 at 1:29 AM, Lukas Renggli renggli@gmail.com wrote:
I am would like to see some documentation on how to migrate from the old Monticello. Also I am eagerly awaiting the network repositories.
Here's a strategy that I think would work to allow networked collaboration with MC2 in its current state. Colin, let me know if I'm making any faulty assumptions here or misremembering how MC2 works.
- For your project, create a separate file repository for each
developer. So, Lukas, if you, Colin and I were all collaborating on something, we would have lr.mcr, avi.mcr, and cwp.mcr. 2. Set up a script which rsyncs these three files to a shared location. Each developer should have this script set up to *upload* their own mcr and to *download* everyone else's. 3. Commit to your own repository (I would commit to avi.mcr), and then run the script. Or, have a cron job which runs it every few minutes.
Since the project has all three repos added, everyone's versions should show up together in the UI. Since each developer is only modifying his own file, there shouldn't be any conflicts at the file level. Since the .mcr files are always only appended to, rsync should be able to update them quite efficiently (right?). And although there would be some duplication (each developer's repo would contain its own copy of most of the method versions), it would be O(developers) not O(versions) as MC1 is.
Thoughts?
We do a similar setup with MC1. I did it because there was no easy ssl support for http repositores.
I have a central server where everyone syncs to. There is a virtual user named after the project (in this case whooka). For this virtual user each developers ssh key is installed. To sync we use unison as it does a two-way-sync. Every developer syncs as whooka@central-hub. This setup is easy to use (has a gui unison-gtk even available on windows) and is doable from everywhere as the central hub is reachable from the internet.
Norbert