簡體   English   中英

項目屬性中的TortoiseSVN客戶端掛鈎(刪除緩存文件)

[英]TortoiseSVN client-side hooks in project properties (delete cache files)

我在SVN控制下有幾個php -projects。 我想在客戶端更新后刪除編譯的php-template文件; 這些文件位於./tmp/smarty/compile文件夾中。 因此,使用Windows命令行,我可以使用

del /Q path_to_my_project\tmp\smarty\compile

如果我在cmd.exe中運行此命令,則所有文件都將被成功刪除。

使用項目屬性tsvn:postupdatehook %REPOROOT%我應該使用%REPOROOT%占位符作為項目路徑。 所以我的命令變成:

del /Q %REPOROOT%\tmp\smarty\compile

delcmd.exe命令,因此我需要先運行cmd.exe ,然后再運行所需的命令。 所以最后我的鈎子命令看起來像:

cmd.exe /c del /Q %REPOROOT%\tmp\smarty\compile

當我使用Win+R (將reporoot更改為完整路徑)運行它時,它也可以正常工作。

然后,將這一行添加到SVN屬性中(我應該將\\斜杠替換為/ ,將SNV過度返回http -path到存儲庫,而不是本地路徑),並嘗試更新項目。 TortoiseSVN詢問我是否要執行掛接:

cmd.exe /c  del /Q D:\_projects\webCakePHP\.....\tmp\smarty\compile

因此,這里reporoot已成功轉換為正確的工作副本路徑。 一切看起來都很好,但是當我運行此鈎子時,它成功刪除了tmp\\smarty\\compile文件,但也刪除了工作副本dir中的所有文件

問題是,我在做什么錯,以及如何以正確的方式刪除文件。

我試圖以某種方式加上引號,但它根本不刪除任何內容,或者說沒有這樣的目錄。

謝謝

作為我問題的替代解決方案,我在%REPOROOT%/bin文件夾中創建了.bat文件,該文件刪除了以下文件:

pushd %~dp0..\tmp\smarty\compile
del /Q *
popd

我的鈎子cmd字符串是%REPOROOT%/bin/clearCache.bat

這不是我的問題的確切答案,因為它需要創建bat文件,並且不是單行鈎子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM