1

我需要一些功能'apply_patch':

result_string = apply_patch('origin_file.txt', 'origin_file.txt.patch')

或一些命令(适用于 windows 和 linux):

if linux:
    result_string = os.system('linux_patch --apply origin_file.txt origin_file.txt.patch')
elif windows:
    result_string = os.system('windows_patch --apply origin_file.txt origin_file.txt.patch')

有用的信息:我使用 mercurial 作为版本控制系统

4

1 回答 1

1

检查实用程序补丁。它可以满足您的期望。假设你在项目的根目录下,你可以试试:

$ patch --dry-run < file.diff

--dry-run会告诉你补丁是否适用,而不是真正应用它。最终,您将不得不使用选项-pn让补丁知道从路径中删除目录(查看 diff 文件的标题)。

如果补丁已经应用,该实用程序将询问您是否要撤消补丁。

使用 mercurial,您还可以尝试“ hg import ”。如果您的程序需要它,那么您可以从 mercurial.xml 导入相应的模块。

于 2012-06-18T23:03:41.553 回答