1

我的问题很简单,使用 SharpSvn Api,它也应该很容易。这是我所做的:

path = "c:\project";
using (SvnLookClient client = new SvnLookClient())
{
    SvnLookOrigin o = new SvnLookOrigin(path);
    Collection<SvnChangedEventArgs> changeList;
    client.GetChanged(o, out changeList); // <-- Exception
}

当我调用 GetChanged 时,出现异常:

Can't open file 'c:\project\format': 系统找不到指定的文件。

那么,也许我缺少一些东西?或者也许这不是找出在本地存储库中修改的文件和文件夹列表的正确方法?

提前致谢。

4

2 回答 2

2

SharpSvn 中的 SvnLookClient 类相当于“svnlook”控制台应用程序。它是一个低级工具,使存储库挂钩可以使用直接文件访问来查看存储库的特定事务。

您可能想使用 SvnClient 类来查看 WorkingCopy 并且很可能是它的 Status() 或者在某些情况下更简单的 GetStatus() 函数来查看发生了什么变化。

于 2010-04-11T20:15:15.987 回答
0

SvnLookOrigin 构造函数想要的路径实际上是:

path = "c:\project\.svn\";

也就是说,它需要那个特殊的“.svn”目录,而不仅仅是签出源的根目录。

尽管您可能确实想听 Bert 并执行以下操作:

path = "c:\project";
using (SvnLookClient client = new SvnLookClient())
{
    SvnLookOrigin o = new SvnLookOrigin(path);
    Collection<SvnChangedEventArgs> changeList;
    client.GetStatus(o, out changeList); // Should now return the differences between this working copy and the remote status.
}
于 2016-04-12T05:08:40.177 回答