@Override public Revision fetchLatestRevisionNumber() throws ScmException { if (LOG.isDebugEnabled()) { LOG.debug( " Fetching latest revision number.\n " + this.scmConnectionInfo + "\n " + this.scmAccessInfo); } final ScmRepository repository = scmConnectionInfo.createRepository(scmManager); final ScmVersion remoteVersion = scmConnectionInfo.getRemoteVersion(); if (remoteVersion != null && "git".equals(repository.getProvider())) { final Revision revision = scmAccessInfo.fetchRemoteGitVersion(repository, remoteVersion); return revision; } else { final ScmProvider provider = createScmProvider(repository); final ChangeLogScmResult result = scmAccessInfo.fetchChangeLog(repository, provider); if (result != null) { final ChangeLogSet changeLogSet = result.getChangeLog(); final Revision revision = findEndVersion(changeLogSet); if (LOG.isDebugEnabled()) { LOG.debug(" Found revision '" + revision + "'."); } return revision; } else if (LOG.isDebugEnabled()) { LOG.debug(" No revision information found."); } return null; } }
private void testCommandLine(String scmUrl, String commandLine) throws Exception { workingDirectory.mkdirs(); ScmRepository repository = getScmManager().makeScmRepository(scmUrl); PerforceScmProviderRepository svnRepository = (PerforceScmProviderRepository) repository.getProviderRepository(); Commandline cl = PerforceCheckOutCommand.createCommandLine( svnRepository, workingDirectory, new ScmRevision("somelabel"), "test-test-maven"); assertCommandLine(commandLine, null, cl); }