From 589b77c330ef5a2b5d6b6ebd928821e5903c0915 Mon Sep 17 00:00:00 2001 From: val-fed Date: Wed, 1 May 2019 10:33:35 +0300 Subject: [PATCH 1/3] Add getRepoName() method --- common/repo/GitRepo.java | 6 ++++++ common/repo/Repo.java | 2 ++ 2 files changed, 8 insertions(+) diff --git a/common/repo/GitRepo.java b/common/repo/GitRepo.java index e3909b6b8..b7dce69bd 100644 --- a/common/repo/GitRepo.java +++ b/common/repo/GitRepo.java @@ -510,5 +510,11 @@ public static String getOrgName(String githubUrl) { public static String getProjectName(String githubUrl) { return githubUrl.split("/")[4]; } + + @Override + public String getRepoName() { + String repoPath = runCommand("rev-parse --show-toplevel").stdout.trim(); + return repoPath.substring(repoPath.lastIndexOf('/') + 1); + } } diff --git a/common/repo/Repo.java b/common/repo/Repo.java index e354f2773..161fee99e 100644 --- a/common/repo/Repo.java +++ b/common/repo/Repo.java @@ -109,5 +109,7 @@ String getPatch( String getMostRecentCommitOfBranch(String branch); String getMostRecentCommitOfFile(String filename); + + String getRepoName(); } From 3c0dcb31cdc6b909c2beba9da29eedd36cd42f7a Mon Sep 17 00:00:00 2001 From: val-fed Date: Wed, 1 May 2019 10:34:21 +0300 Subject: [PATCH 2/3] Improve logging --- tools/reviewer/job/tasks/SubmitterTask.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/reviewer/job/tasks/SubmitterTask.java b/tools/reviewer/job/tasks/SubmitterTask.java index 636405d18..9ec021249 100644 --- a/tools/reviewer/job/tasks/SubmitterTask.java +++ b/tools/reviewer/job/tasks/SubmitterTask.java @@ -186,16 +186,22 @@ private void trySubmitDiff(Diff diff) { } if (shouldPush) { - boolean allPushesSuccessful = gitRepos.stream().allMatch(repo -> repo.push("master")); - if (allPushesSuccessful) { + List notPushedRepoNames = new ArrayList<>(); + for (GitRepo repo : gitRepos) { + boolean pushSuccessful = repo.push("master"); + if (!pushSuccessful) { + notPushedRepoNames.add(repo.getRepoName()); + } + } + if (notPushedRepoNames.isEmpty()) { log.atInfo().log("All repos pushed successfully"); diff = diff.toBuilder().setStatus(Diff.Status.SUBMITTED).build(); firestoreClient.setProtoDocument( ReviewerConstants.DIFF_COLLECTION, String.valueOf(diff.getId()), diff); // TODO: store `SubmitterMergeResult` } else { - // TODO: find out which one. - log.atSevere().log("Some repo pushes failed"); + notPushedRepoNames.forEach( + repoName -> log.atSevere().log("[%s] repo push failed", repoName)); } } else { // TODO: Find out which repo caused it. From 6e6f9f5d19d9e956311d69432dc9ddfe868ea36a Mon Sep 17 00:00:00 2001 From: val-fed Date: Wed, 1 May 2019 12:37:29 +0300 Subject: [PATCH 3/3] Change getRepoName() to getAbsRepoPath() to get it more useful --- common/repo/GitRepo.java | 5 ++--- common/repo/Repo.java | 2 +- tools/reviewer/job/tasks/SubmitterTask.java | 3 ++- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/repo/GitRepo.java b/common/repo/GitRepo.java index b7dce69bd..fae12a6f7 100644 --- a/common/repo/GitRepo.java +++ b/common/repo/GitRepo.java @@ -512,9 +512,8 @@ public static String getProjectName(String githubUrl) { } @Override - public String getRepoName() { - String repoPath = runCommand("rev-parse --show-toplevel").stdout.trim(); - return repoPath.substring(repoPath.lastIndexOf('/') + 1); + public String getAbsRepoPath() { + return runCommand("rev-parse --show-toplevel").stdout.trim(); } } diff --git a/common/repo/Repo.java b/common/repo/Repo.java index 161fee99e..b8cadad99 100644 --- a/common/repo/Repo.java +++ b/common/repo/Repo.java @@ -110,6 +110,6 @@ String getPatch( String getMostRecentCommitOfFile(String filename); - String getRepoName(); + String getAbsRepoPath(); } diff --git a/tools/reviewer/job/tasks/SubmitterTask.java b/tools/reviewer/job/tasks/SubmitterTask.java index 9ec021249..839e1b027 100644 --- a/tools/reviewer/job/tasks/SubmitterTask.java +++ b/tools/reviewer/job/tasks/SubmitterTask.java @@ -190,7 +190,8 @@ private void trySubmitDiff(Diff diff) { for (GitRepo repo : gitRepos) { boolean pushSuccessful = repo.push("master"); if (!pushSuccessful) { - notPushedRepoNames.add(repo.getRepoName()); + String absRepoPath = repo.getAbsRepoPath(); + notPushedRepoNames.add(absRepoPath.substring(absRepoPath.lastIndexOf('/') + 1)); } } if (notPushedRepoNames.isEmpty()) {