changeset 345:607091bd8ccd

Merge branch Eluru-6.5.x
author Dmitry Neverov <dmitry.neverov@jetbrains.com>
date Tue, 10 Jan 2012 13:08:37 +0400
parents ff542d94e289 (current diff) ec375e18374f (diff)
children 4a49a0baf30b
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java
diffstat 1 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java	Thu Jan 05 13:20:03 2012 +0100
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java	Tue Jan 10 13:08:37 2012 +0400
@@ -110,11 +110,24 @@
   private List<ChangeSet> parseChangeSetsXml(@NotNull final String xml) throws JDOMException, IOException, ParseException {
     if ("".equals(xml))
       return Collections.emptyList();
-    Document doc = JDOMUtil.loadDocument(xml);
+    Document doc = loadDocument(xml);
     Element log = doc.getRootElement();
     return parseLog(log);
   }
 
+  private Document loadDocument(@NotNull final String xml) throws IOException, JDOMException {
+    String validXml = makeValidXml(xml);
+    return JDOMUtil.loadDocument(validXml);
+  }
+
+  private String makeValidXml(@NotNull final String xml) {
+    String trimmed = xml.trim();
+    if (trimmed.endsWith("</log>"))
+      return xml;
+    else
+      return xml + "</log>";
+  }
+
 
   private List<ChangeSet> parseLog(@NotNull final Element logElement) throws ParseException {
     List<ChangeSet> result = new ArrayList<ChangeSet>();