On Tue, 15 Aug 2006 09:51:14 -0600, Alex Schultz <[EMAIL PROTECTED]> wrote: > Raphaël Quinet wrote: > > On Tue, 15 Aug 2006 22:39:59 +0800, Lalo Martins <[EMAIL PROTECTED]> wrote: > >> On Tue, 15 Aug 2006 11:40:46 +0200, Raphaël Quinet wrote: > >>> One thing that could be added in the "nice to have" list is the > >>> support for migrating local branches to another repository. > >>> > >> That's easy; all distributed revision control systems have that ability [...] > Well, most of them operate over ssh, so if you could make a branch on at > a remote location, simply requires that you have permissions to the > parent directory of where the branches are stored, in addition to the > branches.
OK, maybe that would be sufficient. One reason why I was asking if it is possible to do some mirroring without requiring special actions from the owner of a local branch was to see if some automatic mirroring could be put in place easily. i.e., something that could be done via a cron job rather than something requiring manual intervention. I forgot about some features that I would like to see in the "nice to have" part of the comparison matrix: the ability to do partial checkouts or partial updates. Some systems based on atomic commits support partial checkouts and/or updates but I do not know if this is the case for the ones listed in the table. CVS supports both. By "partial checkout", I mean the ability to check out only a part of a module. For example, if you are not using your usual computer that has all the modules checked out and you just want to fix a bug in one map, it is possible to do a "cvs checkout crossfire-maps-bigworld/some/map". Then you only transfer what you need, make the changes and commit them without having to check out the whole tree. By "partial update", I mean the ability to synchronize only the files that you want to update from the repository without having to update all files. For example, if I am in a hurry while traveling or if I do not want to spend too much time online, I can just go in my ~/cvs/crossfire directory and do a "cvs checkout Changelog" to update only that file. Then I have a quick look at it and I can decide if I want to transfer anything else. Even if some files are part of an atomic commit, some systems allow you to synchronize only a subset of these files if you do not intend to work on the other ones. Partial checkouts and partial updates are more useful for those who want to limit the amount of data to be transfered. I do not know if these features would be useful to all developers, but I use them rather often so I am curious to know if the systems proposed as alternatives to CVS are also able to do that. -Raphaël Some distributed systems are able to init over ssh, however > there are other systems that would require you to manually log in to the > remote location and init a repository before you can push to it. Of > course, it is trivial to make a miniature bash script a couple lines > long to handle the logging in to the remote system to init the > repository. Mercurial for example seems to supposed to be able to do > that however at least in 0.9.1 seems to be buggy at initing a repository > over ssh. > > Alex Schultz > > > > _______________________________________________ > crossfire mailing list > [email protected] > http://mailman.metalforge.org/mailman/listinfo/crossfire _______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

