2010-12-20 75 views
1

我想知道是否有人在使用SmushIt,PunyPNG或任何優化腳本進行提交之前嘗試使用預先提交的SVN掛鉤來「抹掉」圖像。預先提交SVN Hook +圖像優化腳本

我試着在谷歌上看,但看起來像沒有人試圖做到這一點。

我需要建議和/或反饋。

謝謝!

回答

1

我承認,我並沒有完全回答這個問題,但我試圖讓你走上一條更好的道路。你真的不應該在開始提交或預先提交鉤子中混淆提交的內容。此外,您是否不希望在存儲庫中保留原始未更改的圖形,以防萬一「sm」「操作會破壞圖像或不符合您的喜好,您可以始終將原始圖像從回購庫中取出並重新編輯?

現在在你的情況下,我建議設置一個提交後腳本,檢測圖形文件已被提交,然後在圖像不符合某些標準時調用你的「smush」工具大小等)。一旦圖像應用了「smush」,然後將其提交回存儲庫。

2

預提交掛鉤不應該修改即將提交的事務。從svn book

雖然鉤子腳本幾乎可以做任何事情 ,存在 一名維其中鉤子腳本的作者應該表現出剋制 :不要修改使用鉤子腳本提交 交易。雖然 它可能是很有誘惑力的使用鉤子 腳本來自動修正錯誤 ,不足之處,或政策出現在被 承諾,這樣的文件 違規可能會導致 問題。 Subversion保留客戶端 數據庫中某些位的緩存,並且如果以這種方式更改提交 事務,則這些緩存 會變得無法檢測到陳舊。這種不一致可能導致令人驚訝的 和意外的行爲。而不是 修改交易,你應該 簡單地驗證 預先提交鉤子中的交易,如果它不符合所需的 要求,則拒絕提交 。作爲獎勵,您的用戶 將學會謹慎的,遵守標準的工作習慣的價值。

一個更安全的方法是簡單地檢查預提交鉤子中的圖像,如果不滿足條件,則拒絕提交。 (您的項目中仍可能有一個「sm」「腳本,並且提交者只需記住在每次涉及圖像的提交之前手動運行它。)

如果您確定要真正修改即時修改提交,您仍然可以在客戶端安全地執行此操作。例如,TortoiseSVN有client-side hook scripts