乌龟SVN可以工作,但命令行SVN无法工作?

3

我通常使用TortoiseSVN,它工作得很好。每当我尝试从命令行使用SVN时,就会出现一个错误信息。

c:\code\MyProject> svn status
svn: '.' is not a working copy 

尽管我通常使用TortoiseSVN在同一个目录下工作,但我仍然遇到了错误。

这个问题的解决方案是什么?


为什么不标记为与编程无关?这是关于一个出现故障的重要编程工具的问题... - George Mauer
3个回答

7

请检查TortoiseSVN和SVN是否是相同的客户端版本。在Windows资源管理器中,右键单击 -> TortoiseSVN -> 关于。您的版本信息将如下所示:

TortoiseSVN 1.6.5, Build 16974 - 32 Bit , 2009/08/20 08:13:46
Subversion 1.6.5,
apr 1.3.8
apr-utils 1.3.9
neon 0.28.6
OpenSSL 0.9.8k 25 Mar 2009
zlib 1.2.3

我的客户端版本是“Subversion 1.6.5”。从命令行执行以下操作:

svn --version

您将得到类似于这样的内容:
svn, version 1.6.4 (r38063)
compiled Aug  5 2009, 12:42:52

Copyright (C) 2000-2009 CollabNet.</pre>

小版本差异通常是可以接受的,但大版本差异可能会导致问题。

另一个需要检查的是,你是否在两个版本中都存储了 ".svn" 目录下的 SVN 信息。TortoiseSVN 可以让你更改为使用 "_svn" 而不是 ".svn"(在 TortoiseSVN -> 设置 -> 通用 中)。这可能会给你带来问题。


1

你可以尝试进入更深一层的文件夹,看看是否有相同的问题。

c:\code\MyProject\folder> svn status

或者

c:\code\MyProject> svn status folder

我了解svn的工作原理...我肯定在一个工作目录中。无论我从哪里输入svn status,我都会得到那个消息。 - George Mauer
正如 Steve N 之前指出的那样,请验证您的 svn 管理文件夹是否命名为 .svn 或 _svn。如果是后者,则需要一个自定义的命令行 svn.exe,以处理 _svn 文件夹。 - Marcel Gosselin

0

这是因为在尝试运行“svn”时,您没有提供完整的svn安装路径。例如:

TortoiseProc.exe /command:checkout /url:"<<您的存储库URL>>" /path:"<<您的工作副本路径>>" /closeonend:1 /notempfile /

最好使用GUI界面。

P.S. TortoiseProc.exe必须在您的PATH中。


谢谢回复 - 你发布的代码是做什么用的?我会使用GUI,但有时命令行更快 - 特别是当TortoiseProc出现问题时。 - George Mauer
我已经编辑了我的示例命令,使其更加明确。希望这有所帮助。 - EToreo
如果您想运行命令行,请下载SVN二进制文件http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100。 - AndrewB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接