问题标签 [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.
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 文件,您可以在此链接中看到该文件:
SVN 版本是 1.8.10,我svn upgrade
在执行 sonar-runner 之前在完整目录上运行。
我不明白 SVN 插件对责任数据有什么问题。
我无法附上完整的日志,因为它对于网站(和 pastebin)来说太大了,但这里是(我认为是)相关行:
链接到 sonar-project.properties:http://pastebin.com/xnFyPz67
链接到 sonar.properties:http://pastebin.com/q6TaGZQG
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*
但它继续尝试获取该文件的责备数据。
还有其他方法可以防止声纳试图为我的文件获取责任数据吗?
git - 使用 grep 命令过滤的所有文件中特定行的 git blame
我知道如何在文件中运行 gblame。
我知道如何 grep 目录中所有文件中的内容。
我希望看到包含内容的特定行的 gblame。例子:
我看到一个文件列表。我想归咎于所有主题,并了解谁触及了这些代码行。
git - Bzr责备统计
我想获取提交者的列表以及他们贡献的行数,例如,与Git:Blame Statistics相同,除了 Bzr 分支而不是 Git 分支。
git - 理解 git blame -M / -C 的例子
我正在努力了解如何git blame -M
以及git blame -C
正在工作。
我创建了两个文件:
档案A:
文件B:
并将它们添加(并提交)到我的存储库(散列1234
)。然后我复制了FileB
to的内容FileA
,使它看起来像这样:
档案A:
并提交更改(哈希4567
)。
然后我跑了git blame -C FileA
。
我期望输出:
但反而得到:
当我将块移动D E F
到FileA
并做时也是如此git blame -M FileA
。
我是否误解了构建测试文件的目的,-C
或者-M
我错过了什么?
更新 1:-C
将和
的值设置-M
为 3 都没有帮助,处理更大的文本也没有帮助(用 3 段 lorem ipsum 尝试过)
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,唯一明智的做法是退出而不是猜测(并且不告诉用户它是如何猜测的)。
git - 如何在 git 中保留以前的提交者名称?
为了清理我们的代码,我们想使用 astyle。问题是我们希望有人来完成这项工作,但要责怪以前的提交者(代码的真正作者,而不是清理的人)。
有没有办法在 git 中安全地做到这一点?
c# - 以编程方式获取 TFS 责备(注释)数据
我正在尝试为 Team Foundation Server 2010 实现一个插件,该插件将创建有关团队项目中用户的报告。从概念上讲,为了正确实现这个插件,我只需要访问在 Visual Studio 中使用“注释”功能时获得的相同数据:我需要能够知道谁是最后一个创作给定行的人的代码。
我在 Internet 上搜索了文档或代码示例,但我只能找到一些建议,例如使用 TFS 命令行工具或看似不完整的代码示例。
我不介意在客户端代码中做很多繁重的工作,但似乎没有一种明显的方法可以获取有关Changeset中代码内容的有用作者数据,也没有从合并详细信息返回中获取。
svn - 如何获取在 svn 中更改特定文件的所有人的列表?
我在一些使用 svn 的 repo 中有项目。有很多文件和人在更改这些文件。通过“svn blame”我可以看到谁更改了特定文件,但我不知道如何获取所有更改此文件的人的列表。总而言之,我想获取所有使用 svn 更改特定文件的人的列表。谢谢。
git - 查找作者修改的所有当前行
我将如何在 git 中确定仍然存在的来自特定作者的所有行。例如,一个 Tony 参与了我的项目,我想找到我的开发分支中仍然存在并且来自 Tony 编写的提交的所有行?