Question

Est-il possible de fixer / by-pass non-UTF8 svn codé: les enregistrements du journal lors de la synchronisation avec les référentiels svnsync

Historique

Je suis en train de prendre en charge l'entretien d'un module open source qui est stockée dans un grand (plus de 10 000 révisions) du dépôt subversion (1.5.5). Je n'ai pas accès administrateur au dépôt distant à décharge / filtre / charge le module. Le vieux dépôt est interrompu et je suis en train de synchroniser le sous-module d'origine à mon dépôt local (1.6+) avec svnsync. Par exemple:

svnsync file://home/svn/temp-repo/ http://path.to.repo/modulename/

Le problème est que l'ancien référentiel n'a pas appliqué UTF8 et je suis frappé des erreurs comme:

svnsync: Cannot accept 'svn:log' property because it is not encoded in UTF-8

Je ne peux pas modifier la propriété du journal dans le référentiel source, alors je dois modifier d'une façon ou d'ignorer la valeur de la propriété lorsque l'encodage est inconnue / non valide.

Toutes les idées?

Par exemple:

  • peut un script pre-revprop-change modifier la propriété du journal en transit?
  • On me dit que git-svn peut le manipuler, mais en utilisant un git intermédiaire - comment est-ce fait exactement
  • serait-il possible d'ignorer les propriétés du journal tout à fait, ou pour des révisions particulières
Était-ce utile?

La solution

Vous devrez attendre la prochaine version de Subversion, il y a un en attente patch pour ajouter le support pour les codages non-UTF8 à svnsync.

Autres conseils

Vous devez modifier pre-revprop-change.tmpl

# cp pre-revprop-change.tmpl pre-revprop-change.tmp
# vim pre-revprop-change.tmp
exit 1 ==> exit 0

Dans le cas contraire, vous pouvez utiliser svnadmin setrevprop pour modifier les mises en pension

Il y a une solution facile pour cela. Changer l'entrée du journal dans le référentiel source avec ces déclarations:

Exemple avec révision 10281 et dépôt dans / home / svn / repo

svn proplist -v --revprop -r 10281 file:///home/svn/repos | iconv --to-code UTF8//IGNORE -o /tmp/iconv.out

svn propset svn:log --revprop -r 10281 -F /tmp/iconv.out file:///home/svn/repos

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top