如何使用SVN CLI和/或SVNKit列出所有未设置版本的文件?

如何使用SVN CLI和/或SVNKit列出所有未设置版本的文件?,svn,svnkit,Svn,Svnkit,我试图列出我的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

我试图列出我的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(新文件(myWorkingCopy)、SVNRevision.HEAD、SVNDepth.Infinity、false、true、false、handler、null)
。我的
handler
实现了
ISVNStatusHandler
ISVNEventHandler
,而
handleStatus()
方法只看到
trunk
未版本化。可能和预期的一样

是否有人知道是否有可能(或如何)通过使用SVNKit查询我的工作副本根目录下的状态来获取每个未版本化文件的列表


谢谢

我很确定这是不可能的,因为纯粹的SVNKit功能(*)。相反,当您遇到一个未版本化的目录时,您需要自己执行未版本化的递归


(*)查看
SVNStatusEditor17.getDirStatus
:在
for(字符串名称:allChildren)
循环中,如果目录是版本化的(
nodeInfo!=null
),则存在递归。但是,如果是
senduversioned
,则不存在任何版本。

我非常确定,这是纯SVNKit功能(*)所无法实现的。相反,当您遇到一个未版本化的目录时,您需要自己执行未版本化的递归


(*)查看
SVNStatusEditor17.getDirStatus
:在
for(字符串名称:allChildren)
循环中,如果目录是版本化的(
nodeInfo!=null
),则存在递归。但是,如果是
senduversioned
,则没有问题。

您问题的SVN CLI部分与此问题重复:对不起,我看到了,但我需要仔细设置我的真实问题。您问题的SVN CLI部分与此问题重复:对不起,我看到了,但我需要仔细设置我的真实问题。