changeset 307:659287a241c2

Improve logging
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Tue, 13 Sep 2011 13:19:01 +0400
parents 844986ea478d
children 63a69ed16c88
files mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java
diffstat 1 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java	Fri Sep 09 12:05:23 2011 +0400
+++ b/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java	Tue Sep 13 13:19:01 2011 +0400
@@ -147,7 +147,7 @@
         if (subrepositoriesWithChangedUrls.isEmpty()) {
           doUpdateWorkingDir(workingDir);
         } else {
-          myLogger.warning("URLs of subrepositories were changed, do clean checkout");
+          logSubrepositoriesUrlsChanged(workingDirRevision, myToVersion, subrepositoriesWithChangedUrls);
           FileUtil.delete(workingDir);
           updateRepository(workingDir);
           doUpdateWorkingDir(workingDir);
@@ -157,6 +157,22 @@
   }
 
 
+  private void logSubrepositoriesUrlsChanged(@NotNull final String fromVersion,
+                                             @NotNull final String toVersion,
+                                             @NotNull final Map<String, Pair<String, String>> subrepositoriesWithChangedUrls) {
+    StringBuilder sb = new StringBuilder();
+    sb.append("Subrepositories' URLs were changed between revisions ").append(fromVersion).append("..").append(toVersion).append(":\n");
+    for (Map.Entry<String, Pair<String, String>> entry : subrepositoriesWithChangedUrls.entrySet()) {
+      String path = entry.getKey();
+      String oldUrl = entry.getValue().first;
+      String newUrl = entry.getValue().second;
+      sb.append("path: \"").append(path).append("\", old URL: \"").append(oldUrl).append("\", new URL: \"").append(newUrl).append("\";\n");
+    }
+    sb.append("do clean checkout.");
+    myLogger.warning(sb.toString());
+  }
+
+
   /*returns map: relative path -> (repository url, repository revision)*/
   private Map<String, Pair<String, String>> getSubrepositories(@NotNull final File workingDir, @NotNull final String revision) throws VcsException, IOException {
     CatCommand cc = new CatCommand(mySettings, workingDir);