标签: patch

是否有一个知道缩进的差异工具(补丁)?

我经常使用gnu-utils补丁和差异.使用git,我经常这样做:

git diff
Run Code Online (Sandbox Code Playgroud)

通常简单的更改会创建一个大的补丁,因为唯一改变的是,例如,添加一个if/else循环,内部的所有内容都缩进到右边.

查看这样的补丁可能很麻烦,因为只有逐行手动比较才能指示缩进代码中是否有任何实质性更改.我们可能只谈论几行代码,或者几十个(或更多)嵌套代码.(我知道:这样一个假想的大函数最好分成更小的函数,但这不是重点).

当代码块中的唯一更改是缩进并让开发人员知道多少时,GNU diff/patch是否能够注意到?

有没有其他差异工具以这种方式运作?

编辑:好的,--ignore-space-change但是我们处于这样一种情况:或者我们有一个人类更可读的补丁,或者我们有一个完整的补丁,机器会知道如何阅读.难道我们不能拥有更好的两个世界中更好的差异工具,它可以显示人类空间的变化,同时允许机器完全应用补丁吗?

diff patch

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

如何获取特定提交的"git log"补丁

如果我有一个尚未被推送到源的提交哈希,我怎么才能为该提交生成一个补丁.我想使用git log -p --no-names但无法看到交换机传递特定的提交哈希.我应该使用不同的git命令吗?

git version-control patch git-log

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

用差异衍射差异?

我需要知道这两个补丁是否实际相同.

我有一个旧的补丁文件和使用unix diff命令创建的新补丁文件.只是差异补丁报告由于创建补丁时的时间戳而产生的差异.

有没有办法(使用diff?)能够可靠地告诉我这两个补丁是否实际相同?

unix shell diff patch

21
推荐指数
2
解决办法
3981
查看次数

为什么git应用了不创建二进制文件的二进制文件的补丁?

我有一个带有两个二进制文件的git补丁(它是新添加的库).我尝试应用补丁但不创建二进制文件.我尝试git apply--binary选项.还有其他选择从git补丁添加二进制文件吗?我只需要二进制文件.

git binary diff patch

21
推荐指数
2
解决办法
9137
查看次数

如何安装Bumblebee 2021.1.1 Android Studio补丁?

当我打开 Android Studio 时,我收到一条通知,指出有可用更新:

The latest stable release of Android Studio is now available for download.

Android Studio Bumblebee | 2021.1.1 Patch 1 is a major new release and includes performance improvements, bug fixes and new features.

- Intellij 2021.1.1 Platform Update
- New Device Manager
- ADB over Wi-Fi
- Run Instrumented Tests in Android Studio using Gradle
- Android Gradle Plugin Upgrade Assistant now updates API usage
- Non-Transitive R classes on for new projects
- Apple Silicon …
Run Code Online (Sandbox Code Playgroud)

android patch android-studio android-studio-bumblebee

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

如何在Windows上打补丁?

给定(源)补丁文件,在Windows下的源文件上应用此补丁的最简单方法是什么?

一个GUI工具,我可以直观地比较未更改的源代码行将是很好的.

windows patch

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

如何用Python覆盖文件中间的一些字节?

我希望能够使用Python覆盖文件中给定偏移量的某些字节.

我的尝试失败了,导致:

  • 覆盖偏移处的字节,但也会在文件模式="w"或"w +"之后截断文件
  • 在文件末尾附加字节(文件模式="a"或"a +")

是否可以通过Python以便携方式实现这一目标?

python patch file

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

用自定义版本替换Java类库中的类

BasicLabelUI的javax /秋千/ PLAF /基本是通过影响已确认的bug.在我的应用程序中,我需要固定版本提供的功能(为v9提交).由于法律和技术原因,我仍然受限于受影响的JDK版本.

我的方法是在我的项目中创建一个包javax/swing/plaf/basic,包含固定版本.

如何强制我的项目支持我在已安装的JDK中的缺陷类上包含的类的版本?

这必须具有一定的便携性,因为固定类也必须在客户端工作,并且必须忽略JDK安装中的缺陷类.因此,我不想修改JDK,而是绕过这个特定的类.

java patch swingx

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

模拟一个全局变量

我一直在尝试为模块实现一些单元测试.名为alphabet.py的示例模​​块如下:

import database

def length_letters():
    return len(letters)

def contains_letter(letter):
    return True if letter in letters else False


letters = database.get('letters')   # returns a list of letters
Run Code Online (Sandbox Code Playgroud)

我想用我选择的一些值来模拟数据库的响应,但下面的代码似乎不起作用.

import unittests  
import alphabet   
from unittest.mock import patch   


class TestAlphabet(unittest.TestCase): 
    @patch('alphabet.letters')
    def setUp(self, mock_letters):
        mock_letters.return_value = ['a', 'b', 'c']   

    def test_length_letters(self):
        self.assertEqual(3, alphabet.length_letters())

    def test_contains_letter(self):   
        self.assertTrue(alphabet.contains_letter('a'))
Run Code Online (Sandbox Code Playgroud)

我见过很多例子,其中'patch'应用于方法和类,但不适用于变量.我不想修补方法database.get,因为我可能会在以后使用不同的参数再次使用它,所以我需要一个不同的响应.

我在这做错了什么?

python unit-testing patch mocking

20
推荐指数
4
解决办法
3万
查看次数

修补程序 - 修补类引入了一个额外的参数?

第一次使用补丁.我试图修补我的一个类进行测试.没有试图运行的补丁超过测试函数定义,但是使用补丁,测试函数定义显然需要另一个参数,我得到一个

TypeError: testAddChannelWithNamePutsChannel() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)

错误.测试代码如下:

import unittest
import mock
from notification.models import Channel, addChannelWithName, deleteChannelWithName

class TestChannel(unittest.TestCase):
    @mock.patch('notification.models.Channel')
    def testAddChannelWithNamePutsChannel(self):
        addChannelWithName('channel1')
        Channel.put.assert_called_with()
Run Code Online (Sandbox Code Playgroud)

为什么它需要补丁的额外参数以及该参数应该是什么?非常感谢!

python unit-testing patch mocking typeerror

19
推荐指数
2
解决办法
6762
查看次数