From 49a10aa8753fa0d36abc494632ca6ef1545b74bc Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Tue, 4 Dec 2012 21:16:00 +0100 Subject: [PATCH] store mercurial specific revisions as changeset properties --- .../spi/javahg/HgLogChangesetCommand.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/javahg/HgLogChangesetCommand.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/javahg/HgLogChangesetCommand.java index 07dddf4883..837e332ca3 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/javahg/HgLogChangesetCommand.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/javahg/HgLogChangesetCommand.java @@ -88,6 +88,15 @@ public class HgLogChangesetCommand extends AbstractCommand private static final String NULL_ID = "0000000000000000000000000000000000000000"; + /** changeset property for parent1 revision */ + private static final String PROPERTY_PARENT1_REVISION = "hg.parent1.revision"; + + /** changeset property for parent2 revision */ + private static final String PROPERTY_PARENT2_REVISION = "hg.parent2.revision"; + + /** changeset property for node revision */ + private static final String PROPERTY_REVISION = "hg.revision"; + //~--- constructors --------------------------------------------------------- /** @@ -262,7 +271,7 @@ public class HgLogChangesetCommand extends AbstractCommand { Changeset changeset = new Changeset(); - changeset.setId(readId(in)); + changeset.setId(readId(in, changeset, PROPERTY_REVISION)); String user = in.textUpTo('\n'); @@ -279,14 +288,14 @@ public class HgLogChangesetCommand extends AbstractCommand changeset.getBranches().add(branch); } - String p1 = readId(in); + String p1 = readId(in, changeset, PROPERTY_PARENT1_REVISION); if (!isNullId(p1)) { changeset.getParents().add(p1); } - String p2 = readId(in); + String p2 = readId(in, changeset, PROPERTY_PARENT2_REVISION); if (!isNullId(p2)) { @@ -367,38 +376,30 @@ public class HgLogChangesetCommand extends AbstractCommand * * * @param in + * @param changeset + * @param propertyKey * * @return * * @throws IOException */ - private String readId(HgInputStream in) throws IOException + private String readId(HgInputStream in, Changeset changeset, + String propertyKey) + throws IOException { - String nodeString = null; - if (config.isShowRevisionInId()) { Integer rev = in.readDecimal(); if (rev != null) { - nodeString = String.valueOf(rev); + changeset.setProperty(propertyKey, String.valueOf(rev)); } - else - { - nodeString = "-1"; - } - - in.upTo(':'); - nodeString = nodeString.concat(":").concat(in.nextAsText(40)); - } - else - { - in.upTo(':'); - nodeString = in.nextAsText(40); } - return nodeString; + in.upTo(':'); + + return in.nextAsText(40); } /**