protected void createHiddenBranch(final PullRequest pullRequest) { final Path source = this.buildPath(pullRequest.getSourceRepository(), pullRequest.getSourceBranch()); final Path target = this.buildHiddenPath(pullRequest); ioService.copy(source, target); if (logger.isDebugEnabled()) { logger.debug("Hidden branch {} created.", target.toString()); } }
protected void createHiddenBranch(final PullRequest pullRequest) { final Path source = this.buildPath(pullRequest.getSourceRepository(), pullRequest.getSourceBranch()); final Path target = this.buildHiddenPath(pullRequest); ioService.copy(source, target); if (logger.isDebugEnabled()) { logger.debug("Hidden branch {} created.", target.toString()); } }
private String buildHiddenBranchName(PullRequest pullRequest) { return String.format("PR-%s-%s/%s-%s", pullRequest.getId(), pullRequest.getSourceRepository(), pullRequest.getSourceBranch(), pullRequest.getTargetBranch()); }
private String buildHiddenBranchName(PullRequest pullRequest) { return String.format("PR-%s-%s/%s-%s", pullRequest.getId(), pullRequest.getSourceRepository(), pullRequest.getSourceBranch(), pullRequest.getTargetBranch()); }
@Override public boolean exists(final PullRequest pullRequest) { return this.getPullRequests().stream().anyMatch( pr -> { return pr.getSourceBranch().equals(pullRequest.getSourceBranch()) && pr.getSourceRepository().equals(pullRequest.getSourceRepository()) && pr.getTargetBranch().equals(pullRequest.getTargetBranch()) && pr.getTargetRepository().equals(pullRequest.getTargetRepository()) && pr.getStatus().equals(pullRequest.getStatus()); }); } }
@Override public PullRequest getPullRequest(long id) { final List<PullRequest> prs = this.getPullRequests(elem -> elem.getId() == id); if (prs.size() == 0) { throw new NoSuchElementException("The Pull Request with ID #" + id + " not found"); } final PullRequest pr = prs.get(0); return new PullRequestImpl(pr.getId(), pr.getSourceSpace(), pr.getSourceRepository(), pr.getSourceBranch(), pr.getTargetSpace(), pr.getTargetRepository(), pr.getTargetBranch(), pr.getStatus()); }
@Override public List<FileDiff> diff(final PullRequest pullRequest) { final Repository repository = repositoryService.getRepositoryFromSpace(spaces.getSpace(pullRequest.getTargetSpace()), pullRequest.getTargetRepository()); this.createHiddenBranch(pullRequest); String diff = String.format("diff:%s,%s", pullRequest.getTargetBranch(), this.buildHiddenBranchName(pullRequest)); final List<FileDiff> diffs = (List<FileDiff>) this.ioService.readAttributes(convert(repository.getBranch(pullRequest.getSourceBranch()).get().getPath()), diff); this.deleteHiddenBranch(pullRequest); return diffs; }
protected void changePullRequestStatus(final String repository, final long id, final PullRequestStatus status) { checkNotEmpty("repository", repository); checkNotNull("status", status); GitMetadata metadata = getRepositoryMetadata(repository); PullRequest pullRequest = metadata.getPullRequest(id); PullRequestImpl finalPullRequest = new PullRequestImpl(pullRequest.getId(), pullRequest.getSourceRepository(), pullRequest.getSourceBranch(), pullRequest.getTargetRepository(), pullRequest.getTargetBranch(), status); List<PullRequest> finalPullRequests = metadata.getPullRequests(elem -> elem.getId() != id); finalPullRequests.add(finalPullRequest); GitMetadata storableMetadata = new GitMetadataImpl(metadata.getName(), metadata.getOrigin(), metadata.getForks(), finalPullRequests); this.metadataStore.write(storableMetadata.getName(), storableMetadata); }
protected void changePullRequestStatus(final String repository, final long id, final PullRequestStatus status) { checkNotEmpty("repository", repository); checkNotNull("status", status); GitMetadata metadata = getRepositoryMetadata(repository); PullRequest pullRequest = metadata.getPullRequest(id); PullRequestImpl finalPullRequest = new PullRequestImpl(pullRequest.getId(), pullRequest.getSourceSpace(), pullRequest.getSourceRepository(), pullRequest.getSourceBranch(), pullRequest.getTargetSpace(), pullRequest.getTargetRepository(), pullRequest.getTargetBranch(), status); List<PullRequest> finalPullRequests = metadata.getPullRequests(elem -> elem.getId() != id); finalPullRequests.add(finalPullRequest); GitMetadata storableMetadata = new GitMetadataImpl(metadata.getName(), metadata.getOrigin(), metadata.getForks(), finalPullRequests); this.metadataStore.write(storableMetadata.getName(), storableMetadata); }