问题标签 [patch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3870 浏览

python - 自更新 py2exe/py2app 应用程序

我维护一个跨平台应用程序,基于在 linux mac 和 windows 上运行的 PyQt。

windows 和 mac 版本使用 py2exe 和 py2app 分发,它们会产生相当大的包 (~40 MB)。

我想添加一个“自动更新”功能,基于补丁来限制下载大小:

  • 在 http 服务器上检查新版本
  • 下载更新到最新版本所需的补丁
  • 应用补丁列表并重新启动应用程序

我有一些疑问:

  • 由于打开的文件被锁定且无法覆盖,因此更新 Windows 应用程序的首选方法是什么?
  • 如何准备和应用补丁?也许使用bsdiff/pspatch

[更新]

我做了一个简单的类来使用bsdiff制作补丁,这在他们的网站上宣传非常有效:我的应用程序的两个 py2exe 版本(未压缩约 75 MB)上的差异会产生一个 44 kB 的补丁!对我来说足够小,我会坚持这种格式。

该代码可在pyflu的“更新”包中找到,这是一个小型 Python 代码库。

0 投票
1 回答
178 浏览

subsonic - 在哪里提交 Subsonic 补丁?

我刚刚为 Subsonic 2.1 发现了一个问题,我为其创建了一个补丁。我该去哪里提交补丁?

0 投票
2 回答
3623 浏览

git - 为什么 git 会留下修改过的文件?如何调整我的工作流程以做得更好?

这将是一个长的,但我希望你能忍受我。

我正在尝试使用 git 将我团队的源代码置于版本控制之下。在尝试找到适合我的不同方法后,我最终决定使用git format-patch功能。FWIW,该产品是在 Windows 中运行的 ASP.NET Web 应用程序,我目前正在使用msysgit

背景:
我有一个包含所有 aspx 文件的登台服务器(镜像生产服务器)。然后我在我的根文件夹中使用init-db创建了一个 git repo并git add .跟踪所有文件。

为了让我在我的笔记本电脑上有一个本地副本,我实际上从登台服务器上压缩了“.git”文件夹并将其通过 FTP 传输到我的本地计算机。将其重命名为“staging.git”并git clone staging.git webappfolder针对我的开发做了一个。

在为 feature1 和 feature2 做了 2 次提交之后,是时候将更改应用回登台服务器了。我做了一个git format-patch -2输出到文件0001blah.patch0002blah.patch.

然后将这两个补丁文件发送到登台服务器,我git am 0001blah.patch在登台服务器本身上做了一个。做一个git log展示提交经过。但是当我做一个git status,它显示Changed but not updated: modified: file1.aspx

这到底是什么意思?我也尝试过做 agit apply 0001blah.patch但我得到的只是一个error" patch failed: file1.aspx: patch does not apply.

我的工作流程有问题吗?有关正确方法或帮助的任何见解都将非常有帮助。同样,修补模型现在对我们来说是最可行的,因为我们不会很快设置 SSH 服务器。

0 投票
2 回答
2030 浏览

svn - 在 svn 中,我可以还原更改并将其搁置以备后用吗?

我在我的 svn 存储库中提交了一些更改。假设 HEAD 位于 r750,我想在不丢失 r746-r750 的情况下恢复 r745。这可能吗?

而且,我可以以某种方式保存 r745 并稍后重新应用它(作为新修订版)吗?

0 投票
1 回答
775 浏览

wix - Building Wix 3.0 升级和补丁

1)构建补丁的最佳实践是什么?

2)是否可以在主要升级(更改产品代码)构建之间构建补丁?

3)如何为产品发送内容(静态文件)更新我们试图通过补丁来做到这一点,但是只更新了 200 个文件就花了很多时间,基本上我们的要求是我们希望在他之后定期向用户发送内容更新已安装产品。

0 投票
2 回答
1148 浏览

patch - NSIS 补丁(一个文件中的多个补丁)

我可以使用 NSIS 的 Vpatch 生成从一个版本到另一个版本的补丁文件。假设我有 mydll.dll 版本 1,并且我有一个补丁可以将其更新到版本 2。然后我又有一个新版本,因此我生成了另一个补丁来将其更新到版本 3。

但令我困扰的是,如果用户取消更新到版本 2 等等会怎样。然后我的最新版本假设是版本 20。用户决定更新到版本 20。有没有办法生成类似于累积性质的补丁?而用户可以从任何旧版本跳转到最新版本(即版本 3 到版本 20)而无需通过其间的版本?

我在 vpatch 的文档中阅读了这一行 ---> “如果您希望能够将版本 1 和 2 升级到版本 3,您可以将 1 > 3 和 2 > 3 补丁放在一个文件中。” 但是我该怎么做呢?

如果我已经有 30 个版本怎么办。这是否意味着我必须创建一个参数是旧文件(版本 1-29)和新文件(版本 20)的补丁?

0 投票
1 回答
312 浏览

c# - 如何执行滚动差异?

您如何在 2 个文件之间执行滚动差异来仅确定已更改的文件部分?

0 投票
1 回答
2324 浏览

postgresql - 架构补丁实践

我们在 Postgres 中有一个模式,我们想建立一个很好的方法来应用模式补丁。

目前,我们有一系列创建模式、表、序列、函数等的 DDL 文件。我们还有一个用于测试环境的填充脚本。这些文件都用于重新创建我们的数据库环境,用于开发、测试等。

我们还有许多与我们系统版本相对应的“补丁”文件。IE。patch/1.0.0.sql、patches/1.0.1.sql 等。这些文件用于更新我们的暂存和生产数据库。

到目前为止,这个过程对我们有效,但内部存在一些关于如何最好地修补模式的争论。

我很好奇其他人有什么作为一个过程来修补登台和生产模式以及如何管理数据库的版本。

谢谢!

0 投票
3 回答
7778 浏览

ruby-on-rails - 您如何将补丁应用于 ruby​​ on rails?

我想应用此线程中提到的 action_mailer 补丁,但我之前从未应用过补丁,我不确定这些补丁是如何工作的: https ://rails.lighthouseapp.com/projects/8994/tickets/2263

我的行动邮件宝石在这里:/opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/actionmailer-2.3.2

我假设我需要去那个目录并运行补丁命令......像这样的东西?

我不太清楚的一件事是补丁文件是指“actionmailer”目录,但我的称为“actionmailer-2.3.2”

0 投票
7 回答
55532 浏览

git - 如何将 git 补丁从一个存储库应用到另一个存储库?

我有两个存储库,一个是库的主存储库,另一个是使用该库的项目。

如果我对从属项目中的 进行修复,我想要一种简单的方法将该补丁应用回上游。

该文件的位置在每个存储库中都不同。

  • 主要回购:www.playdar.org/static/playdar.js
  • 项目:playlick.com/lib/playdar.js

我尝试git format-patch -- lib/playdar.js在 playlick 项目上使用,然后git am在主 playdar repo 上使用,但补丁文件中的不同文件位置引发了错误。

有没有一种简单的方法可以将补丁从给定文件上的给定提交应用到其他地方的另一个任意文件?

对于奖励积分,如果您要应用补丁的文件不在 git 存储库中怎么办?