Comment puis-je des images convertir en masse enregistrée sous forme de texte / ascii dans svn en binaire?

StackOverflow https://stackoverflow.com/questions/4369734

  •  09-10-2019
  •  | 
  •  

Question

D'une certaine façon les images enregistrées sous forme de texte se sont / ascii et je dois faire récursive cela pour des centaines de répertoires d'images, sous un même répertoire racine de images.

J'ai des instructions ici qui me dit à:

svn proplist <yourfile>
svn propdel svn:eol-style <yourfile>
svn propset svn:mime-type application/octet-stream <yourfile>

Y at-il une certaine façon récursive svn native Je peux le faire? Sinon, quelqu'un pourrait conseiller comment je pourrais récursive appliquer cela avec un script bash?

Était-ce utile?

La solution

Sur le shell:

find -name '*.png' -exec \
sh -c "svn propdel svn:eol-style {} && svn propset svn:mime-type image/png {}" \;

Autres conseils

Je ne dispose pas d'un dépôt Subversion où je peux tester cela, mais il ne devrait pas être trop difficile:

find . -name .svn -prune -o print

Ceci listera tous les fichiers dans votre répertoire de travail (sans les répertoires svn).

Maintenant, vous pouvez combiner cela avec une boucle en lecture

find . -name .svn -prune -o print | while read file
do
   svn propdel svn:eol-style $file
   svn propset svn:mime-type application/octet-stream $file
done

Maintenant, vous remarquerez que je ne suis pas vérifier si les fichiers ont ou non ce jeu de propriété ou non. Je ne me soucie pas seulement. Et, cela va faire tous les fichiers. Si vous voulez seulement faire un type particulier de fichier, vous devrez modifier la commande find:

find . -name .svn -prune -o -name "*.jpg" print

Je vous suggère fortement de commencer avec un répertoire de travail Subversion propre et exécuter un test comme celui-ci:

find . -name .svn -prune -o print | while read file
do
   echo svn propdel svn:eol-style $file
   echo svn propset svn:mime-type application/octet-stream $file
done

Si la sortie de ce qui semble bon, puis retirez-le et laissez echo « rip er.

Le code suivant powershell réaliser ce que vous cherchez à faire:

foreach( $file in get-childitem -name -include *.png -exclude .svn -recurse) {
    &  svn propdel svn:eol-style $file;
    & svn propset svn:mime-type image/png $file
};
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top