git repository layout
Brian J. Tarricone
bjt23 at cornell.edu
Sat May 16 22:28:14 CEST 2009
So I feel like I'm mentally doing a 180 here.
Originally I was very much in favor of dispensing with the separate xfce
and goodies repositories, and having a big flat namespace in the new git
repo with everything in the root.
My semi-OCD need for organisation in stuff like this is cringing, though.
Nick mentioned fd.o's organisational structure (see
http://cgit.freedesktop.org/), and I kinda like that sort of idea.
I've also been looking this while coming up with replacements for our
existing svn-based infrastructure. Things like:
1. The svn commit permissions config file is separated into xfce and
goodies. This is nice from a management perspective because the goodies
all have similar permissions models, which is different from the xfce repo.
2. The xdt-i18n script allows translators to separately check out the
xfce repo and goodies repo. If we merge everything into one big repo,
there won't be the option to limit this (unless we again arbitrarily
partition everything), and the number of modules might be intimidating
to new translators. And also -- this might be a bit of a controversial
thing to say, but -- having the core Xfce desktop checked out by
xdt-i18n as 'xfce' implicitly encourages new translators that that's the
place to start, and I like that. I think it's more important that (for
example) xfwm4 is fully translated than it is for some random panel
plugin. This might sound a bit "mean" to the goodies developers but...
well, that's what I think. Take it as you will.
3. Xfce core components normally have Xfce 4. branches. Goodies
don't. That's at least a repo management distinction, and that, as much
as an 'xfce/' prefix in the module name, also makes a distinction as to
where the module is.
I could probably come up with more points, but... I won't, because I'm
hungry and my friends are waiting on me for lunch.
Basically, looking at this from the infrastructure perspective, I'm
seeing more useful reasons for having separate repositories. And
really, with git they wouldn't even have the "separate repo" technical
distinction that they do with svn. All git modules/repos are separate
repos anyway. Having prefixes on them is just a matter of directory
structure on the server. They'll all have the same repo structure, and
in this case I'd actually probably argue that we get rid of
goodies-commits and funnel all commits from git into the same
xfce-commits list (though I'm not totally set on this).
So, what do people think? I know this is kinda a long email, and many
of you may not care, so I'll consider no reply as a response of, "Brian,
do whatever you want." ^_~
More information about the Xfce4-dev