Frage

Irgendwie Bilder werden als Text / ascii gespeichert und ich muß rekursiv dies für Hunderte von Verzeichnissen von Bildern tun, alles unter einem Root-Verzeichnis images.

ich einige Anweisungen bekam hier , die mir sagen, zu:

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

Gibt es eine nativen SVN rekursive Art und Weise kann ich dies tun? Wenn nicht, könnte jemand raten, wie ich rekursiv dies mit einem Bash-Skript anwenden könnte?

War es hilfreich?

Lösung

Auf der Shell:

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

Andere Tipps

Ich habe keine Subversion-Repository habe, wo ich diese heraus testen, aber es sollte nicht allzu schwierig sein:

find . -name .svn -prune -o print

Dies wird alle Dateien im Arbeitsverzeichnis Liste (ohne die .svn Verzeichnisse).

Jetzt können Sie diese kombinieren mit einer währenden Leseschleife

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

Nun, beachten Sie, ich bin nicht zu überprüfen, ob die Dateien, die Eigenschaft festgelegt haben oder nicht. Ich einfach nicht kümmern. Und wird dies jede Datei tun. Wenn Sie nur eine bestimmte Art von Datei tun möchten, müssen Sie den Befehl find ändern müssen:

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

ich sehr empfehlen Sie mit einem sauberen Subversion Arbeitsverzeichnis zu starten, und einen Test wie folgt ausführen:

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

Wenn der Ausgang dieses sieht gut aus, dann die echo entfernen und lassen ‚er rip.

Der folgende Powershell-Code wird erreichen, was Sie suchen zu tun:

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
};
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top