Jumping in in the middle again, with some experience from Mozilla after our
switch to hg:

One of they key questions when moving to a dvcs is what goes into which
repo.

This isn't really a requirement of a dvcs, but seems to come with the design
of at least hg, and from glancing at it, git, too.

DVCSes are bad at partial clones. In hg it's straight out impossible, and I
haven't seen an obvious way in git. From my understanding, this comes from
having a unique identifier for a repo so that you know where local commits
would go when you push back upstream or round-robin or in circles and
whatnot.

What we do in Mozilla is:

- one repo for Firefox and Toolkit
- one repo for Thunderbird and Calendar and most parts of SeaMonkey
- helluva more repos on hg or cvs for SeaMonkey
- one repo for each localization for all three products

The rationale for using a single repo per locale, and to not mirror the
split in the en-US products was to optimize for smaller teams, where it's
mostly one person working on everything anyway, and to not have them go
through 5 repos for one locale. The downside is that for bigger teams with
more than one committer, each contributor ends up having to pull and merge
other apps and contributions before being able to push their own changes. In
particular as we only allow one head per named branch on the repos. (User
repos don't have that constraint, though.)

There has been a rather lengthy discussion in our community if that's the
right choice, both on the en-US side and the l10n side. The benefits of a
DVCS just ask for a different set of compromises, sadly.

I can't really tell which setup would be right for GNOME, as I don't know
the community nor the module structure well enough, but if you have concrete
questions, I'll try to come up with concrete answers.

Another thing, release tags are a common source of grief, as that's a given
landing on the l10n repos that are not done by the localization teams, and
thus require them to pull and merge, or not, depending on their local
status.

HTH

Axel

2009/1/8 Gabor Kelemen <kelem...@gnome.hu>

> Thomas Thurman írta:
> > 2009/1/7 Sharuzzaman Ahmat Raslan <sharuzza...@gmail.com>:
> >> What I care is my language po file. Maybe around 15KB.
> >>
> >> Why should I download the whole bunch of data while the one that I need
> is
> >> just a small fraction of it.
> >
> > Indeed, why should you?  You can get it from Damned Lies, can't you?
> >
>
> Because I want/have to do
>
> $ git push
>
> Or can git check out only a single directory or file? I seriously don't
> know, so don't take it as an offence.
>
> I'm asking this because checking out anything other than $LANG.po and
> Changelog, optionally LINGUAS is not really necessary for doing
> translations. (CVS could do this! ;))
>
> With SVN, we have to check out at least the po directory - not much more
>  data, but still worse than CVS wrt to saving badwidth. Taking one more
> step backwards and having to download an entire repo would be quite bad
> in this regard - at least for those with limited bandwidth and until
> Transifex saves them.
>
> Regards
> Gabor Kelemen
> _______________________________________________
> gnome-i18n mailing list
> gnome-i18n@gnome.org
> http://mail.gnome.org/mailman/listinfo/gnome-i18n
>
_______________________________________________
gnome-i18n mailing list
gnome-i18n@gnome.org
http://mail.gnome.org/mailman/listinfo/gnome-i18n

Reply via email to