diff --git a/scm-webapp/src/main/java/sonia/scm/repository/ChangesetDescriptionTrailerProvider.java b/scm-webapp/src/main/java/sonia/scm/repository/ChangesetDescriptionTrailerProvider.java index c2bfcd7271..03a58446ba 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/ChangesetDescriptionTrailerProvider.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/ChangesetDescriptionTrailerProvider.java @@ -65,7 +65,7 @@ public class ChangesetDescriptionTrailerProvider implements ChangesetPreProcesso } public void handleLine(Scanner scanner, String line) { - if (line.isEmpty()) { + if (line.trim().isEmpty()) { handleEmptyLine(scanner, line); return; } diff --git a/scm-webapp/src/test/java/sonia/scm/repository/ChangesetDescriptionTrailerProviderTest.java b/scm-webapp/src/test/java/sonia/scm/repository/ChangesetDescriptionTrailerProviderTest.java index 096b48ee3c..5c5cd716f3 100644 --- a/scm-webapp/src/test/java/sonia/scm/repository/ChangesetDescriptionTrailerProviderTest.java +++ b/scm-webapp/src/test/java/sonia/scm/repository/ChangesetDescriptionTrailerProviderTest.java @@ -161,6 +161,18 @@ class ChangesetDescriptionTrailerProviderTest { assertThat(changeset.getDescription()).isEqualTo(originalCommitMessage); } + @Test + void shouldIgnoreWhitespacesInEmptyLines() { + String originalCommitMessage = "zaphod beeblebrox\n \n" + + "Committed-by: Tricia McMillan "; + Changeset changeset = createChangeset(originalCommitMessage); + + changesetDescriptionTrailers.createPreProcessor(REPOSITORY).process(changeset); + Collection trailers = changeset.getTrailers(); + + assertThat(trailers).isNotEmpty(); + } + private Changeset createChangeset(String commitMessage) { Changeset changeset = new Changeset(); changeset.setDescription(commitMessage);