标签: patch

在 git repo 中维护我的补丁

我正在学习如何使用 git,并且想关注一个项目。所以我克隆了该项目,但我没有最新的代码。

如果我想向该代码添加补丁(或更多),那么最好的方法是什么(并运行makemake install)并且仍然能够git pull从主存储库而不产生冲突?

我尝试过创建一个分支,但我不确定这是否是正确的方法。

我只是希望能够跟上 master 中的新代码,但能够在推送新版本时应用我自己的补丁。

我想知道在哪里可以学习如何做到这一点,但我不知道该用谷歌搜索什么。

git patch

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

为什么 assert_Called_with 无法通过?

我在设置单元测试时遇到很多困难。我一直在使用补丁,但它的行为并不完全符合预期。

我的测试函数顶部有一个装饰器: @mock.patch('WarningFactory.WarningAPIUpdate') @mock.patch('WarningFactory.SomethingElse') def test_send_tc_update(self, other_mock, api_mock):

但是,当我尝试做出以下断言时,在我的函数结束时:

api_mock.send_warning.assert_called_with('IDQ20026', 'IDQ20026')

它失败

我知道那应该通过,因为我跑了

print api_mock.mock_calls

给予

[call(u'test_api'), call().send_warning('IDQ20026', 'IDQ20026'), call().send_warning('IDQ24500', 'IDQ24500')]

我可以清楚地看到使用正确值调用的 send_warning 方法,那么为什么我的断言失败了?

patch mocking python-2.6

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

git apply 不对文件做任何更改

我必须对我的 repo 应用补丁并且正在运行

git apply --directory=$PWD xxxxx.patch
Run Code Online (Sandbox Code Playgroud)

由于我不会深入的原因,我不能git am在这个实例中使用,我需要使用目录标志。

git 告诉我:

$> git apply --directory=$PWD xxxxx.patch
code1/xxxxx.patch:337: trailing whitespace.
         < one partial line of code >
warning: 1 line adds whitespace errors.
Run Code Online (Sandbox Code Playgroud)

我已经读到空白警告并不严重,不应阻止 git 应用补丁。但是,无论什么原因,git 都没有应用补丁。存储库中的当前文件均未更改。知道该怎么做吗?

git patch

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

Kubernetes 滚动更新无需停机?

根据https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#scaling-a-statefulset,请问如何实现零宕机滚动更新?我想这是最低要求:

(1) .spec.updateStrategy 设置为 RollingUpdate

(2) .spec.podManagementPolicy 设置为 OrderedReady

(3) .spec.replicas 设置为 2

那正确吗?我假设当更新以相反的顺序发生时,所有到 StatefulSet 的流量都由序号较低的 pod 提供服务?

patch downtime live-update kubernetes kubernetes-statefulset

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

如何修改OData .net core中Delta Patch中的对象

我有一个与补丁操作中的增量相关的问题。我想拦截该对象并更新属性

Bacteria.nameShort = HTMLExtractHelper.RemoveUnwantedTags(Bacteria.name);

在每个更新/补丁上。

我可以在 put 和 post 动词中轻松完成这些操作,但 Delta 对象似乎阻止我更新补丁中的属性。

public async Task<IActionResult> Patch([FromODataUri] int key, [FromBody] Delta<Bacteria> Bacteria)
{
  if (!ModelState.IsValid)
  {
    return BadRequest(ModelState);
  }
  //var entity = await _db.Bacterias.FindAsync(key);
  var entity = _db.Bacterias.FirstOrDefault(i => i.bacteriaID == key);
  if (entity == null)
  {
    return NotFound();
  }

  Bacteria.Patch(entity);
  try
  {
    await _db.SaveChangesAsync();
  }
  catch (DbUpdateConcurrencyException)
  {
    if (!BacteriaExists(key))
    {
      return NotFound();
    }
    else
    {
      throw;
    }
  }

  return Updated(entity);
}
Run Code Online (Sandbox Code Playgroud)

如何实现更新控制器补丁功能中的属性?

patch odata .net-core asp.net-core-webapi

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

通过补丁添加时,有没有办法在 git 中添加未跟踪的文件?

所以我正在学习的乐趣git add -p。我曾经使用 Sourcetree 或类似的 GUI 工具来检查更改,作为 的一部分git add,但现在我在命令行上使用它变得更好。

但是,令我感到沮丧的是,我无法在同一命令中添加未跟踪的文件。如果有像这样的选项,我希望git add -p --include-untracked它可以像其他部分一样将它们视为补丁。

有没有更好的方法可以通过单个命令来完成此操作?

git patch git-untracked

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

补丁装饰器 - 没有参数函数的副作用

我想装饰我的测试来修补特定的功能。我对将模拟对象作为函数的参数不感兴趣。在此示例中,我希望能够省略mock_my_foo参数:

def my_foo(self):
    print "My side_effect"

class SampleTest(TestCase):
   @patch('some_module.foo', side_effect=my_foo)
   def test_something(self, mock_my_foo):
      pass
Run Code Online (Sandbox Code Playgroud)

我正在使用 python 2.7

python patch python-2.7

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

如何在 git add 交互式补丁模式中获得更好的帅哥?

我经常使用git add -p somefile交互式暂存给定文件中的部分。但是,如果文件有更复杂的更改,则默认差异会出错,交互式补丁命令提供的大块也会出错。

git diff命令有许多选项可以改进或自定义 diff 输出,包括非常有用的--anchored=<text>,但是有什么方法可以从中获得更好的大块头git add -p吗?

git diff patch interactive git-add

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

Laravel 中何时使用 PATCH 和 PUT 方法?

我不知道 PATCH 和 PUT 方法之间的确切区别。谁能告诉我什么时候应该使用这种方法并举出适当的例子。

patch put laravel

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

如何在使用 mark.parametrize 装饰器的同时使用 patch 装饰器?

我有一个测试功能可以修补一些东西。一旦我达到了超过 2 或 3 个补丁,该功能就开始看起来很糟糕

def test_bla():
    with patch(...):
        with patch(...):
            with patch(...):
                # test
Run Code Online (Sandbox Code Playgroud)

所以我尝试开始使用装饰器。这是我的示例测试,当我引入补丁装饰器时,该测试会中断

import pytest
from unittest.mock import patch

class Example:
    def _run(self, x):
        return x

    def run(self, x):
        return self._run(x) + 1


@pytest.mark.parametrize('x', [1])
def test_example(x):
    assert Example().run(x) == 2


@pytest.mark.parametrize('x', [1])
@patch('Example._run', return_value=0)
def test_example_failure(x):
    with pytest.raises(AssertionError):
        assert Example().run(x) == 2
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

platform linux -- Python 3.6.13, pytest-6.2.1, py-1.10.0, pluggy-0.13.1
rootdir: ..., configfile: pytest.ini
plugins: metadata-1.11.0
collected 0 items / 1 error                                                                                                                                                                                    

==================================================================================================== ERRORS ==================================================================================================== …
Run Code Online (Sandbox Code Playgroud)

python unit-testing patch pytest python-unittest

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