Accéder au contenu.
Menu Sympa

trad-gnu - Re: [Trad Gnu] Migration de www vers un autre VCS : Git ?? Bazaar ?

Objet : Liste de travail pour la traduction de la philosophie GNU (liste à inscription publique)

Archives de la liste

Re: [Trad Gnu] Migration de www vers un autre VCS : Git ?? Bazaar ?


Chronologique Discussions 
  • From: Thérèse Godefroy <godef.th AT free.fr>
  • To: "trad-gnu AT april.org" <trad-gnu AT april.org>
  • Subject: Re: [Trad Gnu] Migration de www vers un autre VCS : Git ?? Bazaar ?
  • Date: Thu, 12 Mar 2015 13:34:58 +0100
  • Openpgp: id=380791EF

Bonjour tout le monde,

On 09/03/2015 12:49, Thérèse Godefroy wrote:
> On 09/03/2015 10:57, D. Barbier wrote:
[...]
>> il faut travailler sur une copie du dépôt git, utiliser « git
>> filter-branch --tree-filter » pour réécrire tous les commits,
>> supprimer .git/refs/original/, et enlever les anciens objets avec
>> git -c gc.reflogExpire=now gc --prune=all
>> Je peux t'aider si tu veux essayer.
>>
>> Denis
>
>
> Bonjour Denis,
>
> Je suis larguée.
[...]

J'y suis tout de même arrivée après pas mal de prise de tête. Méthode
très bourrin :

git filter-branch -f --tree-filter '
find . -name "*.po" > /tmp/list
echo
while read f; do
msgcat $f > /tmp/f || true
if [ -s /tmp/f ]; then
mv /tmp/f $f
fi
done < /tmp/list
' HEAD

Ça a pris 3 heures avec utilisation alternée à 100% des 2 CPU. En cours
de route, msgcat a relevé des erreurs de formatage dans certains
fichiers et ne les a pas modifiés. J'ai vérifié que les fichiers no-wrap
envoyés en 2008 ont bien été reformatés à 79 colonnes.
Le résultat est assez décevant : 23 Mo après compactage par la méthode
de Denis (voir plus haut), alors que le dépôt original pèse 21 Mo si je
le compacte de la même façon.

Ce qui améliore bien les choses, c'est de faire un compactage agressif :
git -c gc.reflogExpire=now gc --prune=all --aggressive
Après ça, le pack du dépôt original ne pèse plus que 10.3 Mo, et le pack
du dépôt filtré 10.9 Mo.
Le seul problème, c'est que ça utilise les 2 CPU simultanément à 100%
pendant une à 2 min. Pour www, j'imagine qu'il faudrait pas loin d'une
heure.


En fin de compte, la taille de www ne nous intéresse pas vraiment. Il y
aura toujours beaucoup trop de fichiers qui ne nous servent à rien et de
toute façon l'historique est déjà dans www-fr. Si www devient un dépôt
Git, est-ce qu'on ne pourrait pas aussi y accéder par rsync ? Cela
suppose qu'il y aurait un répertoire de travail sur Savannah, pas juste
un dépôt nu.
- Sur le client, les anciennes versions seraient simplement remplacées
par les nouvelles, mais comme en principe on ne modifie pas les fichiers
dans www ça ne poserait pas de problème.
- Sur le serveur, un script commiterait automatiquement les fichiers
envoyés par rsync. La difficulté est qu'il faudrait envoyer le message
de commit avec les fichiers modifiés. Le plus pratique, pour éviter
erreurs et oublis, serait peut-être une interface web avec une zone de
saisie pour écrire le message. Peut-être aussi que ça faciliterait le
recrutement des coordinateurs.

Qu'en pensez-vous ?

Thérèse








Archives gérées par MHonArc 2.6.18.

Haut de le page