Re: GNOME git repositories?



2006/12/27, BJörn Lindqvist <bjourne gmail com>:
On 12/27/06, Kalle Vahlman <kalle vahlman gmail com> wrote:
> 2006/12/27, Danilo Šegan <danilo gnome org>:
> > I am against having more than one way of accessing source code for
> > GNOME source code.  It's as simple as that.  For the benefit of
> > translators, documentors, artists, and heck, even developers (imagine
> > this: to install GNOME, get gnome-panel using bzr, gtk+ and glib using
> > git, nautilus using SVN, ...).
>
> Or imagine installing other dependencies (like cairo) from git. That
> would be a mess.

For a very long time, jhbuild was basically broken because Cairo
migrated to git.

That's why such tools should be SCM-agnostic (and fixed if they
aren't). Or are you saying that every software that even remotely
relates to GNOME should be in SVN?

> Oh, wait!
>
> I think the existing build systems (jhbuild, garnome) cope with the
> situation relatively well and if not, they should be fixed. And for
> non-developer(ie. coder) input there really should be a more
> user-friendly interface anyway, regardless of what SCM is in the
> bottom (and it shouldn't matter, this is open source right? We can
> make things work together!).

How? I don't see how a more user friendly interface could remove all
the complexity that is created by using many different SCM:s.

For the use case of translators and documentation, it would abstract
the SCM away and thus hide the complexity.

Yes, I know, such tools don't exist. But the question of using other
SCM:s than SVN is not reality yet either. The latter could depend on
such tools and thus create a will to implement them.

Jhbuild
can checkout projects from many different types of SCM:s, but it can't
produce diffs, inspect change sets in the repository or any of the
many other SCM-specific daily tasks that one might want to do.

All the tools I have used give the local changes (the no#1 use-case I
think) with <toolname> diff. Most (if not all) of them have web
interfaces for querying changesets. Checking out stuff does have
differences in the command name(checkout/clone/get), but less
otherwise.

That should get you quite far already, right?

Regardless of how good jhbuild and garnome is, adding more SCM:s
increases the complexity.

I guess it boils down to choice vs. required effort again.

I don't want to have to learn about X number of SCM-systems just
because the GNOME community can't decide which SCM is best. Aspiring
GNOME developers shouldn't have to read the svn book
(http://svnbook.red-bean.com/) AND the (still non-existent) bzr book,
git book, mercurial book and darcs book.

By the same token, I don't want to have to learn about 124124
different C coding styles and that is why we have the GNOME Coding
Style (http://developer.gnome.org/doc/guides/programming-guidelines/code-style.html).

I hope people will realise that it doesn't matter what tool (or coding
style) is the best. What matters is keeping the barrier to entry low
and to reduce the amount of annoyances developers has to go through.
Having one SCM keeps things simple and that is good.

It's good for the novice who doesn't touch code outside the GNOME
project I guess. Then again, that novice probably won't notice the
difference with 'svn diff' and 'git diff' (is there any?).

And there is a good chance of having to learn the basics of other
SCM:s anyway due to dependencies of GNOME or other reasons. Just
because GNOME would be set in stone to use single SCM doesn't make the
rest of the world do so. And no, for the basic usage you don't need to
read the books, short tutorial is enough. I would say that for the
pure novice simply diffing is enough. You probably got the code from a
build tool checkout, and you most likely don't have commit rights
anyway.

But of course if people are not willing to learn new things (and I
guess most people aren't), it's not going to work. Judging by some of
the comments with cvs vs. svn (where the syntax is pretty much
identical), it really seems so.

Which is a pity.

--
Kalle Vahlman, zuh iki fi
Powered by http://movial.fi
Interesting stuff at http://syslog.movial.fi


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