2017-07-20 15 views
2

SubversionにアクセスするためにSharpSvnライブラリを使用しています。特定のフォルダがSubversionリポジトリの一部であるかどうかを確認する必要があります。SharpSvnを使用してSubversionでフォルダがバージョン管理されていることを確認します。

SvnClient client = new SvnClient(); 
Collection<SvnStatusEventArgs> args2; 
bool result1 = client.GetStatus(@"D:\SVNMapping\demo\trunk\NewFolder", new SvnStatusArgs(), out args2); 

結果1が真なっているが、args2 [0] .Versioned値がfalseとして返される -

は、いくつかのグーグルの後、私は以下のコードを発見しました。しかし、上記のフォルダはバージョン管理されており、私は、アイコンに基づいて、それを確認することができます -

enter image description here

私は、このAPIの使用法やAPI自体が私の要件のために間違っている場合には足りないのですかわからないです。

ご協力いただきまして誠にありがとうございます。

+0

を使用することができますか? – kvk938

答えて

2

ディレクトリがバージョン管理下にあるかどうかを確認したい場合は、svn infoを使用する方が簡単です。 SharpSvnではこれを行うことができます。このように:あなたはアイテムがバージョン管理されているリポジトリいるお知りになりたい場合は

/// <summary> 
    /// Checks whether the specified path is under version control or not. 
    /// </summary> 
    /// <remarks> 
    /// Internally, the "svn info" command is used (no network access required). 
    /// </remarks> 
    /// <param name="path">The path to check.</param> 
    /// <returns>True, if the path is under version control, else false.</returns> 
    private bool CheckIfPathIsUnderVersionControl(string path) 
    { 
     using (SvnClient svnClient = new SvnClient()) 
     { 
      // use ThrowOnError = false to avoid exception in case the path does 
      // not point to a versioned item 
      SvnInfoArgs svnInfoArgs = new SvnInfoArgs() { ThrowOnError = false }; 
      Collection<SvnInfoEventArgs> svnInfo; 
      return svnClient.GetInfo(SvnTarget.FromString(path), svnInfoArgs, out svnInfo); 
     } 
    } 

、そしてあなたも、SvnInfoArgsからこの情報を返すことができます。

あなたが本当にオプションRetrieveAllEntriesSvnStatusArgsオプションとhereに設定されている必要があり、なぜそれが説明するので、あなたがthis質問を見ている必要がありsvn statusを使用したい場合。

+0

両方のリンクについてroyalTSに感謝します。どちらも私のために働いています。 – kvk938

+0

@ kvk938うまくいけば、それ以上のユーザーのために受け入れられた答えを記入してください。 – royalTS

0

誰もが私のクエリに対処することができますまた、GetUriFromWorkingCopy()方法

if (client.GetUriFromWorkingCopy(path) != null) 
{ //path under version control 
} 
else { //path not under version control } 
関連する問題