patch

简介

创建、查看和应用二进制补丁。

vb patch SUBCOMMAND [ARGS...]

示例

  • 将当前更改保存为二进制补丁文件 my_patch.patch

vb patch create my_patch.patch
  • all_patch.patch 补丁文件运用在当前工作副本:

$ vb patch apply all_patch.patch
REMOVE all_patch.patch
UPDATE work2.txt
UPDATE work4.txt
-------------------------------------------------------------------------------
updated-from: a3434c4df4a12086a2d6456a94094ac7c4fa3d67 2024-07-24 11:03:52 UTC
updated-to:   8aa0b7b6467217cf1a0a9f6fb04f9b7aa904b8ca 2024-07-23 07:13:26 UTC
tags:         trunk
comment:      trunk 分支第四次提交 (user: admin)
changes:      3 files modified.
 "vb undo" is available to undo changes to the working checkout.
  • 撤销补丁文件运用在当前工作副本:

$ vb undo
UNDO   all_patch.patch
UNDO   work2.txt
UNDO   work4.txt
--------------------
updated-to:   a3434c4df4a12086a2d6456a94094ac7c4fa3d67 2024-07-24 11:03:52 UTC
tags:         trunk
comment:      patch 测试 (user: admin)

说明

VisionByte 二进制补丁是一个单一(二进制)文件,它捕获了签出的所有未提交的更改。

使用 VisionByte 二进制补丁在机器之间传输拟议或未完成的更改以进行测试或分析。

也可以使用 vb diff 命令来比较两个版本之间的差异并将差异保存到 .patch 补丁文件中,以便后续应用到其他版本库或分享给其他人。

子命令

create

vb patch create [DIRECTORY] PATCHFILE

该命令在指定补丁文件中创建一个新的二进制补丁,该补丁将捕获指定目录签出的所有未提交的更改,如果省略了 DIRECTORY 参数,则捕获当前目录。如​​果 PATCHFILE 参数为 -,则二进制补丁将写入标准输出。

选项

-f|--force

覆盖具有相同名称的现有补丁

apply

vb patch apply [DIRECTORY] PATCHFILE

该命令将指定补丁文件中的更改应用于指定目录的签出上,如果省略了 DIRECTORY 参数,则应用于当前目录。

选项

-f|--force

即使当前签出中有未保存的更改,也要应用补丁。未保存的更改将被还原并永久丢失。

-n|--dry-run

试运行,不执行任何操作,但显示将发生的情况。

-v|--verbose

输出更多详细信息

diff|gdiff

vb patch diff|gdiff [DIRECTORY] PATCHFILE

该命令显示指定补丁文件中补丁的可读差异,并与目录中签出的仓库相关联。 如果省略 DIRECTORY 参数,则使用当前目录。vb help diff 中描述的所有常用 diff 标志均适用。使用 gdiff 时,将使用 gdiff 命令而不是内部 diff 逻辑。此外:

-f|--force

该选项是即使仓库缺少基线信息,也继续尝试执行差异。

push

vb patch push REMOTE-CHECKOUT

为当前签出创建一个补丁,将该补丁传输到远程计算机(使用 ssh )并在那里应用该补丁。REMOTE-CHECKOUT 采用以下格式之一:

  • DIRECTORY

  • HOST:DIRECTORY

  • USER@HOST:DIRECTORY

远程主机上的 .vbyte 可执行文件的名称由 --vbcmd 选项指定,如果没有 --vbcmd ,它首先尝试 $HOME/bin/vb 路径 , 如果在那里找不到,它会在远程 SSH 设置的默认 $PATH 上搜索名为 .vbyte 的任何可执行文件。

选项

-f|--force

即使当前签出中有未保存的更改,也应用补丁。未保存的更改将被还原,然后应用补丁。

--vbcmd EXE

远程可执行文件 vb 的名称

-n|--dry-run

试运行,不执行任何操作,但显示将发生的情况。

-v|--verbose

额外的输出解释发生了什么

pull

vb patch pull REMOTE-CHECKOUT

vb patch push 类似,只是传输是从远程到本地仓库。所有相同的命令行选项均适用。

view

vb patch view PATCHFILE

查看补丁文件 PATCHFILE 中二进制补丁的更改摘要。使用 vb patch diff 查看详细的补丁内容。

选项

-v|--verbose

显示有关补丁的更多详细信息