标签: patch

Eclipse 补丁文件不适用于具有不同名称的同一项目

我通过单击 Team > Create Patch file 创建了一个 Eclipse 补丁文件,然后尝试将该补丁文件应用到完全相同的项目(这意味着它是同一项目的签出),并且 Eclipse 似乎将该项目识别为不同的项目,因为它是项目名称不一样?我虽然 Eclipse 会使用 svn 属性,但看起来补丁选项可能不会这样做?有办法解决吗?

java eclipse svn patch

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

如何在TortoiseSVN中的两个版本之间创建补丁文件?

我正在使用 TortoiseSVN 1.7 并希望在两个修订版之间创建补丁文件。

我已经搜索过,但是这些线程How do I create a patch from diff between revisions using TortoiseSVN? 在两个修订版之间创建补丁对我来说不起作用,因为Show changes as unified diff会生成非常简单的文件(不是补丁文件)。就像是

索引: myfile.txt

=================================================== =================

我在《查看差异》中读到

如果您想在一个视图中查看特定修订版中对所有文件所做的更改,可以使用 Unified-Diff 输出(GNU 补丁格式)。这仅显示了几行上下文的差异。它比视觉文件比较更难阅读,但会一起显示所有更改。从“修订日志”对话框中选择感兴趣的修订,然后从上下文菜单中选择“将差异显示为统一差异”。

我想创建一个包含有用差异信息的单个补丁文件(或根据修改的文件的许多补丁文件)(例如菜单上下文 TortoiseSVN -> 创建补丁...)

tortoisesvn revision patch unified-diff

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

Java 的 AST 差异提取器

假设我有两个这样的源代码:

程序1:

public class MathUtils4M0
{

    public  int getMaxAdjacentSum( int[] numbers )
    {
        if (numbers == null || numbers.length < 2) {
            return 0;
        } else {
            int max = Integer.MIN_VALUE;
            for (int i = 0; i < numbers.length * 1; i++) {
                int temp = numbers[i] + numbers[i + 1];
                if (temp > max) {
                    max = temp;
                }
            }
            return max;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

程序2:

public class MathUtils4M92
{

    public  int getMaxAdjacentSum( int[] numbers )
    {
        if (numbers …
Run Code Online (Sandbox Code Playgroud)

java diff patch abstract-syntax-tree

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

Python 单元测试:如何修补整个类和方法

我正在尝试为现有代码编写单元测试,这些代码编写得不好,并且我发现单元测试非常困难。

def pay(self):
    fraud = NewFraudCheck()
    result, transaction = fraud.verify_transaction()
Run Code Online (Sandbox Code Playgroud)

我目前进行的测试,我正在修补 NewFraudCheck 类

@patch checkout.pay.NewFraudCheck
def test_pay(self, mock_fraud_check):
    mock_fraud_check.verify_transaction.assert_called()
Run Code Online (Sandbox Code Playgroud)

测试失败并出现 ValueError,表明 verify_transaction 没有返回足够的值来解包。

我尝试过添加

mock_fraud_check.verify_data.return_value = (1, 1231231)
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何效果。

python patch mocking

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

如何在 Jersey Invocation Builder 中使用 PATCH 方法?

WebTarget webTarget = httpClient.target(url);
Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_JSON)
                .header(HttpUtils.AUTHORISATION_HEADER_NAME, "Bearer " + theAccessToken);
response = invocationBuilder.put(Entity.json(objectMapper.writeValueAsString(payload)));
Run Code Online (Sandbox Code Playgroud)

httpClient 是类型javax.ws.rs.client.Client并被注入。

invocatioBuilder 实现javax.ws.rs.client.Invocation.Builder,但在包中定义org.glassfish.jersey.client

invocationBuilder.put、invocationBuilder.post、invocationBuilder.get 都存在并且可以工作,但是这里没有 invocationBuilder.patch - 它丢失了。

关于如何修补的任何建议?

==== 更新 ====

经过一番谷歌搜索,似乎球衣客户端不支持补丁。由于我们所有的应用程序 API 调用都是使用 jersey 客户端进行的,因此这有点问题。我想我需要找到一个替代的库、方法和代码来调用补丁,但它也需要支持 OATH 2.0。如果存在这样的库,并且理想情况下有一些示例,您有什么想法吗?

仅供参考,使用 Java 1.8.0_131-b11

patch jersey-client

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

Python 数据类:模拟冻结数据类中的默认工厂

我试图在我的单元测试中使用 freezegun 来修补数据类中的字段,该字段设置为对象初始化时的当前日期。我想这个问题与任何修补被用作 default_factory 的函数的尝试有关,只是在 freezegun 之外。数据类被冻结,所以它是不可变的。

例如,如果我的数据类是:

@dataclass(frozen=True)
class MyClass:
    name: str
    timestamp: datetime.datetime = field(init=False, default_factory=datetime.datetime.now)
Run Code Online (Sandbox Code Playgroud)

当我使用 freezegun 修补 datetime 时,它​​对 MyClass 中时间戳的初始化没有影响(它仍然将时间戳设置为单元测试中 now() 返回的当前日期,导致测试失败)。

我假设它与在补丁到位之前加载的默认工厂和模块有关。我尝试修补日期时间,然后使用 importlib.reload 重新加载模块,但没有运气。

我目前的解决方案是:

@dataclass(frozen=True)
class MyClass:
    name: str
    timestamp: datetime.datetime = field(init=False)

def __post_init__(self):
   object.__setattr__(self, "timestamp", datetime.datetime.now())
Run Code Online (Sandbox Code Playgroud)

哪个有效。

理想情况下,我想要一个非侵入性的解决方案,它不需要我更改我的生产代码来启用我的单元测试。

python unit-testing patch freezegun python-dataclasses

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

kubectl 补丁:是否可以在单个补丁执行中向数组添加多个值

我尝试使用kubectl patch向 kubernetes 部署的 args 列表添加另外两个值。我已经查看了官方记录的(https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/)变体,但没有设法在一个时间。

假设这个简单的部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
spec:
  replicas: 1
  selector:
    matchLabels:
      name: test
  template:
    metadata:
      labels:
        name: test
      name: test
    spec:
      containers:
      - image: alpine
        name: test
        command:
        - echo
        args:
        - my
        - text
Run Code Online (Sandbox Code Playgroud)

我现在想向该args部分附加其他值。这一次只适用于一个值:

添加单个附加值

kubectl patch deployments.apps test --type=json -p='[{"op": "add", "path": "/spec/t
emplate/spec/containers/0/args/-", "value": "additional" }]'
Run Code Online (Sandbox Code Playgroud)

这有效,并给我留下了以下内容:

...
        args:
        - my
        - text
        - additional
Run Code Online (Sandbox Code Playgroud)

但是使用一组值运行补丁会给我一个错误:

# running:
k patch deployments.apps test …
Run Code Online (Sandbox Code Playgroud)

json patch kubernetes

3
推荐指数
2
解决办法
5278
查看次数

如何使用 patch-package 修补 TSX 文件

问题

我正在尝试使用 patch-package 来修补react-native package react-native-tab-view,但是当我编辑react-native-tab-view的node_module中包含的TSX文件并应用我的补丁时,更改不会反映在我的应用程序中。

node_modules/react-native-tab-view 的结构

下面是包结构的屏幕截图。 封装结构

他们还用于@react-native-community/bob在发布之前构建包,以便生成一个 lib 文件夹,其中包含模块文件夹和包含 JS 文件的 commonjs 文件夹。

我目前的统计数据

我的补丁正在创建,但是 /lib/module 中的文件不会更改,并且在模拟器上运行时这些更改也不会反映在我的应用程序中

我尝试在编辑 /src 中的 TSX 文件(而不是模块 /lib/module 中的 JS 文件)后使用 patch-package 应用补丁,因为它实现起来更简单。

环境 react-native 0.63.0补丁包6.2.0react-native-tab-view 2.15.1react-native-gesture-handler 1.5.6react-native-reanimated 1.7.0

问题 我是否缺少构建或编译步骤来让react-native-tab-view从我为其创建补丁的TSX文件生成新的JS文件?

任何帮助将不胜感激!

patch typescript react-native react-native-tab-view patch-package

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

如何将gist中的补丁应用到Django源?

我想试一下修改Django源代码的gist补丁:

要点:550436

我该怎么做?我从来没有使用过git所以一步一步的指导将非常感激.

python git patch github

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

错误:"/ app/etc /"必须存在才能正常工具magento 1.9

我正在尝试为magento 1.9安装新发布的安全补丁.我正在研究窗户系统.

我收到以下错误.

D:\xampp\htdocs\magento>sh PATCH_SUPEE-1533_EE_1.13.x_v1-2015-02-10-08-18-32.sh
ERROR: "/app/etc/" must exist for proper tool work.
Run Code Online (Sandbox Code Playgroud)

我正在运行CMD的命令并且SH工作正常

在此输入图像描述

我也试过Git.但得到同样的错误

在此输入图像描述

也不适用于Linux

在此输入图像描述

任何人都可以告诉我什么是确切的问题以及如何解决它.

谢谢

php patch cmd sh magento-1.9

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