code: private void indexInTransaction(SVNRepository repository, SVNLogEntry logEntry) throws SVNException {
          // Log values
          long revision = logEntry.getRevision();
          String author = logEntry.getAuthor();
          String message = logEntry.getMessage();
          Date date = logEntry.getDate();
          // Sanitizes the possible null values
          author = Objects.toString(author, "");
          message = Objects.toString(message, "");
          // Date to date time
          LocalDateTime dateTime = Time.from(date, Time.now());
          // Branch for the revision
          String branch = getBranchForRevision(repository, logEntry);
          // Logging
          logger.info(String.format("Indexing revision %d", revision));
          // Inserting or updating the revision
          revisionDao.addRevision(repository.getId(), revision, author, dateTime, message, branch);
          // Merge relationships (using a nested SVN client)
          try (Transaction ignored = transactionService.start(true)) {
              List<Long> mergedRevisions = svnClient.getMergedRevisions(repository, SVNUtils.toURL(repository.getConfiguration().getUrl(), branch), revision);
              // Unique revisions
              List<Long> uniqueMergedRevisions = mergedRevisions.stream().distinct().collect(Collectors.toList());
              revisionDao.addMergedRevisions(repository.getId(), revision, uniqueMergedRevisions);
          }
          // Subversion events
          indexSVNEvents(repository, logEntry);
          // Indexes the issues
          indexIssues(repository, logEntry);
      }
docs: This method is executed within a transaction