Re: git submodules vs translators



On Thu, 2013-06-27 at 20:01 -0400, Colin Walters wrote:
The use of git submodules in GNOME is growing - there's libgd,
egg-list-box, and my own libgsystem, among others.  Broadly speaking, I
think that's a good thing.  They offer a reasonable set of tradeoffs
compared to "copylibs" like the old libegg model.

However, git submodules are easy to screw up unless everyone committing
to the repository is aware of how they work.  This collides badly with
our current translation system where many translators commit directly to
git, resulting in commits like this one:

https://git.gnome.org/browse/gnome-control-center/commit/?id=c87483acb4cce36ffad215396dbaa4cea801c970

That commit reverted two submodules.  The gnome-ostree continuous
integration system made it fairly obvious when I looked at the build
error, but two things should happen:

1) Translators:  Ensure you run "git submodule update --init" after
   every git pull.
2) We need some sort of sanity check in a pre-receive hook.  Something  
   like "commits whose subjects match the regexp "Update.*translation"
   are rejected if they modify submodules.
   Or even stronger, one idea is that modules can opt-in to having a
   file "submodule-check" which must change content for commits which
   update submodules.  The downside of that is it would conflict
   on branch merges, but then again, the submodules would anyways.

I fear docs contributors might accidentally break this too. Heck, I
didn't even know about it until your email. Instead of checking what
was changed, could we check who's pushing? We know the maintainers
from the DOAP files. Could we somehow enforce that only maintainers
of a repo can push commits that update submodules for that repo?

--
Shaun






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]