小编Cri*_*anu的帖子

git blame:合并后的正确作者

GIT合并引入了新的提交.这会导致"git blame"出现问题:合并后的行似乎是由执行合并的开发人员提交的.

我可以理解这是冲突变化的情况(因为他解决了冲突).但有没有办法让非冲突的线条发生这种情况?一些选择"git责备"?

如果没有办法,当你有很多合并时,这基本上会使"git blame"几乎无用 - 而且GIT鼓励大量的合并.

SVN是否存在非冲突合并的问题?我不这么认为,但我可能错了,因为我(理解上)在使用SVN时避免像瘟疫这样的分支.

git merge annotate blame git-merge

11
推荐指数
2
解决办法
3119
查看次数

gradle:如何删除任务依赖

Gradle 可以轻松地在运行时添加任务依赖项。

添加任务依赖性后是否还可以将其删除?

作为一个用例,假设我们希望在单独的管道步骤中运行 checkstyle,而不是作为主构建的一部分。因此,我们应用该checkstyle插件,但这会添加一些依赖于check. 我想打破这种依赖性,以便checkstyle仅在显式运行时运行,而不是作为build(取决于check,取决于checkstyle*)的一部分运行。

为了完成上述任务,我可以将主管道步骤运行为build -x checkstyleMain -x checkstyleTest. 另一种解决方法是将enabledcheckstyle 任务的属性设置为 false。

但对于这个问题,我感兴趣的是一种删除任务依赖关系的通用方法,以便任务图缺少两个任务之间的边缘,就像从未添加依赖关系一样。这个问题并不容易,因为:

  • 在添加之前删除依赖项不会产生任何影响
  • 尝试删除对的依赖gradle.taskGraph.whenReady可能会失败(因为不再允许更改任务图。

一个好的答案是,这肯定是不可能的,在这种情况下,我可以向 Gradle 团队提出功能请求。

更新1

我尝试将 @Chriki 的 groovy 转换为 kotlin,如下所示:

project.afterEvaluate {
    tasks.check {
        dependsOn -= tasks.find {
            it.name.startsWith("checkstyle")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这行不通。我收到错误:“不支持从任务实例中删除任务依赖项。”

gradle

5
推荐指数
1
解决办法
4601
查看次数

标签 统计

annotate ×1

blame ×1

git ×1

git-merge ×1

gradle ×1

merge ×1