是否可以在 Java 中仅检出 cvsclient 中的目录结构?

Is it possible to checkout only the directory structure in cvsclient in Java?

我正在使用 org-netbeans-lib-cvsclient.jar 在与 CVS 通信的 java class 中执行各种 cvs 命令。我可以执行 cvs checkout 命令、添加、提交等。

但是,我需要找出哪个命令等同于 cvs ls -R 命令。

这是我编写的允许执行 cvs 签出的代码:

CheckoutCommand command = new CheckoutCommand();
command.setBuilder(null);
command.setRecursive(true); 
command.setModule(module);
if(revision!=null)
{
   command.setCheckoutByRevision(revision);
}
command.setPruneDirectories(true);
command.setUseHeadIfNotFound(true); 

executeCommand(command, AnonymizerConstants.DEFAULT_LOCAL_PATH);

我需要为 CVS ls -R 或 CVS rls 做类似的事情

这个库中没有这样的命令,但好消息是你可以写这个命令。你基本上需要像 org.netbeans.lib.cvsclient.command.log.LogCommand 这样的东西。您需要的主要方法是 #execute。这可以作为起点:

List<Request> requests = new LinkedList<Request>();
requests.add(1, new ArgumentRequest("-R")); 
requests.add(new CommandRequest("ls\n"));
client.processRequests(requests);

我找到了一个命令,它是 RLogCommand,它允许我获取服务器上所有文件的列表及其修订和相关信息。