小编chr*_*989的帖子

返回Git中的N提交以查找导致测试回归的提交

是否有一个命令可以让我根据它与当前提交的距离而不是使用提交ID来签出提交?

用例

基本上我正在考虑设置一个cron作业类型脚本来在构建服务器上执行以下操作:

  • 下拉最新的特定git分支(git pull dev).
  • 构建它,运行测试.
  • 如果通过百分比低于上次存储的百分比:
    • 递归地返回提交,构建,运行测试,直到找到更改百分比的提交.
    • 记录引入回归的提交.

我对这将如何合在一起有一个粗略的想法,但除非我能定期返回一个提交,否则它将无法工作.

如果没有特定的命令,我想我可以grep提交日志,每次都拿第一个?

我感谢任何想法或帮助!

不像: 如何撤消Git中的最后一次提交?

我想回去"N"次提交.

git automation git-commit

13
推荐指数
2
解决办法
6222
查看次数

Git找出我推送的最后一次提交

我想找出我推动的最后一件事,不是我提交的最后一件事,而是推动了.

这有git命令吗?

上下文: 我想在将dev_branch与master分支合并之前压缩一些提交但是我被告知你不能重新绑定任何已经被推送的东西(这是真的吗?).

所以我想知道我在这个rebase中不能包含的最后一次提交是什么.

git

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

"查看详细信息"缺少表单异常处理程序VS 2017

这很容易与异常助手中缺少的"查看详细信息"相同

但是我在VS 2017中看到它.翻转"使用托管兼容模式"似乎没有什么区别.

这就是窗口的样子: 在此输入图像描述

如果缺少"查看详细信息",复制详细信息也只会给出顶级异常.

如果我将代码包装在"try","catch"块中并使用调试器/立即窗口来扩展异常对象,我可以看到重要的细节,如"内部异常".那么为什么在处理程序中隐藏这些信息呢?

额外细节

我正在开发一个Xamarin项目,这个错误位于一个名为.net核心可移植库的属性中,本例中的错误与安装在库中的NLog(第三方nuget包)有关. andorid项目,但由于配置错误可能会失败.在Android设备上进行远程调试时引发异常.

到目前为止,我已经看到了异常处理程序中的这个问题(3/4,它是一台新机器)

exceptionhandler visual-studio-2017

6
推荐指数
1
解决办法
414
查看次数

处理4gb以上的纹理(BigTiff)OpenGL

我正在研究一些高清成像软件,虽然这个版本目前没有规划非常大的纹理,但我想做一些未来的打样.

如果我正在处理非常大的纹理(例如1095630 x 939495),我可以使用压缩纹理和mip贴图的标准组合,或者这些纹理是否会大到存储在纹理内存中?

我的假设是它们太大了,我不得不在CPU上做一个psudeo手动mip贴图.即抓取非常大的数据,为完全缩小创建一个合理的压缩版本然后随着用户放大,将大纹理的子部分发送到GPU?

在CPU上执行压缩的想法非常慢,所以我的计划是将数据平铺并将其发送到GPU以进行压缩.在这种情况下,我如何找出(最好是动态的)GPU可以处理的最大纹理尺寸?

我是TIFF格式的新手,但从它的外观来看,它已经存储为瓷砖,这是正确的吗?我希望与libtiff有点玩,但我没有找到很多使用它的例子(我的google技能今天让我失望,道歉). /sf/

现有的例子 我希望从这两个方面得到一些指示:

总结:

  • 我如何找出GPU可以处理的最大纹理尺寸(最好是3D纹理尺寸......)
  • 什么是打破大纹理格式并将其压缩到GPU可以处理的最佳方式
  • 什么是促进缩放的最佳方式?
  • 指针使用libTiff?

opengl textures large-data libtiff

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

关闭 Jedi-Vim 中的所有自动代码完成

我正在尝试在 vim 中使用 python-jedi,但目前它完全无法使用,因为它试图在奇怪的时间完成编码。

我添加了以下行:

 let g:jedi#popup_on_dot = 0
Run Code Online (Sandbox Code Playgroud)

到我的 vimrc 文件,这确实停止了“.”上的自动完成。但是当我尝试在逗号后添加空格到以下代码时:

upper_blue = np.array([130,255,255])
Run Code Online (Sandbox Code Playgroud)

自动完成不断弹出,似乎每当我在方括号内时,但它与数组无关。

我也安装了 pymode,但我确实关闭了绳索功能……我承认我不知道如何完全关闭 pymode。

VimRC:

    " Better command-line completion
set wildmenu

" Show partial commands in the last line of the screen
set showcmd

" Highlight searches (use <C-L> to temporarily turn off highlighting; see the
" mapping of <C-L> below)
set hlsearch

" Modelines have historically been a source of security vulnerabilities. As
" such, it may be a good idea to disable them …
Run Code Online (Sandbox Code Playgroud)

python-jedi

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

git diff --name-only 迭代结果时如何处理文件名中的空格

我正在处理的脚本需要从 git diff 中遍历每个文件。但是,我不知道如何处理文件名中的空格。任何有空格的文件都被分成“2 个文件”。我知道它们需要被包裹," "但我不知道如何在它进入@参数之前实现它。

当文件名中有空格时,我应该如何遍历文件

git diff --name-only  $1
Run Code Online (Sandbox Code Playgroud)

?

这是一个重现错误的简单测试:

copyfiles()
{
    echo "Copying added files"
    for file in $@; do

        new_file=$(echo ${file##*/})

        directory=$(echo ${file%/*})
        echo "Full Path is is  $file"
        echo "File is  $new_file"
        echo "Directory is  $directory"
        cp $file $COPY_TO
    done    
}

COPY_TO="testDir"
DIFF_FILES=$( git diff --name-only  $1) 
copyfiles $DIFF_FILES 
Run Code Online (Sandbox Code Playgroud)

该脚本目前运行如下:

test.sh <git commit id>
Run Code Online (Sandbox Code Playgroud)

git bash spaces git-diff git-bash

5
推荐指数
3
解决办法
3442
查看次数

使用Nunit TestCaseSource运行测试设置的正确方法

我正在尝试使用NUnit中的TestCaseSource运行多个测试。但是我想让[SetUp]在需要时运行。

目前,它可以按我希望的方式工作,但感觉并不“正确”。因此,以下是主要的测试用例代码(简化了):

public class ImportTestCases
{

    ImportTestCases()
    {
        TestData.RunTestSetup();
    }

    public static IEnumerable TestCases
    {
        get
        {
            //run the funciton under test...
            var results = RunFunctionSubjectToTest(TestData.ImportantVar);

            //get multiple results...
            var allProperties =new TestCaseData(o).Returns(true)
                ExpandNestedProperties(results.AllProperties)
                    .ToList()
                    .ConvertAll(o => new TestCaseData(o).Returns(true));

            return allProperties;
        }
    }


}


[TestFixture]
public class ImportTests
{

    [TestFixtureSetUp]
    public void ImporTestSetup()
    {
        TestData.RunTestSetup();
    }

    [Test, TestCaseSource(typeof(ImportTestCases), nameof(ImportTestCases.TestCases))]
    public bool PropertyTest(UnitTestHelper.PropInfo info)
    {
        return info.DoTheyMatch;
    }

}
Run Code Online (Sandbox Code Playgroud)

这里的问题是[SetUp]在ImportTestCases“ TestCases”属性“ get”运行之前没有运行。“ ImportTestCases”的构造函数也未运行。因此,为了确保在引用ImportVar之前已运行“ RunTestSetup”,我必须执行以下操作:

public static class TestData
{
    private static …
Run Code Online (Sandbox Code Playgroud)

c# nunit unit-testing testcasesource

4
推荐指数
1
解决办法
3172
查看次数

如何渲染为无符号整数格式

当渲染到具有无符号整数格式的FBO时,我可能不能:

gl_FragColour = uvec4(100,100,100,100);
Run Code Online (Sandbox Code Playgroud)

因为gl_FragColour是一个vec4.所以我想我必须定义自己的?

out uvec4 colour
Run Code Online (Sandbox Code Playgroud)

但是如果没有任何其他变化,这将被正确解释吗?

此外,我想对无符号整数格式和普通浮点纹理使用相同的着色器,并在统一(静态分支)上使用if.我猜这是不可能的(除非我可以有2个出局而且只设置一个?)我可能需要探索一个函数指针方法?

opengl fbo textures glsl render-to-texture

3
推荐指数
1
解决办法
2836
查看次数

并行聚合集合

我已经看到了基本类型的并行聚合代码,例如

Parallel.For<int>(0, result.Count, () => 0, (i, loop, subtotal) =>
    {
        subtotal += result[i];
        return subtotal;
    },
    (x) => Interlocked.Add(ref sum, x)
);
Run Code Online (Sandbox Code Playgroud)

我想知道是否有相同的列表/其他集合,例如:

List<Result> AllResults;
Parallel.ForEach(allIDs, (currentID) =>
{

    subList.add(GetResultFor(currentID));
    return subList;
},
(x) =>
{
    lock(AllResults)
        AllResults.AddRange(subList);
};
Run Code Online (Sandbox Code Playgroud)

我猜测没有什么好看和整洁,但我想不出另一种做法,当然不是通过一个标准的parralel.ForEach因为我不能想到你会怎么说"这个核心有这个范围,这个核心这个范围"....

c# parallel-processing aggregate parallel.foreach

3
推荐指数
1
解决办法
1954
查看次数

从 Visual Studio 编辑时,Chrome 中的实时 CSS 更新

每当我的同事在他的 Visual Studio (2015) chrome 中更改他的 .css 文件时,它会自动检测更改并更新网站样式,这看起来非常有用。

在我的 Visual Studio(2017)中,我没有发生同样的情况,但是当我使用 VS 2015 时,它在我的初始计算机设置中发生了(几次 win 10 重新安装前)。这是 2017 年禁用的功能,有什么要注意的吗?与 VS 有什么关系?我们都不知道为什么它适用于他的设置而不是我的设置

我遇到过这种行为的 YouTube 视频:https : //www.youtube.com/watch?v=reAw8_FGWpE

css google-chrome visual-studio

3
推荐指数
1
解决办法
3144
查看次数

为什么 GLSL 日志返回错误结果?(英特尔驱动程序)

我正在 GPU 上做一些数学计算并读取结果。

我从日志中得到了错误的值。我已经针对值 0 - 10、20、30、40 验证了这一点。

如果我对值进行硬编码(如您在验证下看到的),我会得到正确的结果。但是,如果我将 log 与应返回相同结果的硬编码值一起使用,则会得到错误的结果。

这就是我在我的职能中一直在做的事情。

vec4 IScale(vec4 value)
{
    switch(uScaleType_i)
    {
        case Log:

            //value = log(value);

            value = vec4(1,1,1,1);
            value.r = log(5);
            //verifiy
            //value.r = 0.698970004     
        break;
        case Sqrt:
            value = sqrt(value);
        break;
        case None:
            break;
    }
    return value;
}
Run Code Online (Sandbox Code Playgroud)

我想知道这里有什么意义吗?我已将返回的结果添加到 Excel 中并绘制了图表。起初它几乎就像是正确值的两倍,但它不是那么干净,它变得越来越远。

除了驱动问题还有其他解释吗?我想不出还有什么要检查的!

如果是这样,除了重构我的代码以在 CPU 上执行此操作之外,我该如何解决它?为什么我在网上找不到证据来支持这一点?我完全困惑了!

我在笔记本电脑上运行:(Intel(R) HD Graphics 4000 with 132 ext.)

ps Sqrt 很好,我得到了我期望的值。pps我查了一下,我没有意外创建一个名为“log”的函数

在此输入图像描述 在此输入图像描述

opengl math driver glsl

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

将字符串与单词和数字1-9匹配

在以下字符串的情况下,我的正则表达式很弱

"OtherId":47
"OtherId":7
"MyId":47     (Match this one)
"MyId":7
Run Code Online (Sandbox Code Playgroud)

我想拿起有"MyId"的字符串和一个不是1 - 9的数字

我以为我可以使用:

RegEx:如何匹配所有大于49的数字?

结合使用: 正则表达式:是否有AND运算符?

但它没有发生......你可以在这里看到我失败的尝试:

https://www.regextester.com/index.php?fam=99753

这是

\b"MyId":\b(?=.*^[0-10]\d)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

regex

0
推荐指数
1
解决办法
147
查看次数