2010-12-20 18 views
1

SmushIt、PunyPNG、または任意の最適化スクリプトを使用してコミットする前に誰かが画像を "スマッシュ"するためにSVNフックをプリコミットしようとしていたのだろうかと思いました。前コミットSVNフック+画像最適化スクリプト

私はGoogleを見てみましたが、誰もこれをやろうとしたことがないようです。

私はアドバイスやフィードバックが必要です。

ありがとうございます!

答えて

1

私は確かに質問に答えているわけではありませんが、私はあなたをより良い道に導こうとしています。実際には、開始コミットまたは事前コミットフックでコミットの内容を混乱させるべきではありません。また、オリジナルの変更されていないグラフィックをリポジトリに残したくないので、「スムーズ」操作で画像が壊れたり、好みに合っていない場合はいつでもオリジナルを元に戻して編集し直すことができます。

あなたのケースでは、グラフィックスファイルがコミットされたことを検出するポストコミットスクリプトをセットアップし、画像が特定の基準を満たさない場合は「スマッシュ」ツールを呼び出すことをお勧めしますサイズなど)。イメージに "スマッシュ"が適用されたら、それをリポジトリに戻します。

2

プリコミットフックは、コミットしようとしているトランザクションを変更しないでください。 svn bookから:フックスクリプトを使用して トランザクションをコミット変更しないでください:

フックスクリプトはほとんど 何もすることができますが、フックスクリプトの作者が 拘束を示すべき 内の1つの次元があります。それは スクリプトを自動的に正しい エラー、欠点、または がコミットされたファイルに存在するポリシー 違反をするフックを使用したくなるかもしれません ますが、そうすること 問題を引き起こす可能性があります。 Subversionは、クライアント側の のリポジトリの特定のビットのキャッシュを保持しています。この方法でコミット トランザクションを変更すると、これらのキャッシュ は検出不能に失効します。この の矛盾は、驚くべき の予期しない動作につながります。 の代わりに、 は プリコミットフックでトランザクションを検証し、 の要件を満たしていない場合はコミット を拒否するだけです。ボーナスとして、あなたのユーザー は、慎重な、従業員の習慣に敏感な の価値を学びます。

より安全な代替手段は、単にプレコミットフックの画像をチェックし、基準が満たされない場合にコミットを拒否することです。 (あなたはまだあなたのプロジェクトに「スマッシング」スクリプトを持つことができ、コミッターはイメージを含む各コミットの前に手作業でそれを実行することを忘れないでください)それでもクライアント側で安全に実行できる可能性があります。たとえば、TortoiseSVNはclient-side hook scriptsです。

関連する問題