Refactoring-aware versioning in Eclipse

To fully support refactorings in a team development environment we have implemented a refactoring-aware repository provider as an extension plug-in to the Java Development Tools in Eclipse. The versioning system treats refactorings as first-class changes described as semantic ac- tions rather than the set of resulting changes scattered over the source tree. We also introduce refactoring-aware merge, which merges refactorings as well as traditional changes utilizing the se- mantics of the refactorings to detect and resolve merge conflicts. It also ensures that the semantic meaning of a refactoring is preserved after the merge.

@article{7f2c7782-5cc9-4dce-821b-89f5a8dbf44c,
abstract = {To fully support refactorings in a team development environment we have implemented a refactoring-aware repository provider as an extension plug-in to the Java Development Tools in Eclipse. The versioning system treats refactorings as first-class changes described as semantic ac- tions rather than the set of resulting changes scattered over the source tree. We also introduce refactoring-aware merge, which merges refactorings as well as traditional changes utilizing the se- mantics of the refactorings to detect and resolve merge conflicts. It also ensures that the semantic meaning of a refactoring is preserved after the merge.},
author = {Ekman, Torbjörn and Asklund, Ulf},
issn = {1571-0661},
keyword = {Refactoring,Merge,Software Configuration Management,Eclipse,Versioning},
language = {eng},
pages = {57--69},
publisher = {Elsevier},
series = {Electronical Notes in Theoretical Computer Science},
title = {Refactoring-aware versioning in Eclipse},
url = {http://dx.doi.org/10.1016/j.entcs.2004.02.048},
volume = {107},
year = {2004},
}