SVNのテキスト/ASCIIとして保存された画像をバイナリに大量に変換するにはどうすればよいですか?
-
09-10-2019 - |
質問
どういうわけか画像はテキスト/ASCIIとして保存され、私は何百もの画像のディレクトリのためにこれを再帰的に行う必要があります。 images
ディレクトリ。
いくつかの指示がありました ここ それは私に言う:
svn proplist <yourfile>
svn propdel svn:eol-style <yourfile>
svn propset svn:mime-type application/octet-stream <yourfile>
これを行うことができるネイティブSVNの再帰的な方法はありますか?そうでない場合、誰かがこれをバッシュスクリプトで再帰的に適用する方法をアドバイスできますか?
解決
シェル:
find -name '*.png' -exec \
sh -c "svn propdel svn:eol-style {} && svn propset svn:mime-type image/png {}" \;
他のヒント
これをテストできるSubversionリポジトリはありませんが、それほど難しくないはずです。
find . -name .svn -prune -o print
これにより、ワーキングディレクトリ内のすべてのファイルがリストされます(.svnディレクトリをサン)。
これで、これをしばらく読むループと組み合わせることができます
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
これで、ファイルがそのプロパティセットを持っているかどうかを確認していないことに気付きました。私は単に気にしません。そして、これはすべてのファイルを実行します。特定のタイプのファイルのみを実行する場合は、変更する必要があります find
指図:
find . -name .svn -prune -o -name "*.jpg" print
きれいなSubversionワーキングディレクトリから始めて、次のようなテストを実行することを強くお勧めします。
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
それの出力が良さしている場合は、 echo
そして、 'er ripしましょう。
次のPowerShellコードは、あなたが探していることを実現します。
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
};
所属していません StackOverflow