@NotNull public static RepositoryLocation getLocationFor(@NotNull FilePath root, @NotNull ClientConfigRoot clientRoot, @NotNull ListFilesDetailsResult details) { if (details.getFiles().isEmpty()) { String clientName = clientRoot.getClientConfig().getClientname(); if (clientName == null) { // TODO bundle string clientName = "<unknown>"; } return new LocalRepositoryLocation(clientRoot.getClientConfig().getClientServerRef(), clientName, root); } return new P4RepositoryLocationImpl(clientRoot.getClientConfig().getClientServerRef(), details.getFiles().get(0)); } }
@NotNull @Override public P4CommandRunner.QueryAnswer<ListFilesDetailsResult> listFilesDetails(ServerConfig config, ListFilesDetailsQuery query) { final List<IFileSpec> fileSpecs = FileSpecBuildUtil.escapedForFilePathsAnnotated( query.getFiles(), // TODO replace with more Perforce API way of creating the annotation. query.getRevState() == ListFilesDetailsQuery.RevState.HEAD ? "#head" : "#have", true); return new QueryAnswerImpl<>(connectionManager.withConnection(config, (server) -> new ListFilesDetailsResult(config, cmd.getFilesDetails(server, query.getClientServerRef().getClientName(), fileSpecs).stream() .map((e) -> query.getRevState() == ListFilesDetailsQuery.RevState.HEAD ? P4FileRevisionImpl.getHead(query.getClientServerRef(), e) : P4FileRevisionImpl.getHave(query.getClientServerRef(), e) ) .collect(Collectors.toList())))); }
assertThat(r, instanceOf(ListFilesDetailsResult.class)); ListFilesDetailsResult res = (ListFilesDetailsResult) r; assertSame(serverConfig, res.getServerConfig()); assertSize(1, res.getFiles()); assertEquals(1, res.getFiles().size()); P4FileRevision details = res.getFiles().get(0); assertNotNull(details.getDate());
assertThat(r, instanceOf(ListFilesDetailsResult.class)); ListFilesDetailsResult res = (ListFilesDetailsResult) r; assertSame(serverConfig, res.getServerConfig()); assertSize(1, res.getFiles()); assertEquals(1, res.getFiles().size()); P4FileRevision details = res.getFiles().get(0); assertNotNull(details.getDate());
assertThat(r, instanceOf(ListFilesDetailsResult.class)); ListFilesDetailsResult res = (ListFilesDetailsResult) r; assertSame(serverConfig, res.getServerConfig()); assertSize(1, res.getFiles()); assertEquals(1, res.getFiles().size()); P4FileRevision details = res.getFiles().get(0); assertNotNull(details.getDate());
.blockingGet(UserProjectPreferences.getLockWaitTimeoutMillis(project), TimeUnit.MILLISECONDS); if (result.getFiles().isEmpty()) { if (LOG.isDebugEnabled()) { LOG.debug("No file details found for " + path); return result.getFiles().get(0).getRevisionNumber(); } catch (InterruptedException e) { InternalErrorMessage.send(project).cacheLockTimeoutError(
assertThat(r, instanceOf(ListFilesDetailsResult.class)); ListFilesDetailsResult res = (ListFilesDetailsResult) r; assertSame(serverConfig, res.getServerConfig()); assertSize(1, res.getFiles()); assertEquals(1, res.getFiles().size()); P4FileRevision details = res.getFiles().get(0); assertNotNull(details.getDate());
Collections.singletonList(fp), ListFilesDetailsQuery.RevState.HAVE, 1)) .blockingGet(UserProjectPreferences.getLockWaitTimeoutMillis(project), TimeUnit.MILLISECONDS); if (result.getFiles().isEmpty()) { LOG.info("No P4 file details found for " + file); return null; LOG.debug("Current revision for " + file + ": " + result.getFiles().get(0).getRevision()); return result.getFiles().get(0).getRevision(); } catch (InterruptedException e) { InternalErrorMessage.send(project).cacheLockTimeoutError(new ErrorEvent<>(new VcsInterruptedException(e)));
Collections.singletonList(filePath), ListFilesDetailsQuery.RevState.HEAD, 1)) .blockingGet(UserProjectPreferences.getLockWaitTimeoutMillis(project), TimeUnit.MILLISECONDS); if (result.getFiles().isEmpty()) { LOG.info("No P4 file details found for " + filePath); return null; P4FileRevision res = result.getFiles().get(0); if (LOG.isDebugEnabled()) { LOG.debug("Last revision for " + filePath +": " + res);