Lo que realmente quiere hacer es ver si hay código clonado (copiado) en los dos proyectos (ambos proyectos que posiblemente contengan conjuntos de archivos posiblemente grandes). Puede hacerlo ejecutando una herramienta de detección de clones. Wikipedia enumera una variedad de ellos.
Para decidir groseramente si hay muchas copias, solo necesita hacer coincidir las líneas de origen, y hay una variedad de detectores de clones de línea de origen exactos. Creo que PMD es uno de ellos. Lo que estos no harán es buscar código editado con copiar y pegar; encontrarán un código sin formato copia-pegar-sin cambios probablemente envuelto alrededor de las cosas copiadas y editadas.
Si desea ver los detalles de la copia del código copiar-editar-pasado, necesita un detector de clones que encuentre clones "parametrizados". Los detectores basados en tokens hacen esto para ediciones que reemplazan solo nombres de variables o constantes.
Los detectores basados en el árbol de sintaxis abstracta (AST) hacen esto para ediciones que involucran fragmentos más grandes, como expresiones, declaraciones, inserciones, eliminaciones, etc. Estos últimos tienden a dar mejores respuestas, porque a diferencia de los detectores de tokens, pueden usar la estructura del lenguaje del código fuente de la computadora como guía.
Nuestra herramienta CloneDR es un detector de este tipo.
No conozco herramientas que realmente encuentren código "equivalente" (condicionales invertidos), etc. Los investigadores han construido detectores de clones que hacen algo como esto, pero la combinatoria hace que su ejecución sea muy costosa, y los prototipos de investigación escalan mal.