当我尝试执行批处理文件时,我收到以下错误
ROBOCOPY "C:\test" "C:\test\Source" "*" /E /NP /V /R:3 /XD "bin" "obj" /XF "*.pj" > %log%
svn add * --force %SVNOPTIONS% >>%log%
svn commit -m "Checking in Files" %SVNOPTIONS% >>%log%
svn info -r head >%REVISION_COMMIT%
请告诉我如何解决此问题
svn: '.' is not a working copy svn: Can't open file '.svn\entries': The system cannot find the path specified. svn: 'C:\test' is not a working copy svn: '.' is not a working copy
答案 0 :(得分:4)
原因是"*"
不评估隐藏文件和文件夹。这意味着不会复制包含工作副本管理区域的.svn
目录。
完全删除"*"
一切应该有效:
ROBOCOPY "C:\test" "C:\test\Source" /E /NP /V /R:3 /XD "bin" "obj" /XF "*.pj" > %log%
编辑:这假设测试是一个工作副本,而test \ Source则不是。我不确定你目前的情况。
答案 1 :(得分:0)
您是否将SVN中的文件签出到TEST文件夹中?
答案 2 :(得分:0)
错误很明确:您当前的路径不是C:\ test \ Source,而是c:\ test, (svn:'C:\ test'不是工作副本) 因此,您可以将pushd C:\ temp \ Source添加到脚本中 或者你改成它 svn add C:\ temp \ Source * --force%SVNOPTIONS%>>%log% svn commit C:\ temp \ Source -m“签入文件”%SVNOPTIONS%>>%log%
注意,如果C:\ temp \ Source不是工作副本, 即它没有引用svn存储库中的任何位置,那么你必须先准备它: 鉴于您想将文件添加到svn:// svnserver / trunk / Source文件夹, 你必须运行以下命令: svn checkout svn:// svnserver / trunk / Source C:\ temp \ Source