最近在我们的代码库中发生了对C代码的大量重构。我想提出一个使用git更改结构/函数调用名称的快速列表。下面是我的操作方法。
答案 0 :(得分:0)
使用git查找整个单词差异,而不是行差异
git diff dev --word-diff-regex="([a-zA-Z0-9_]+)"
通过sed进行查找以清理输出。 您将得到类似
的输出[-OldName-] {+ NewName +}
构建一个正则表达式以输出OldName NewName
sed -n "s/.*\[-\([a-zA-Z_]*\)-\]{+\([a-zA-Z_0-9]*\)+}.*/\1 \2/p"
用uniq组合起来,然后排序以显示名称的初始列表。
git diff dev --word-diff-regex="([a-zA-Z0-9_]+)" | \\
sed -n "s/.*\[-\([a-zA-Z_]*\)-\]{+\([a-zA-Z_0-9]*\)+}.*/\1 \2/p" | \\
sort | \\
uniq