svn:'。'不是工作副本

时间:2009-12-24 10:09:41

标签: svn

当我尝试执行批处理文件时,我收到以下错误

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

3 个答案:

答案 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