public List<BlameLine> blame(Path baseDir, String fileName) throws Exception {
    BlameOutputProcessor outputProcessor = new BlameOutputProcessor();
    try {
      this.processWrapperFactory.create(
          baseDir,
          outputProcessor::process,
          gitCommand,
          GIT_DIR_FLAG, String.format(GIT_DIR_ARGUMENT, baseDir), GIT_DIR_FORCE_FLAG, baseDir.toString(),
          BLAME_COMMAND,
          BLAME_LINE_PORCELAIN_FLAG, IGNORE_WHITESPACES, FILENAME_SEPARATOR_FLAG, fileName)
        .execute();
    } catch (UncommittedLineException e) {
      LOG.debug("Unable to blame file '{}' - it has uncommitted changes", fileName);
      return emptyList();
    }
    return outputProcessor.getBlameLines();
  }
@Test
  public void should_read_lines_only_based_on_new_line() throws Exception {
    Path baseDir = createNewTempFolder().toPath();
    String filePath = "file.txt";
    createFile(filePath, "test1\rtest2\r\ttest3", baseDir);
    Git git = createRepository(baseDir);
    createFile(filePath, "line", baseDir);
    commit(git, filePath);

    List<BlameLine> blame = blameCommand.blame(baseDir, "file.txt");
    assertThat(blame).hasSize(1);
  }