How to check RefactoringMiner's diff output - pouryafard75/DiffBenchmark GitHub Wiki
Check RefactoringMiner's output in the Webdiff view:
There are 3 different ways you can execute DiffBenchmark:
With a locally cloned git repository
Execute RunWithLocallyClonedRepository.java
String url = "https://github.com/JetBrains/intellij-community/commit/7ed3f273ab0caf0337c22f0b721d51829bb0c877";
String repo = URLHelper.getRepo(url);
String commit = URLHelper.getCommit(url);
GitService gitService = new GitServiceImpl();
String projectName = repo.substring(repo.lastIndexOf("/") + 1, repo.length() - 4);
String pathToClonedRepository = "tmp/" + projectName;
Repository repository = gitService.cloneIfNotExists(pathToClonedRepository, repo);
ProjectASTDiff projectASTDiff = new GitHistoryRefactoringMinerImpl().diffAtCommit(repository, commit);
new WebDiff(projectASTDiff).run();
With two directories containing Java source code
Execute RunWithTwoDirectories.java
final String projectRoot = System.getProperty("user.dir");
String folder1 = projectRoot + "/tmp/v1/";
String folder2 = projectRoot + "/tmp/v2/";
ProjectASTDiff projectASTDiff = new GitHistoryRefactoringMinerImpl().diffAtDirectories(Path.of(folder1), Path.of(folder2));
new WebDiff(projectASTDiff).run();
With all information fetched directly from GitHub
To use the following API, please provide a valid OAuth token in the github-oauth.properties
file.
You can generate an OAuth token in GitHub Settings
-> Developer settings
-> Personal access tokens
.
Execute RunWithGitHubAPI.java
String url = "https://github.com/JetBrains/intellij-community/commit/7ed3f273ab0caf0337c22f0b721d51829bb0c877";
String repo = URLHelper.getRepo(url);
String commit = URLHelper.getCommit(url);
ProjectASTDiff projectASTDiff = new GitHistoryRefactoringMinerImpl().diffAtCommit(repo, commit, 1000);
new WebDiff(projectASTDiff).run();