use of gmm.ConfigurationException in project GMM by Katharsas.
the class SvnPlugin method verifyExistingWorkingCopy.
private void verifyExistingWorkingCopy() {
final SvnGetStatus ops = svnOperationFactory.createGetStatus();
ops.setSingleTarget(workingCopy);
ops.setReportAll(logger.isDebugEnabled());
final Collection<SvnStatus> statuses = tryRun(ops, new ArrayList<>(SvnStatus.class));
for (final SvnStatus entry : statuses) {
final SVNStatusType type = entry.getNodeStatus();
final String filePath = entry.getPath().getPath();
if (type != SVNStatusType.STATUS_NORMAL) {
logger.error("Existing working copy is in an invalid state (maybe modified)! " + "Pls fix manually or delete working copy at '" + workingCopy + "'.");
throw new ConfigurationException("Found entry with invalid status in working copy! " + "Relative path: '" + filePath + "'. Status: '" + type + "'.");
}
}
}
use of gmm.ConfigurationException in project GMM by Katharsas.
the class SvnPlugin method initializeWorkingCopy.
/**
* @return Current revision of local working copy.
*/
private void initializeWorkingCopy(File workingCopyFile) {
final String workingCopyString = workingCopyFile.toString();
if (workingCopyFile.exists()) {
if (workingCopyFile.isDirectory()) {
final SvnGetInfo operation = svnOperationFactory.createGetInfo();
operation.setSingleTarget(workingCopy);
SvnInfo info = null;
try {
info = operation.run();
} catch (final SVNException e) {
}
if (info != null) {
logger.info("Located existing working copy at path '" + workingCopyString + "'.");
verifyExistingWorkingCopy();
} else {
logger.warn("Could not locate working copy at path '" + workingCopyString + "'! Creating new one.");
if (workingCopyFile.list().length > 0) {
throw new ConfigurationException("Cannot create new working copy because directory is not empty! Path: '" + workingCopyString + "'");
}
createNewWorkingCopy();
}
} else {
throw new ConfigurationException("Path to working copy is not a directory! Path:'" + workingCopyString + "'");
}
} else {
logger.warn("Could not locate SVN working copy at path '" + workingCopyString + "'! Creating new one.");
fileService.createDirectory(workingCopyFile.toPath());
createNewWorkingCopy();
}
}
Aggregations