public List getChanges()

in src/main/java/org/apache/sling/tooling/lc/git/GitChangeLogFinder.java [48:75]


    public List<String> getChanges(String artifactId, String from, String to) throws IOException, GitAPIException {
        
        Path repoPath = Paths.get(slingRepoCheckoutDir, artifactId.replace('.', '-'), ".git");
        
        FileRepositoryBuilder repositoryBuilder = new FileRepositoryBuilder();
        
        Repository repository = repositoryBuilder.setGitDir(repoPath.toFile())
                .readEnvironment() // scan environment GIT_* variables
                .findGitDir() // scan up the file system tree
                .setMustExist(true)
                .build();

        Ref fromTag = getTagChecked(repository, artifactId, from);
        Ref toTag = getTagChecked(repository, artifactId, to);
        
        Git git = Git.wrap(repository);
        
        fromTag = repository.getRefDatabase().peel(fromTag);
        toTag = repository.getRefDatabase().peel(toTag);
        
        List<String> commits = new ArrayList<>();
        git.log()
            .addRange(fromTag.getPeeledObjectId(), toTag.getPeeledObjectId())
            .call()
            .forEach( c -> commits.add(c.getShortMessage()));
        
        return commits;
    }