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 を呼び出すと、例外が発生します。

ファイル '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 に答える