使用p4java同步不同机器上的文件,所以我使用IClient.setRoot()来相应地更改根目录。但是IClient.setRoot()实际上并不改变客户机对象中的根。我在调用setRoot()之后立即查看了调试器
这是我连接到服务器后的代码。
client是IClient,p4Server是IServer。
prop函数只是拉取工作空间和根目录的属性条目
要使setRoot()正常工作,我还缺少什么。谢谢!
client = p4Server.getClient(prop.getString("perforce.workspace"));
if (client == null) {
logger.error("Failed to fetch workspace: {}", prop.getString("perforce.workspace"));
} else {
File p4Dir = new File(prop.getPath("perforce.scripts.dest"));
if (!p4Dir.exists()) {
p4Dir.mkdirs();
}
client.setRoot(p4Dir.getPath());
logger.debug("Setting p4sync dest root to: {}",p4Dir.getPath() );
p4Server.setCurrentClient(client);发布于 2017-05-02 06:19:19
您必须更新服务器上的客户端- setCurrentClient()不会执行此操作。
client.setRoot(p4Dir.getPath());
logger.debug("Setting p4sync dest root to: {}",p4Dir.getPath() );
client.update();
p4Server.setCurrentClient(client);https://stackoverflow.com/questions/42818060
复制相似问题