Nicolas Weeger wrote: > Hello. > > Apparently Sourceforge now has SVN up, and you can import CVS repository > directly. > See http://sourceforge.net/docman/display_doc.php?docid=31070&group_id=1 > for details > > Maybe we could think of moving Crossfire to SVN?
Couple quick notes from my side on this discussion: I'd generally say that to make a switch, what we are switching to has to be clearly better. Making a near even trade may not be a good trade just because of the effort to make the switch (all developers need to install SVN software, I'd think also that if you have work in progress, you'll have to manually move that over to SVN environment, etc). There is also perhaps something to be said that CVS is probably more standard. To tell people to use cvs to checkout latest version (and provide them the cvs command), good chance they probably have cvs client installed. Not sure how wide spread SVN is either. In terms of specific features: Renames don't happen that often, but sometimes do happen. I think this mostly happens regarding stuff in the arch tree - being able to keep revision history on a move would be nice, but most files in the arch tree don't have much a history, or if they do, isn't very interesting. Where we do very infrequently run into problems is when a file/directory has been deleted and we want to re-add it as a different type (file->directory, or vice versa). CVS doesn't like that. You can resuscitate the file if it is of the same type, but not different types. I can't remember last time this came up - long time back, but does come it once in a very rare while. Getting specific versions as tchize describes is interesting, but not something I have used often. I do symbolic tag the official releases, so if you want to get release 1.4.0, just use the tag rel-1-4-0 with CVS. Once in a rare while, I'll also want to look at the state of things before some specific checkin, but doing a checkout based on date has been sufficient so far (cvs commits are automatically date stamped). I don't know how many people view the CVS tree through the web page, so not positive how much benefit we get by SVN making more useful information available. In terms of branching, as mentioned, I'm usually the one most hit by this. But to me, the real show stopper here is ability to have a nice merge functionality. CVS isn't that great - if the there are no conflicts, no problem, but if there are, CVS just brackets the code where there is an issue, leaving you to fix it in your favorite editor. I don't know if SVN is any better. Some other products I have seen do have a nice GUI, letting one select which line/block to take. I think there are graphical CVS tools, so maybe they do something similar. But the real problems with branches is that I don't think there are currently enough people using crossfire that a branch gets much usage. One idea tossed out was to put experimental code in the branch, but if no one uses the branch, doesn't do much good. One complaint I do have with CVS, and I don't know if SVN is better, is that CVS will bring back code I delete. Say for example I'm editing a file, and remove the function foo() as well as make some other changes. Someone else makes some change to the file and commits. I do a cvs update, and foo() is now back in my file - even though no where along the process were any changes made to foo() itself. So then I have to go and delete again. Branches may make that a little cleaner. One other note regarding SVN on sourceforge - with CVS, we can basically use whatever scripts we want for checkin (current e-mail notification being one). With SVN, only a few specific scripts are allowed, and it seems that only there versions are allowed. I don't know if that actually makes much difference or not - I suppose it depends on what the output of their commit script looks like. _______________________________________________ crossfire mailing list [email protected] http://mailman.metalforge.org/mailman/listinfo/crossfire

