in clearcase-server/src/jetbrains/buildServer/buildTriggers/vcs/clearcase/ClearCaseConnection.java [595:623]
protected void updateCurrentView() throws VcsException {
Semaphore semaphore;
final String viewPath = myViewPath.getClearCaseViewPath();
synchronized (viewName2Semaphore) {
semaphore = viewName2Semaphore.get(viewPath);
if (semaphore == null) {
semaphore = new Semaphore(1);
viewName2Semaphore.put(viewPath, semaphore);
}
}
try {
semaphore.acquire();
// final String log = writeLog ? UPDATE_LOG : (SystemInfo.isWindows ? "NUL" : "/dev/null");
executeAndReturnProcessInput(new String[] { "update", "-force", "-rename", "-log", UPDATE_LOG /*log*/}).close();
} catch (IOException e) {
if (e.getLocalizedMessage().contains("is not a valid snapshot view path")) {
//ignore, it is dynamic view
LOG.debug("Please ignore the error above if you use dynamic view.");
} else {
throw new VcsException(e);
}
} catch (InterruptedException e) {
throw new VcsException(e);
} finally {
semaphore.release();
FileUtil.delete(new File(getViewWholePath(), UPDATE_LOG));//TODO: ????????
}
}