changeset 585:d1203382ce76

Collect subrepo changes from first parent commit Before that we collected changes between both previous commits. It was possible that second parent had different .hgsubstate, but first parent had the same. In web UI we show diff with the first parent and it was confusing: .hgsubstate wasn't changed but new subrepo changes collected.
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Thu, 11 Apr 2013 21:30:50 +0400
parents 49b11c289395
children aa515fa1f626
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgRepo.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java
diffstat 2 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgRepo.java	Tue Apr 09 21:18:11 2013 +0400
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgRepo.java	Thu Apr 11 21:30:50 2013 +0400
@@ -195,7 +195,7 @@
     return emptyList();
   }
 
-  private List<HgSubrepoConfigChange> getSubrepoConfigChanges(@NotNull String revision, @NotNull List<String> parentRevisions) {
+  public List<HgSubrepoConfigChange> getSubrepoConfigChanges(@NotNull String revision, @NotNull List<String> parentRevisions) {
     Map<String, SubRepo> curSubrepos = getSubrepositories(revision);
     List<Map<String, SubRepo>> prevSubrepos = new ArrayList<Map<String, SubRepo>>();
     for (String parentRevision : parentRevisions) {
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java	Tue Apr 09 21:18:11 2013 +0400
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCollectChangesPolicy.java	Thu Apr 11 21:30:50 2013 +0400
@@ -358,7 +358,7 @@
       try {
         ServerHgRepo repo = myVcs.createRepo(ctx, root);
         SubrepoConfigChangesAttributes builder = new SubrepoConfigChangesAttributes();
-        for (HgSubrepoConfigChange c : repo.getSubrepoConfigChanges(cset)) {
+        for (HgSubrepoConfigChange c : repo.getSubrepoConfigChanges(cset.getId(), asList(cset.getParents().get(0).getId()))) {
           fillSubrepoConfigChanges(ctx, builder, root, c);
         }
         attributes.putAll(builder.buildAttributes());