1

ディレクトリの深さに関係なく、SVN 作業コピー内のバージョン管理されていないすべてのファイルを一覧表示しようとしています。コマンド ラインでのシナリオから始めましょう。私の最終的な目標は、SVNKit でこれを行うことです。

ホームディレクトリで次のコマンドを実行すると、

svnadmin create svnrepo
svn mkdir file:///home/foobar/svnrepo/myproj -m "New proj"
svn co file:///home/foobar/svnrepo/myproj
cd myproj
mkdir -p trunk/path/to/new/folder
touch trunk/path/to/new/folder/file.txt
svn status

次の出力が表示されます。

?       trunk

私が見たいものはfile.txtリストにあります。を追加するtrunkと、すべてのファイルが表示されることはわかっていますが、私のシナリオではこれを行うことはできません。

SVNKit では、 を呼び出してgetStatusClient().doStatus( new File(myWorkingCopy), SVNRevision.HEAD, SVNDepth.Infinity, false, true, false, false, handler, null)います。私のhandler実装ISVNStatusHandlerとメソッドはISVNEventHandler、それがバージョン管理さhandleStatus()れていないことだけを認識しtrunkます。たぶん予想通り。

SVNKit を使用して作業コピーのルートのステータスを照会することで、バージョン管理されていないすべてのファイルのリストを取得できるかどうか (またはその方法) を知っている人はいますか?

ありがとう

4

1 に答える 1

1

これは、純粋な SVNKit の機能では不可能であると確信しています (*)。代わりに、バージョン管理されていないディレクトリに遭遇した場合、バージョン管理されていない再帰を自分で行う必要があります。

(*) を見てくださいSVNStatusEditor17.getDirStatus:for(String name : allChildren)ループでは、バージョン管理されたディレクトリの場合 ( nodeInfo != null) 再帰があります。ただし、sendUnversioned無い場合もございます。

于 2012-06-29T13:54:40.640 に答える