Dans le cadre du projet Fire Soft Board il a été décidé de créer un dépôts git dédié aux traductions. Pour ce faire il a fallut reprendre els fichiers mais aussi les placer dans des sous répertoires spécifiques. Voici la démarche effectuée.
On désire prendre certaines sous répertoires et les transposer dans le nouveau dépôts.
/Fire-Soft-Board-2/tpl/WhiteSummer/img/fr –> pack/fr/tpl/WhiteSummer/img/fr
/Fire-Soft-Board-2/lang/fr –> pack/fr/lang/fr
- Clone du dépôt principal
git clone https://github.com/FSB/Fire-Soft-Board-2.git
cd Fire-Soft-Board-2 - Nous avons deux sous répertoires, nous créons donc deux clone local
cd ..
git clone Fire-Soft-Board-2 fsb2-tpl-fr
git clone Fire-Soft-Board-2 fsb2-lang-fr - Il faut désormais nettoyer les fichiers mais aussi l’historique des commits dont nous n’avons plus besoin. Pour cela, nous allons simplement dire à git de ne garder que les sous répertories dont nous avons besoin.
cd fsb2-lang-fr
git checkout dev
git filter-branch --subdirectory-filter lang/fr HEAD
git gc --prune --aggressive
cd ..
cd fsb2-tpl-fr
git checkout dev
git filter-branch --subdirectory-filter tpl/WhiteSummer/img/fr HEAD
git gc --prune --aggressive
cd ..
git gc permet de nettoyer l’historique et de compacter l’index. Cela évite ainsi de potentiel mauvaises surprise dans les logs. - Il faut désormais fusionner ces fichiers ainsi que l’historique qui va avec dans le dépôt des traductions. Commençons par cloner celui-ci.
git clone https://github.com/FSB/FSB2-language-packs.git
cd FSB2-language-packs/ - Fusionnons les ressources lié au templates
git remote add -f tpl ../FSB2-tpl-fr/
On effectue un merge mais sans commiter. En mode de merging, on dit que le merge doit s’effectuer non pas sur la base mais sur un sous répertoire précis.
git merge -s ours --no-commit tpl/dev
git read-tree --prefix=pack/fr/tpl/WhiteSummer/img/fr -u tpl/dev
git commit -m'Ajout des sources et de l''historique du pack de langue fr des templates'
- Ensuite, on fait de même pour la traductions en elle-même.
git remote add -f lang ../FSB2-lang-fr/
git merge -s ours --no-commit lang/dev
git read-tree --prefix=pack/fr/lang/fr -u lang/dev
git commit -m'Ajout des sources et de l''historique du pack de langue fr'
- On finit par un petit nettoyage
git gc
git remote rm lang
git remote rm tpl
Pour aller plus loin :
http://progit.org/book/fr/ch6-4.html
Similar Posts:
- None Found