Branching a document in git

From FedoraProject

The Fedora Documentation Project maintains the XML source for most Fedora documentation in git repositories on fedorahosted.org. Generally, each repo contains a "master" branch, in which corrections and updates are made, and a set of branches for various Fedora releases. The version of the XML in these branches is stable, and forms the basis for translations by the Fedora Localization Project. We do not generally make incremental changes to the XML in stable branches because to do so would break translations.

Sometime after the release of the Alpha version of a new version of Fedora, we create a new branch for that version, using the updated XML from the master branch and the most recent set of translations from the branch of a previous version of the book.

These instructions are for the leads (maintainers) of formal Fedora documentation.

Once you are sure that the documentation correctly describes the new version of Fedora and that it builds correctly on your system:

Preparation

In the root directory of the checked-out document (the one that contains the publican.cfg file):

0.1 Change into the master branch

git checkout master

0.2 Make sure that your master branch is up to date:

git pull

0.3 Make sure that you have a local copy of the branch with the most recent translations:

git branch --track f13 origin/f13

0.4 Make sure that your Publican installation is the latest version

sudo yum update publican*

Branching

1. Create a new local branch. In the master branch, run:

git branch f21

2. Change into the new local branch:

git checkout f21

3. Push the new branch into the remote repository:

git push origin f21

4. switch to the branch with the most recent translations:

git checkout f13

5. copy all the directories for languages other than English (most named xx-YY, a few named xxx-YY or xx-Zzzz-YY) to a temporary location on your system. Be careful not to copy any files, the US English directory en-US, the pot directory, or any directory that is not named with a language code.

6. switch back to the f21 branch:

git checkout f21

7. copy the translations from the temporary directory that you made in step 4 into the document directory

8. update the document POT files:

publican update_pot

9. update the PO files for each language:

publican update_po --langs=all

10. check your changes into the repo:

git add .

git commit -m"branch for f21"

git push

11. File a bug report against l10n-requests to request that Transifex file submissions be disabled for the f13 branch and enabled for the new f21 branch. Make sure to mention the name of the document in your request.