[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