changeset 654:3daa8e36f8f1

include branch name into log commands
author eugene.petrenko@gmail.com
date Mon, 30 Sep 2013 15:11:01 +0200
parents f6ebe23ea409
children 5a40adf2ca9e
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ChangeSet.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/HgVcsRoot.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialXmlLogParser.java mercurial-server/resources/buildServerResources/fastlog.template mercurial-server/resources/buildServerResources/log.no.files.template mercurial-server/resources/buildServerResources/log.template mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerHgRepo.java
diffstat 8 files changed, 25 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ChangeSet.java	Mon Sep 30 13:53:01 2013 +0200
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ChangeSet.java	Mon Sep 30 15:11:01 2013 +0200
@@ -16,11 +16,14 @@
 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;
 
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+import static jetbrains.buildServer.buildTriggers.vcs.mercurial.command.HgVcsRoot.DEFAULT_BRANCH_NAME;
+
 /**
  * Represents Mercurial change set
  */
@@ -28,6 +31,7 @@
   @NotNull private String myUser;
   @NotNull private Date myTimestamp;
   private String myDescription;
+  private String myBranch = DEFAULT_BRANCH_NAME;
   private List<ChangeSetRevision> myParents = new ArrayList<ChangeSetRevision>();
   private List<FileStatus> myModifiedFiles = new ArrayList<FileStatus>();
 
@@ -110,4 +114,14 @@
   public List<FileStatus> getModifiedFiles() {
     return myModifiedFiles;
   }
+
+  @NotNull
+  public String getBranch() {
+    return myBranch;
+  }
+
+  public void setBranch(@Nullable String branch) {
+    if (branch == null || branch.trim().isEmpty() || DEFAULT_BRANCH_NAME.equals(branch)) branch = DEFAULT_BRANCH_NAME;
+    myBranch = branch;
+  }
 }
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/HgVcsRoot.java	Mon Sep 30 13:53:01 2013 +0200
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/HgVcsRoot.java	Mon Sep 30 15:11:01 2013 +0200
@@ -30,8 +30,7 @@
  * Represents mercurial VCS root
  */
 public class HgVcsRoot {
-
-  private static final String DEFAULT_BRANCH_NAME = "default";
+  public static final String DEFAULT_BRANCH_NAME = "default";
 
   private final Map<String, String> myVcsRootProperties;
   private final String myRepository;
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java	Mon Sep 30 13:53:01 2013 +0200
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java	Mon Sep 30 15:11:01 2013 +0200
@@ -36,7 +36,7 @@
 public class LogCommand extends VcsRootCommand {
 
   private final static Logger LOG = Logger.getInstance(LogCommand.class.getName());
-  private final static String ZERO_PARENT_ID = "0000000000000000000000000000000000000000";
+  public final static String ZERO_PARENT_ID = "0000000000000000000000000000000000000000";
   private final static SAXParserFactory ourSAXFactory = SAXParserFactory.newInstance();
 
   private String myFromId;
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialXmlLogParser.java	Mon Sep 30 13:53:01 2013 +0200
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialXmlLogParser.java	Mon Sep 30 15:11:01 2013 +0200
@@ -34,6 +34,7 @@
   public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
     if ("logentry".equals(qName)) {
       myCset = new ChangeSet(getRevision(attrs), getId(attrs));
+      myCset.setBranch(attrs.getValue("branch"));
     } else if ("parent".equals(qName)) {
       ChangeSetRevision parentCset = new ChangeSetRevision(getRevision(attrs), getId(attrs));
       myCset.addParent(parentCset);
--- a/mercurial-server/resources/buildServerResources/fastlog.template	Mon Sep 30 13:53:01 2013 +0200
+++ b/mercurial-server/resources/buildServerResources/fastlog.template	Mon Sep 30 15:11:01 2013 +0200
@@ -1,7 +1,7 @@
 header = '<?xml version="1.0"?>\n<log>\n'
 footer = '</log>\n'
 
-changeset = '<logentry revision="{rev}" shortnode="{node|short}">\n{parents}<author original="{author|xmlescape}"/>\n<date>{date|date|xmlescape}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n<paths>\n{files}</paths>\n</logentry>\n'
+changeset = '<logentry revision="{rev}" shortnode="{node|short}" branch="{branches}">\n{parents}<author original="{author|xmlescape}"/>\n<date>{date|date|xmlescape}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n<paths>\n{files}</paths>\n</logentry>\n'
 
 file  = '<path action="M">{file|xmlescape}</path>\n'
 
--- a/mercurial-server/resources/buildServerResources/log.no.files.template	Mon Sep 30 13:53:01 2013 +0200
+++ b/mercurial-server/resources/buildServerResources/log.no.files.template	Mon Sep 30 15:11:01 2013 +0200
@@ -1,6 +1,6 @@
 header = '<?xml version="1.0"?>\n<log>\n'
 footer = '</log>\n'
 
-changeset = '<logentry revision="{rev}" shortnode="{node|short}">\n{parents}<author original="{author|xmlescape}"/>\n<date>{date|date|xmlescape}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n</logentry>\n'
+changeset = '<logentry revision="{rev}" shortnode="{node|short}" branch="{branches}">\n{parents}<author original="{author|xmlescape}"/>\n<date>{date|date|xmlescape}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n</logentry>\n'
 
 parent = '<parent revision="{rev}" node="{node}" shortnode="{node|short}"/>\n'
--- a/mercurial-server/resources/buildServerResources/log.template	Mon Sep 30 13:53:01 2013 +0200
+++ b/mercurial-server/resources/buildServerResources/log.template	Mon Sep 30 15:11:01 2013 +0200
@@ -1,7 +1,7 @@
 header = '<?xml version="1.0"?>\n<log>\n'
 footer = '</log>\n'
 
-changeset = '<logentry revision="{rev}" shortnode="{node|short}">\n{parents}<author original="{author|xmlescape}"/>\n<date>{date|date|xmlescape}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n<paths>\n{file_adds}{file_dels}{file_mods}</paths>\n</logentry>\n'
+changeset = '<logentry revision="{rev}" shortnode="{node|short}" branch="{branches}">\n{parents}<author original="{author|xmlescape}"/>\n<date>{date|date|xmlescape}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n<paths>\n{file_adds}{file_dels}{file_mods}</paths>\n</logentry>\n'
 
 file_add  = '<path action="A">{file_add|xmlescape}</path>\n'
 file_mod  = '<path action="M">{file_mod|xmlescape}</path>\n'
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerHgRepo.java	Mon Sep 30 13:53:01 2013 +0200
+++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerHgRepo.java	Mon Sep 30 15:11:01 2013 +0200
@@ -58,6 +58,11 @@
     return new LogCommand(myCommandSettingsFactory.create(), myHgPath, myWorkingDir, myAuthSettings).withTemplate(myLogTemplate);
   }
 
+  @NotNull
+  public LogCommand logNoFiles() {
+    return log().withTemplate(myLogNoFilesTemplate);
+  }
+
   public LogCommand log(@NotNull HgVcsRoot root) {
     File template = root.isSubrepo() && !myConfig.reportSubrepoChangesFileStatus() ? myFastLogTemplate : myLogTemplate;
     return new LogCommand(myCommandSettingsFactory.create(), myHgPath, myWorkingDir, myAuthSettings).withTemplate(template);