Re: What can Git do for translators?



Hi all,

I would suggest that GNOME create a tree specifically for translation.

gnome-po.git should be nice.

Then translator only need to clone the tree related to translation and start translating.

After that, he can just send the diff or the whole file via email, or push it somewhere on the net for GNOME to pull back into the gnome-po.git tree.

It's better if the gnome-po.git tree in GNOME server be made commitable via SSH by the translator.

Alternatively, use Transifex, which was used by Fedora Project. No need to learn about git. Just translate :)



On Tue, Jan 6, 2009 at 11:24 PM, Simos Xenitellis <simos lists googlemail com> wrote:
Hi All,

There is a discussion on the gnome developer mailing lists regarding a
possible move
from Subversion (SVN) to a Distributed Version Control System (DVCS)
such as git, which is already used for the Linux kernel, Perl, some
libraries such as clutter.
This post is to help contribute to the discussion.

If you are a GNOME Foundation member, you probably got a survey e-mail
in December on the issue.

The survey results are at
http://blogs.gnome.org/newren/2009/01/03/gnome-dvcs-survey-results/
http://mces.blogspot.com/2009/01/gnome-dvcs-survey.html

The GNOME dev discussion takes place at
http://mail.gnome.org/archives/desktop-devel-list/2009-January/thread.html#00003
The discussion is somewhat heated, so it's no place for translators to
post about.

If a move eventually takes place, it will require time and effort, so
it would not happen within the next six months.

Moving from Subversion (SVN) to a DVCS such as git will have lots of
benefits for the developers, which is very important. Normally, we
expect the KDE project to try these things out first but this time it
appears they are sticking with SVN.

In general, learning a DVCS such as git is a new modern skill. There
are books available,
http://book.git-scm.com/ and you can try it out with a free repository
(100MB) at https://github.com/ or at Gitorious, http://gitorious.org/

The big question is, how would a DVCS affect the GNOME localisation workflows?
Are we going to keep the same easy facilities? Is a DVCS going to make
some things easier?
Is there another big project which supports localisation to many
languages, and it uses a DVCS?

Scenario A
=> Using command line tools, we add a translation to the main repository.

Assume the repository is git://git.gnome.org/gnome-games.git
we make a local copy by 'cloning' the repository ('checkout' is
something different in git)

git clone git://git.gnome.org/gnome-games.git

This would create a very big tree, because it would make a full
offline copy, with all the history for the last ten years or so. When
we use SVN, a checkout of gnome-games is 124MB. The approximate size
of a 'git clone' should be quite larger. My test with 'git-svn clone'
was not conclusive (due to the way it works, it is very slow, I
stopped after an hour, which it downloaded 74MB).

It might be possible to use the --depth parameter in 'git clone',
which can limit how far back the history will go to. Reading the man
page for git-clone, it is not clear if we would be able to 'push' (or
'commit' per SVN) the changes back to the tree.

      --depth <depth>
          Create a shallow clone with a history truncated to the
specified number of revisions. A shallow repository has a number of
limitations (you
          cannot clone or fetch from it, nor push from nor into it),
but is adequate if you are only interested in the recent history of a
large project
          with a long history, and would want to send in fixes as patches.

Scenario B
damned-lies and vertimus should be rather easy to convert to git,
since they would simply need to replace 'svn checkout' with 'git clone
--depth 0'.
Is that the case?

Are there any other issues we need to think about?

Simos
_______________________________________________
gnome-i18n mailing list
gnome-i18n gnome org
http://mail.gnome.org/mailman/listinfo/gnome-i18n



--
Sharuzzaman Ahmat Raslan


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