Translate Toolkit & Pootle

Tools to help you make your software local

User Tools

Unofficial GIT mirrors

This page is out-of-date — the Translate project has now switched to Git. Read more about the Translate repositories.

There are unofficial git mirrors of Pootle and of the Translate Toolkit at github. They are usually out of date The repositories are set up so that you can use git-svn to work directly from our master SVN repository once you have cloned the git repositories and followed the steps outlined below.

The repositories are synced every hour. If you would like to do work on Pootle or the Translate Toolkit, then create an account and fork translateorgza's Pootle or Translate Toolkit repositories.

Setting up your repositories to work with SVN

The wonderful git-svn allows you to use git to work directly with SVN repositories. We use git-svn to build the git mirror. Here we show you how to add the information git-svn needs to interoperate with the official SVN repository.

Cloning the repositories

First, clone Pootle and/or the the Toolkit to your computer via git clone. In this example, we'll clone from the translateorgza repositories. Note that we're using the public clone URLs.

git clone git:// 
git clone git:// 

This should leave you with two new subdirectories: translate and pootle.

Downloading git references needed by git-svn

git-svn needs to know how git commits relate to SVN commits. It stores this information under the references refs/remotes. Since remote references are not cloned by git clone, we'll have to fetch these references ourselves:

cd pootle
git fetch git:// +refs/remotes/*:refs/remotes/*
cd ..
cd translate
git fetch git:// +refs/remotes/*:refs/remotes/*
cd ..

Use in the above commands for the repository, since it is sure to contain up to date remote reference information.** ===== Updating .git/config information used by git-svn ===== Finally, you need to do a bit of editing of the git configuration files to tell git-svn the location of the SVN server it needs to use. First, open pootle/.git/config in your favourite text editor, and add the lines: [svn-remote “svn”] url = fetch = src/trunk/Pootle:refs/remotes/trunk Now, open translate/.git/config and add the lines: [svn-remote “svn”] url = fetch = src/trunk/translate:refs/remotes/trunk ===== Final steps ===== Now you simply need run git svn rebase in your repository directories to download the latest changes from SVN. Since your repositories lack git-svn metadata, you might see messages such as: Migrating from a git-svn v1 layout… Data from a previous version of git-svn exists, but .git/svn (required for this version ( of git-svn) does not. exist Done migrating from a git-svn v1 layout Rebuilding .git/svn/trunk/.rev_map.54714841-351b-0410-a198-e36a94b762f5 … r3283 = b4d71b95c5c859b88a178720d811189919c744c0 r3699 = 5d61cbe82d09f345ebccb7fd3181b51ef18aee1e r3707 = fccf428ef0dcbbec6b1bde6cc0d34d5e9669b9c8 r3733 = 5c7a66f8920756ce5a5301aac4dbfef44264fc58 r3734 = c814e923466793c47ceeff4b0158acdd0a3ddf4b … Don't worry about these messages. You should only see them once for each of your repositories. From this point onwards, you will be able to use git-svn to work directly with the main SVN repository. If you have commit access to the SVN repository, you will also be able to commit changes by issuing git svn dcommit''. ===== Notes ===== ==== Branches ==== Currently, we only track the SVN trunks of Pootle and the Toolkit. It is possible to get git-svn to follow branches and we might set up our configuration to handle branches if the need arises. ==== Other mirrored projects ==== The translateorgza account contains some other projects mirrored from SVN. You can clone these projects by using the method described above. If we aren't mirroring a project in which you are interested, please send a request to the mailing list.