我想知道有什么方法可以列出所有使用更改的方法的类(将更改合并到master之后)?最好是递归的,所以如果我用使用使用更改方法的方法的方法来获得类,它将被列出。问题是针对C#的,但是如果有通用工具可以做到这一点。事情是检查最近的提交是否不会使项目回归]
例如
class one
{
int something()
{
//method that changes
}
}
class two
{
int doSomethingWithSomething()
{
one objectoOfOne = new one();
return objectoOfOne.something() + 1;
}
}
class three
{
int usingTwoWithSomething()
{
two objectOfTwo = new two();
return objectOfTwo.doSomethingWithSomething() +2;
}
}
class four
{
int independent;
}
我想在合并更改方法中修改something()时,获得类一,二,三的列表。
诸如git之类的源代码控制工具无法理解其存储的内容,除非数据是文本或二进制。这包括合并工具,大多数只能看到已插入,删除和(或)重新组织了文本。
有一些工具实际上会解析源代码,以提供更好的合并体验。有关示例,请参见Semantic merge。他们知道哪些方法和类已更改。如果您知道类已更改,则如果需要的话,也应该可以列出所有相关类。我不知道这样的工具是否真的有API,如果您想将其连接到其他系统。