SharpSVNを使用して、ディレクトリの下にあるすべてのバージョン管理されていないファイルをSVNに追加したいと思います。
最初にコマンドラインで通常のsvnコマンドを試しました。
C:\temp\CheckoutDir> svn status -v
すべてのサブディレクトリ、すでにチェックインされているすべてのファイル、「?」というラベルの付いたいくつかの新しいファイルが表示されますが、「L」ロックの表示はありません
C:\temp\CheckoutDir> svn add . --force
これにより、すでにバージョン管理下にあるサブディレクトリ内のすべての新しいファイルが追加されます。
SharpSVNを使用して同じことをしたいと思います。同じディレクトリにいくつかの追加ファイルをコピーして、次のコードを実行します。
...
using ( SharpSvn.SvnClient svn = new SvnClient() )
{
SvnAddArgs saa = new SvnAddArgs();
saa.Force = true;
saa.Depth = SvnDepth.Infinity;
try
{
svn.Add(@"C:\temp\CheckoutDir\." , saa);
}
catch (SvnException exc)
{
Log(@"SVN Exception: " + exc.Message + " - " + exc.File);
}
}
ただし、SvnExceptionが発生します。
- SvnException.Message:作業コピー'C:\ temp\CheckoutDir'がロックされています
- SvnException.File:.. \ .. \ .. \ subversion \ libsvn_wc \ lock.c "
私のコードでは他のsvnclientインスタンスが実行されていません。また、呼び出してみました
svn.cleanup()
追加の直前ですが、役に立ちません。
ドキュメントはかなり曖昧なので;)、ここの誰かが答えを知っているかどうか疑問に思いました。
前もって感謝します!
1月