forked from ualberta-smr/ExplainMergeConflict
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
5 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,38 +1,7 @@ | ||
<h1> <img align="left" width="50" height="50" src="https://s3-eu-west-1.amazonaws.com/public-resources.ml-labs.aws.intellij.net/static/refactor-insight/icon.svg" alt="RefactorInsight Icon"> RefactorInsight </h1> | ||
# ExplainMergeConflict | ||
|
||
[](https://research.jetbrains.org/) | ||
[](https://github.com/JetBrains-Research/refactorinsight/badges/master) | ||
[](https://codecov.io/gh/JetBrains-Research/refactorinsight) | ||
[](https://plugins.jetbrains.com/plugin/14704-refactorinsight) | ||
ExplainMergeConflict is a work-in-progress IntelliJ plugin that expands the functionality of [RefactorInsight](https://github.com/JetBrains-Research/refactorinsight) and IntelliJ's built-in git plugin in order to improve the merge conflict resolution experience. | ||
|
||
RefactorInsight is a plugin for IntelliJ IDEA that enables the IDE to visualize refactorings in the commit history of Java projects. RefactorInsight relies on [RefactoringMiner](https://github.com/tsantalis/RefactoringMiner) for retrieval of refactorings. | ||
This research is currently ongoing at [UAlberta SMR research group](https://sarahnadi.org/smr/) at the University of Alberta. | ||
|
||
## Getting started | ||
RefactorInsight is сompatible with IntelliJ IDEA 2020.1 and is available for free in the Marketplace: [RefactorInsight](https://plugins.jetbrains.com/plugin/14704-refactorinsight). | ||
|
||
### Refactorings in commits | ||
To see the refactorings in a git repository, open the built-in `Git` tab. On the right side, you will see a toggle button . | ||
|
||
Click on a commit and then on the  to see the refactorings detected in that commit. It looks like this: | ||
|
||
<img src="assets/img/refactorinsight_main.png" alt="Example" width="900"> | ||
|
||
### Refactoring history of an object | ||
In order to see the refactoring history of a method, class, or attribute, right-click on the object's signature and select `Check Refactoring History`. Here is an example for a method named `Repl`: | ||
|
||
<img src="assets/img/refactorinsight_history.png" alt="RefactoringHistory" width="400"> | ||
|
||
If you double-click on a leaf node in a tree, the VCS log opens at that specific commit and shows a list of detected refactorings in that commit. | ||
|
||
### Settings | ||
By default, for performance reasons, refactorings are only retrieved from the last 100 commits in history. This number can be adjusted in the plugin's settings. Alternatively, you can use `Mine All Refactorings` action in the `Tools` menu to go through all commits in the history of your project. | ||
The plugin also keeps track of new commits and processes them. | ||
The detected code refactorings are stored in `.idea/refactorings.xml`. If this file is deleted, RefactorInsight will mine refactorings again once you make a commit. | ||
|
||
|
||
## Contribution and feedback | ||
To submit a bug report or suggest a feature, please [open an issue](https://github.com/JetBrains-Research/refactorinsight/issues). | ||
Pull requests are welcome and encouraged. | ||
|
||
|
||
[This paper](https://users.encs.concordia.ca/~nikolaos/publications/TSE_2020.pdf) provides a detailed overview of RefactoringMiner — the tool RefactorInsight relies on to identify refactorings. | ||
ExplainMergeConflict is a fork of RefactorInsight, and copyright for the source code of RefactorInsight present in this project are held by 2020 JetBrains N.V, as stated in the [MIT License](/LICENSE.md) |
This file was deleted.
Oops, something went wrong.