diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnLogCommand.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnLogCommand.java index 0cc8687154..32e6b01ef2 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnLogCommand.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnLogCommand.java @@ -166,7 +166,7 @@ public class SvnLogCommand extends AbstractSvnCommand implements LogCommand { long latest = repo.getLatestRevision(); long startRev = latest - start; - long endRev = Math.max(startRev - (limit - 1), 0); + long endRev = Math.max(startRev - (limit - 1), 1); final List changesets = Lists.newArrayList(); @@ -177,7 +177,7 @@ public class SvnLogCommand extends AbstractSvnCommand implements LogCommand new ChangesetCollector(changesets)); } - return new ChangesetPagingResult((int) (latest + 1l), changesets); + return new ChangesetPagingResult((int) latest, changesets); } /** diff --git a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnLogCommandTest.java b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnLogCommandTest.java index 15198a19ed..74b4b59d22 100644 --- a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnLogCommandTest.java +++ b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnLogCommandTest.java @@ -34,6 +34,7 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.collect.Iterables; import org.junit.Test; import sonia.scm.repository.Changeset; import sonia.scm.repository.ChangesetPagingResult; @@ -59,8 +60,15 @@ public class SvnLogCommandTest extends AbstractSvnCommandTestBase createCommand().getChangesets(new LogCommandRequest()); assertNotNull(result); - assertEquals(6, result.getTotal()); - assertEquals(6, result.getChangesets().size()); + assertEquals(5, result.getTotal()); + assertEquals(5, result.getChangesets().size()); + } + + @Test + public void testShouldStartWithRevisionOne() { + ChangesetPagingResult result = createCommand().getChangesets(new LogCommandRequest()); + Changeset first = Iterables.getLast(result); + assertEquals(first.getId(), "1"); } @Test @@ -88,7 +96,7 @@ public class SvnLogCommandTest extends AbstractSvnCommandTestBase ChangesetPagingResult result = createCommand().getChangesets(request); assertNotNull(result); - assertEquals(6, result.getTotal()); + assertEquals(5, result.getTotal()); assertEquals(2, result.getChangesets().size()); Changeset c1 = result.getChangesets().get(0); @@ -112,7 +120,7 @@ public class SvnLogCommandTest extends AbstractSvnCommandTestBase ChangesetPagingResult result = createCommand().getChangesets(request); assertNotNull(result); - assertEquals(6, result.getTotal()); + assertEquals(5, result.getTotal()); assertEquals(2, result.getChangesets().size()); Changeset c1 = result.getChangesets().get(0);