• R/O
  • SSH

YSLib-wiki: Commit

The wiki source of YSLib documentation.


Commit MetaInfo

Revisiónda4459448b6b77554ad54d900f7a3d6be6c0508f (tree)
Tiempo2022-09-27 16:30:20
AutorFrankHB <frankhb1989@gmai...>
CommiterFrankHB

Log Message

Tools/Scripts.zh-CN.md: 更新 Tools/Scripts/PatchRevision.sh 的说明。

Cambiar Resumen

Diferencia incremental

diff -r a1d7b36cdbb2 -r da4459448b6b Tools/Scripts.zh-CN.md
--- a/Tools/Scripts.zh-CN.md Wed Aug 31 21:19:09 2022 +0800
+++ b/Tools/Scripts.zh-CN.md Tue Sep 27 15:30:20 2022 +0800
@@ -82,12 +82,28 @@
8282
8383   开发过程中使用 [RevisionPatcher](RevisionPatcher.zh-CN.md) 维护源文件中版本号的脚本。
8484
85-  当前只支持 Mercurial 版本库的已添加或修改的未提交文件。
85+  当前只支持 Mercurial 或 Git 版本库的已添加或修改的未提交文件。
8686
87-  脚本首先把未提交的这些修改导出为补丁备份到版本库根目录的 `bak.patch` ,然后使用这些内容调用 RevisionPatcher 取得文件和对应的新的版本号列表,最后使用 `sed` 查找对应文件并更新版本号。
87+  以下环境变量确定使用 Mercurial 或 Git :
88+
89+* 若环境变量 `PatchHg` 非空,则检查 `hg` 命令可用;
90+* 否则,若环境变量 `PatchGit` 非空,则检查 `git` 命令可用;
91+* 否则,依次检查 `hg` 和 `git` 命令可用,若 `hg` 可用则不再检查 `git` 。
92+
93+  检查可用的命令要求在对应的仓库中,同时确定仓库的顶层目录路径(对 Git ,要求存在工作区)。否则,若检查都失败,则脚本出错,不再继续运行。
94+
95+  脚本利用 `hg` 或 `git` 命令把未提交的这些修改导出为补丁备份到版本库根目录的 `bak.patch` ,然后使用这些内容调用 RevisionPatcher 取得文件和对应的新的版本号列表,最后使用 `sed` 查找对应文件并更新版本号。
96+
97+  使用的 `sed` 应支持 `-b -i` 选项。可使用 Linux 或 MSYS2 的发行版中的 sed 4.8 程序。
98+
99+**警告** 某些 Win32 版本的 `sed` ,如 MSYS2 MinGW64 sed 4.4 可能损坏文本文件的行尾。有些替代版本可能解决[这一问题](https://stackoverflow.com/questions/4652652)。
100+
101+**注释** 当前不检查特定版本 `sed` 对选项的支持。
88102
89103   若没有找到 `\version r` 模式的版本号前缀则忽略写入版本号。写入的版本号不影响换行符。
90104
105+**注释** 这个脚本可用于自动化。例如,在 Mercurial 仓库的 `hgrc` 的 `[hooks]` 节中添加 `precommit.PatchRevision = bash Tools/Scripts/PatchRevision.sh` 可在每次提交前调用这个脚本。在 YSLib 中,仅在主分支版本中启用。
106+
91107 ### 变量 PatchBegin
92108
93109   匹配版本号的起始行,应为一个表示行数的正整数。默认值为 `"1"` 。
@@ -98,7 +114,17 @@
98114
99115 ### 变量 RevisionPatcher
100116
101-  调用 RevisionPatcher 的命令。默认直接使用 `which RevisionPatcher` 的结果,一般要求可执行文件在环境变量 `PATH` 中。
117+  调用 RevisionPatcher 的命令。默认值为 `which RevisionPatcher` 的结果。
118+
119+**注释** 可执行文件可以在环境变量 `PATH` 中。
120+
121+### 变量 PatchHg
122+
123+  指定使用 Mercurial 。参见以上确定使用 Mercurial 或 Git 的说明。
124+
125+### 变量 PatchGit
126+
127+  指定使用 Git 。参见以上确定使用 Mercurial 或 Git 的说明。
102128
103129 ## Tools/Scripts/SHBuild-bootstrap.sh
104130
Show on old repository browser