我有几个php
- SVN控制下的项目。我希望在客户端更新后删除已编译的php-template文件;这些文件位于./tmp/smarty/compile
文件夹中。因此,使用Windows命令行我可以使用
del /Q path_to_my_project\tmp\smarty\compile
如果我在cmd.exe中运行此命令,则所有文件都已成功删除。
使用项目属性tsvn:postupdatehook
我应该使用%REPOROOT%
占位符作为项目路径。所以我的命令变为:
del /Q %REPOROOT%\tmp\smarty\compile
del
是cmd.exe
命令,因此我需要先运行cmd.exe
,然后运行所需的命令。所以最后我的钩子命令看起来像:
cmd.exe /c del /Q %REPOROOT%\tmp\smarty\compile
当我使用Win+R
(reporoot
更改为完整路径)运行时,它也能正常工作。
然后我将此行放入SVN属性(我应该将\
斜杠替换为/
,overwise SNV返回http
- 存储库的路径,而不是本地路径),并尝试更新项目。 TortoiseSVN问我是否想要运行钩子:
cmd.exe /c del /Q D:\_projects\webCakePHP\.....\tmp\smarty\compile
所以这里reporoot
已成功转换为正确的工作副本路径。
一切都很好,但是当我运行这个钩子时,它成功删除了tmp\smarty\compile
中的文件,但是它还删除了工作副本目录中的所有文件。
问题是,我做错了什么,以及如何在更新后正确删除文件。
我尝试过某种方式引用引号,但它根本没有删除任何内容,或者说没有这样的目录。
感谢
答案 0 :(得分:0)
作为我问题的替代解决方案,我在%REPOROOT%/bin
文件夹中创建了pushd %~dp0..\tmp\smarty\compile
del /Q *
popd
文件,删除了文件:
%REPOROOT%/bin/clearCache.bat
我的钩子cmd字符串是bat
。
这不是我的问题的准确答案,因为它需要print (df)
id count
0 1 100
1 2 200
2 3 300
#if first index is 0
print (type(df.loc[0, 'id']))
<class 'numpy.int64'>
- 文件创建并且不是单行挂钩。