[crossfire] crossfire source code control systems

Raphaël Quinet raphael at gimp.org
Tue Aug 15 04:15:07 CDT 2006


On Mon, 14 Aug 2006 22:56:15 -0700, Mark Wedel <mwedel at sonic.net> wrote:
> Alex Schultz wrote:
> > Indeed, that is an issue that prevents it from being usable on sf.net,
> > though I have heard that project space of some other free hosts does
> > allow this sort of usage, though I am unsure of if the web space
> > provided is sufficient on those.
> 
>   Before we put the cart before the horse, we really need to figure out what 
> system we will use.

...and carefully weight the pros and cons of each system.  Currently,
I think that CVS is still the safer solution despite its drawbacks
(lack of support for file/directory renames, relatively slow diff...).

[...]
>   An official tree is definitely needed - you have to have some way to know 
> where to go to get the latest code.
> 
>   You just need that, for that matter, for people to do the initial pull from - 
> there has to be an initial repository.
> 
> >   2) Many developers don't have the means to host a branch for others to
> > pull from
> > Anyone have any ideas for hosting such things?
> 
>   Well, re-hosting becomes easier - all anyone really needs is a static IP (or 
> for that matter, dydns setup).

Those who are still using dialup or who have metered broadband access
will not be able to host a branch on their own.  Especially if the
charging model of their ISP is based on time rather than volume,
because this basically prevents the "always on" connections.  They
would have to find a way to host their branch on some external server
anyway, so for them there is no advantage in using a system that
supports local branches.

In fact, although I am not against using a system that supports local
branches and distributed repositories, I would be against a system
that requires or even encourages such distributed usage, for the
following reasons:

1) Some developers may not be able to host local branches on their own
   or would have problems doing it.  This problem does not exist on
   centralized systems (such as CVS, SVN, etc.).

2) Local branches will not stay around forever.  It happens frequently
   that some development made on a local branch cannot be merged
   immedately into the "official" tree.  It may take several months
   before someone tries to merge into the main tree all or parts of
   the changes done in a local branch.  In the meantime, that branch
   could be gone: the owner of that branch may be gone, have lost her
   internet access, suffered a disk crash, or decided that the branch
   was not interesting anymore.  Those who want to access that branch
   some months later would be stuck.  The advantage and disadvantage
   of a centralized system is that everything is in one place: either
   everything is available, or nothing is.  There is also only one
   place that has to be mirrored or backed up to prevent most
   disasters.  With a centralized system, it is easier to ensure that
   all branches will be accessible forever (well, as long as the
   project exists).

3) Some developers or users may have problems accessing branches that
   are hosted outside the well-known servers such as sourceforge,
   freedesktop.org, gnome.org, kde.org and some others.  Currently, my
   main internet access is at work (I also have a much slower and more
   expensive access at home, but I barely use it).  It is behind a
   corporate firewall that blocks almost everything and only allows
   some (filtered) web and e-mail access.  In addition, some
   exceptions may be requested for CVS or SSH access to specific hosts
   such as sourceforge.net (there are good business reasons for
   allowing access to some projects on sf.net and the access to the
   other projects also hosted on sf.net is tolerated).  If we move to
   a distributed system, it is likely that it would be rather
   difficult for me to access the branches that are not hosted on a
   well-known server.

So regardless of the system that is selected for the future, I hope
that the development of crossfire will still happen mostly on a
centralized server, hosting the main branch, the maintainance branches
and the more experimental branches.  It is of course possible to use a
system that supports local branches, but I hope that the usage of
local branches will not be encouraged.

-Raphaël



More information about the crossfire mailing list