Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 您如何测量插入/更改/删除的代码行(LoC)?_Git_Svn_Perforce_Clearcase_Lines Of Code - Fatal编程技术网

Git 您如何测量插入/更改/删除的代码行(LoC)?

Git 您如何测量插入/更改/删除的代码行(LoC)?,git,svn,perforce,clearcase,lines-of-code,Git,Svn,Perforce,Clearcase,Lines Of Code,我的问题涉及LoC指标。我必须提供插入、更改和删除行的统计信息。我的用户使用ClearCase和下面基于它的示例,但是我相信我的问题是一般性的 请看下面的示例(取自ClearCase文档)。它比较了两个文件版本,/main/1(左侧)和/main/3(右侧) *************************************(文件摘要) >文件2:util.c@@@main/3 ******************************** ----------[在15之后]-----

我的问题涉及LoC指标。我必须提供插入、更改和删除行的统计信息。我的用户使用ClearCase和下面基于它的示例,但是我相信我的问题是一般性的

请看下面的示例(取自ClearCase文档)。它比较了两个文件版本,
/main/1
(左侧)和
/main/3
(右侧)

*************************************(文件摘要)
>文件2:util.c@@@main/3
********************************
----------[在15之后]---------[插入16]-----(标题)
|char*s;(差异)
|-
---------[更改为18]————————[更改为19-21]——(页眉)
返回时间(时钟);|s=ctime(&时钟);(差异)
-| s[strlen(s)-1]='\0';
|返回s;
|-
毫无疑问,插入了1行(第16行)

我的问题是关于第18行的变化:这里你算了多少行

  • 换了3行
  • 换行了吗
  • 1个更改行和2个插入行
  • 你认为还有什么
请让我知道你的想法(以及为什么…)。谢谢。

这个例子来自,而这个差异不是你通常使用的

对于ClearCase:

---------[changed X]----------|----------[changed to Y]---------
一条或多条线路已更改到位

  • X表示第一个文件中的哪些行已更改
  • Y表示替换行在第二个文件中出现的位置
因此,这里:

  • 1行已更改
  • 替换为3行
其他工具(如git)使用的diff统一格式没有直接的等价物,这意味着这个问题,使用默认的cleartool格式,是特定于ClearCase的

如果cleartool diff使用
-diff\u format
选项,这将导致以UNIX和Linux diff实用程序的样式报告标题和差异,这将允许对该差异进行更常见的解释


当谈到LOC和diff时,一个很好的参考是,它将提供一个聚焦于以下线路:

  • 同样的
  • 修改
  • 增加
  • 除去
就你而言:

  • 1行修改
  • 增加2行

大多数SCM系统允许您在文件作为提交前或提交后挂钩的一部分提交时扫描文件。您可以运行任何您喜欢的扫描工具,并在某处记录统计信息,可能作为文件的属性。

VonC,您知道CLOC是否可以为每个代码行单独显示(如果添加、修改或删除)?我找不到相关参数。非常感谢。
---------[changed X]----------|----------[changed to Y]---------