2017-03-15 6 views
0

Mit p4java können Sie Dateien auf verschiedenen Rechnern synchronisieren, daher benutze ich IClient.setRoot(), um den Stamm entsprechend zu ändern. Aber IClient.setRoot() ändert nicht wirklich das root im Client-Objekt. Ich schaute im Debugger direkt nach dem Aufruf von setRoot()p4java client setRoot funktioniert nicht

Hier ist mein Code nach der Verbindung mit dem Server.

Client ist ein IClient und p4Server ist ein IServer.

die prop Funktionen ziehen einfach Eigenschaften Einträge für Arbeitsbereich und root dir

Was ich SetRoot() Arbeit fehle zu machen. Vielen Dank!

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); 

Antwort

1

Sie müssen den Client auf dem Server aktualisieren - die setCurrentClient() tut dies nicht.

Verwandte Themen