标签: patch

如何使用diff创建并将.patch文件正确应用到单个.cpp文件?

我正在尝试使用git diff.patch文件应用于单个.cpp文件.

这些是我的文件:old.cpp,new.cppfix.patch.

old.cpp是原始未修改的源代码,new.cpp是修改源和fix.patch是我想要的,当应用到创建补丁old.cpp应适用从变化new.cpp它.既old.cppnew.cpp视窗(CR LF)行结尾,这两个文件是918 KB大,只有一行被在源修改.

我通过将两个文件old.cppnew.cpp放在同一个文件夹中并使用Git Bash提示符来创建补丁:

git diff -u old.cpp new.cpp > fix.patch
Run Code Online (Sandbox Code Playgroud)

fix.patch文件成功出现,但是当我实际测试,并运用它来old.cpp混帐击键入:

patch old.cpp fix.patch
Run Code Online (Sandbox Code Playgroud)

补丁正在成功应用,但old.cpp 的大小从918 KB 减少894 KB.经过对kdiff3的一些研究后,我发现我新创建的fix.patch文件是使用Unix(LF)行结尾,并且在将它应用到old.cpp之后,修补的old.cpp也采用了 …

git diff patch line-endings

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

在Windows中替换程序可执行文件的策略

我有一个Windows程序需要自动从服务器更新自己.

它已经能够从服务器传输文件并在加载之前更新+验证DLL插件文件等内容.

但是,该程序还需要自行更新.可能有几种不同的方法可以完成,而且我从各种在线游戏客户端看到的最明显的方法是创建一个"自动修补程序",下载然后运行客户端可执行文件.这引入了必须更新autopatcher的问题,所以如果有一个更优雅的解决方案,我想听听它.

我必须想象有一种方法可以将新的可执行文件作为临时文件下载,让我们说"client.exe.tmp",然后启动一个单独的进程,等待原始client.exe退出然后重命名/将新文件复制到其顶部.

有没有人在成功之前做过这类事情,你用什么方法让它发挥作用?

windows patch auto-update

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

使用perl应用补丁文件?

这应该很简单,

有没有办法使用perl应用.patch文件?

我知道我可以使用system我正在寻找模块或其他东西.我查看了search.cpan.org,但我想我没有输入正确的搜索来获得我想要的东西.

有帮助吗?

scripting perl patch

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

在jar文件中替换单个类文件是否安全?

替换jar文件中的单个类文件是否安全?

类文件是否以不安全的方式相互引用?

GRAE

java patch jar executable-jar

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

使用纯WIX进行修补

我正在努力创建一个纯粹使用WIX的补丁,我希望有人能引导我朝着正确的方向前进.

我有几百个源文件,我对它们进行加热以创建一个收获文件,然后使用蜡烛和灯光创建一个包.

我需要更改一些配置文件,然后使用更改创建第二个包.

使用Torch和pyro我创建了.wixmst文件,然后在尝试创建msp文件时,pyro抱怨以下错误.

pyro.exe:错误PYRO0252:未提供附加到修补程序的有效转换.检查以确保在命令行上传递的转换具有在修补程序中创建的匹配基线.另外,请确保目标和升级之间存在差异.

我的问题确实是:patch.wxs应该包含什么?

这是我的patch.wxs的样子:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

    <Patch 
        AllowRemoval="yes"
        Manufacturer="sample llc" 
        MoreInfoURL="sample.com"
        DisplayName="Env Patch" 
        Description="Env Specfic Patch" 
        Classification="Update"
        >

        <Media Id="5000" Cabinet="RTM.cab">
            <PatchBaseline Id="RTM" />
        </Media>

        <PatchFamilyRef Id="EnvPatchFamily" />
    </Patch>

    <Fragment>    
        <PatchFamily Id='EnvPatchFamily' Version='1.0.0.0' ProductCode="PUT-GUID-HERE" Supersede='yes' >

            ********************************************** 
                What component Ref should I put in here
                heat creates a component group and I can't
                put ComponentGroupRef in here
            **********************************************

    </PatchFamily>
    </Fragment>
</Wix>
Run Code Online (Sandbox Code Playgroud)

我正在使用此链接中描述的Wix修补程序:http: //wix.sourceforge.net/manual-wix3/wix_patching.htm

但是,它不考虑使用heat创建的源wix文件.谁能告诉我我在这里做错了什么?

patch wix wix3.5 wix3.6

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

轻松修补OS X应用程序

修补未通过Mac App Store发布的OS X应用程序的最简单方法是什么?

从我收集到的,"标准"方式是通过bsdiff和bspatch,但我注意到一堆程序的软件修补屏幕基本相同,所以我想知道是否有一些工具可以解决那使补丁软件变得容易吗?

这是我看到的屏幕,对于拥有它的所有应用程序来说几乎都是一样的 - 按钮,文字,标题和所有内容都是相同的 - 唯一的变化是图标,名称和发行说明.

它也经历了相同的"下载更新,安装更新"(等等)提示,唯一的变化是应用程序的图标.

软件更新程序

macos patch objective-c updates

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

在Windows中使用diff/patch,又称"无法找到要在输入行4处修补的文件"

我正在使用CVS和win7.我需要将一些更改从主干复制到分支,所以我想我可以使用"diff -ruN"将更改放入文件中,然后使用"patch -i"将它们应用到分支.

所以我看到了这个页面这个页面.我已经有了cygwin diff,所以我在这里得到了gnu补丁.我做了两个文件

\test\mydir1\afile.txt
\test\mydir2\afile.txt
Run Code Online (Sandbox Code Playgroud)

有微小的差异.然后我输入

cd test
diff -ruN mydir1 mydir2 >test.patch
patch --dry-run -i test.patch
Run Code Online (Sandbox Code Playgroud)

结果是

can't find file to patch at input line 4
Perhaps you should have used the -p or --strip option?
Run Code Online (Sandbox Code Playgroud)

所以我试过了

patch --dry-run --verbose -p1 -i test.patch
Run Code Online (Sandbox Code Playgroud)

我得到了同样的错误.很长一段时间我尝试了很多其他的事情,没有成功.为什么这么难?

cvs diff patch windows-7

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

提取由matplotlib补丁括起来的坐标。

我使用matplotlib.patches.ellipse创建了一个椭圆,如下所示:

patch = mpatches.Ellipse(center, major_ax, minor_ax, angle_deg, fc='none', ls='solid', ec='g', lw='3.')
Run Code Online (Sandbox Code Playgroud)

我想要的是此修补程序内包含的所有整数坐标的列表。即,如果我要将此椭圆与每个整数点一起绘制在同一网格上,那么椭圆中将包含哪些点?

我尝试查看是否可以提取椭圆方程,以便可以遍历每个点并查看其是否在直线内,但是我似乎找不到一种明显的方法来完成此操作,因为主椭圆的轴可以以任何角度定向。必须将这些信息存储在某个地方的补丁程序中,但是我似乎找不到它。

任何对此的建议将不胜感激。

python patch matplotlib ellipse

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

在python @patch装饰器中使用self

我正在尝试使用python的mock.patch来实现带鼻子的单元测试.

class A:

    def setUp(self):
        self.b = 8 #contrived example

    @patch.object('module.class', 'function', lambda x: self.b)
    def testOne(self):
        # do test #
Run Code Online (Sandbox Code Playgroud)

在这里,补丁抱怨它不知道自己(这是正确的).什么是以干净的方式获得此类功能的最佳方法?

我知道我可以使用全局变量,或者我可以在测试中模拟它(但这涉及我在测试结束时清理对象).

python unit-testing patch mocking

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

为Ubuntu安装RT Linux补丁

试图通过修补/安装RT Linux来修改内核,从而使我的通用Ubuntu成为实时Ubuntu,但找不到直接的设置。有人可以帮忙吗?

ubuntu kernel patch real-time rtos

4
推荐指数
2
解决办法
8515
查看次数