Search in sources :

Example 6 with SvnInfo

use of org.tmatesoft.svn.core.wc2.SvnInfo 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();
    }
}
Also used : ConfigurationException(gmm.ConfigurationException) SvnInfo(org.tmatesoft.svn.core.wc2.SvnInfo) SVNException(org.tmatesoft.svn.core.SVNException) SvnGetInfo(org.tmatesoft.svn.core.wc2.SvnGetInfo)

Example 7 with SvnInfo

use of org.tmatesoft.svn.core.wc2.SvnInfo in project GMM by Katharsas.

the class SvnPlugin method retrieveRevision.

/**
 * @return Current revision of remote repository or working copy.
 */
private long retrieveRevision(SvnTarget target) {
    final SvnGetInfo operation = svnOperationFactory.createGetInfo();
    operation.setSingleTarget(target);
    final SvnInfo info = tryRun(operation);
    return info.getRevision();
}
Also used : SvnInfo(org.tmatesoft.svn.core.wc2.SvnInfo) SvnGetInfo(org.tmatesoft.svn.core.wc2.SvnGetInfo)

Aggregations

SvnGetInfo (org.tmatesoft.svn.core.wc2.SvnGetInfo)6 SvnInfo (org.tmatesoft.svn.core.wc2.SvnInfo)6 File (java.io.File)2 SVNException (org.tmatesoft.svn.core.SVNException)2 SvnOperationFactory (org.tmatesoft.svn.core.wc2.SvnOperationFactory)2 ConfigurationException (gmm.ConfigurationException)1 NotNull (org.jetbrains.annotations.NotNull)1 Info (org.jetbrains.idea.svn.info.Info)1 PropertyValue (org.jetbrains.idea.svn.properties.PropertyValue)1 SVNURL (org.tmatesoft.svn.core.SVNURL)1 SVNRevision (org.tmatesoft.svn.core.wc.SVNRevision)1 SvnTarget (org.tmatesoft.svn.core.wc2.SvnTarget)1