问题标签 [blame]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
11369 浏览

svn - 声纳单片机故障 1 行无故障数据

我在 Windows 7 机器上使用 SVN 执行声纳分析(Sonar Runner v2.4 和 SonarQube 5.0)时遇到了一些问题。

我收到以下错误:

java.lang.IllegalStateException: Unable to blame file DataTypes/TtCallPackagePlanType.cs. No blame info at line 1. Is file commited?

当我使用 -X 标志执行 sonar-runner 时,它告诉我 sonar 正在执行这个 blame 命令:

svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert DataTypes/TtCallPackagePlanType.cs

但是,当我自己在同一位置的命令提示符下运行该命令时,我会得到一个完整格式的 XML 文件,您可以在此链接中看到该文件:

http://pastebin.com/U2TjxLTs

SVN 版本是 1.8.10,我svn upgrade在执行 sonar-runner 之前在完整目录上运行。

我不明白 SVN 插件对责任数据有什么问题。

我无法附上完整的日志,因为它对于网站(和 pastebin)来说太大了,但这里是(我认为是)相关行:

链接到 sonar-project.properties:http://pastebin.com/xnFyPz67

链接到 sonar.properties:http://pastebin.com/q6TaGZQG

0 投票
1 回答
3287 浏览

svn - 从 SonarQube SCM 责备中排除文件?

是否可以从 Sonar 的 SCM 责备数据收集中排除文件?

我在这个路径有一个文件:./projects/ichrg/ichrg.Web/bottombar.cs

来自命令行的 svn blame 在文件上工作正常,但是当我使用声纳运行它时,出现以下错误:

java.lang.IllegalStateException

svn 责备命令:

svn blame --xml --non-interactive -x -w --username ******** --password ******** --trust-server-cert BottomBar.cs

失败的:

svn:警告:W155010:'D:\JenkinsBuilds\svntrunk\projects\ichrg\ichrg.Web\BottomBar.cs'找不到节点 。

svn: E200009:无法对所有目标执行责备,因为某些目标不存在

这听起来可能是一个svn问题。

现在,我只想从 SCM 分析中排除有问题的文件,我在门户网站的“文件排除”下的“源文件排除”属性中添加了以下模式:

**/bottombar*

但它继续尝试获取该文件的责备数据。

还有其他方法可以防止声纳试图为我的文件获取责任数据吗?

0 投票
3 回答
3280 浏览

git - 使用 grep 命令过滤的所有文件中特定行的 git blame

我知道如何在文件中运行 gblame。

我知道如何 grep 目录中所有文件中的内容。

我希望看到包含内容的特定行的 gblame。例子:

我看到一个文件列表。我想归咎于所有主题,并了解谁触及了这些代码行。

0 投票
1 回答
30 浏览

git - Bzr责备统计

我想获取提交者的列表以及他们贡献的行数,例如,与Git:Blame Statistics相同,除了 Bzr 分支而不是 Git 分支。

0 投票
1 回答
655 浏览

git - 理解 git blame -M / -C 的例子

我正在努力了解如何git blame -M以及git blame -C正在工作。

我创建了两个文件:

档案A:

文件B:

并将它们添加(并提交)到我的存储库(散列1234)。然后我复制了FileBto的内容FileA,使它看起来像这样:

档案A:

并提交更改(哈希4567)。

然后我跑了git blame -C FileA

我期望输出:

但反而得到:

当我将块移动D E FFileA并做时也是如此git blame -M FileA

我是否误解了构建测试文件的目的,-C或者-M我错过了什么?

更新 1:-C将和 的值设置-M为 3 都没有帮助,处理更大的文本也没有帮助(用 3 段 lorem ipsum 尝试过)

0 投票
2 回答
11015 浏览

git - 为什么 git blame 不跟随重命名?

如您所见,该文件位于该提交的不同目录中

尽管在文档中

责备不跟随重命名。为什么?

更新:简短的回答

git blame跟随重命名,但不为git blame COMMIT^ -- <filename>

但这很难通过大量重命名和大量历史记录手动跟踪文件重命名。我认为,必须修复此行为以静默地跟随git blame COMMIT^ -- <filename>. 或者,至少,--follow必须实施,所以我可以:git blame --follow COMMIT^ -- <filename>

更新2:那是不可能的。参见下文。

Junio C Hamano 来自邮递员的答复

git blame跟随重命名,但不为git blame COMMIT^ -- <filename>

假设您的 v1.0 版本中有文件 A 和文件 B。

六个月后,代码被重构了很多,你不需要单独的这两个文件的内容。您已经删除了 A 和 B,它们的大部分内容现在都在文件 C 中。这就是当前状态。

可以遵循两者的内容就好了,但如果你 允许说

这甚至意味着什么?C 根本不存在 v1.0。您是要按照当时A的内容还是B的内容?当你在这个命令中告诉它 C 时,你是如何告诉你的意思是 A 而不是 B?

“git blame”跟随内容运动,从不以任何特殊方式对待“重命名”,因为认为重命名有某种特殊性是一件愚蠢的事情;-)

从命令行告诉从什么内容开始挖掘到命令的方式是给出起点提交(默认为 HEAD,但您可以给出 COMMIT^ 作为您的示例)和该起点的路径。因为将 C 告诉 Git 并神奇地让它猜测您在某些情况下是 A 而在其他情况下是 B 是没有任何意义的。如果 v1.0 没有 C,唯一明智的做法是退出而不是猜测(并且不告诉用户它是如何猜测的)。

0 投票
2 回答
547 浏览

git - 如何在 git 中保留以前的提交者名称?

为了清理我们的代码,我们想使用 astyle。问题是我们希望有人来完成这项工作,但要责怪以前的提交者(代码的真正作者,而不是清理的人)。

有没有办法在 git 中安全地做到这一点?

0 投票
2 回答
888 浏览

c# - 以编程方式获取 TFS 责备(注释)数据

我正在尝试为 Team Foundation Server 2010 实现一个插件,该插件将创建有关团队项目中用户的报告。从概念上讲,为了正确实现这个插件,我只需要访问在 Visual Studio 中使用“注释”功能时获得的相同数据:我需要能够知道谁是最后一个创作给定行的人的代码。

我在 Internet 上搜索了文档或代码示例,但我只能找到一些建议,例如使用 TFS 命令行工具或看似不完整的代码示例

我不介意在客户端代码中做很多繁重的工作,但似乎没有一种明显的方法可以获取有关Changeset中代码内容的有用作者数据,也没有从合并详细信息返回中获取。

0 投票
2 回答
72 浏览

svn - 如何获取在 svn 中更改特定文件的所有人的列表?

我在一些使用 svn 的 repo 中有项目。有很多文件和人在更改这些文件。通过“svn blame”我可以看到谁更改了特定文件,但我不知道如何获取所有更改此文件的人的列表。总而言之,我想获取所有使用 svn 更改特定文件的人的列表。谢谢。

0 投票
2 回答
7198 浏览

git - 查找作者修改的所有当前行

我将如何在 git 中确定仍然存在的来自特定作者的所有行。例如,一个 Tony 参与了我的项目,我想找到我的开发分支中仍然存在并且来自 Tony 编写的提交的所有行?