42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
# O.M.V. 帝江号
|
|
|
|
## 开发规范
|
|
|
|
**补丁规范**
|
|
|
|
所有的更改必须被 `// OMV start` 和 `// OMV end` 包裹(必须单独起一行),如果单行更改则只需要在行末添加 `// OMV` 即可,新建文件的只需要在文件开头添加 `// OMV` 即可。
|
|
|
|
除非非常简单的更改,否则务必说明更改的内容 `// OMV start: register sql protocol`。
|
|
|
|
所有补丁必须遵循最小化修改的原则,在完成需求的情况下,务必保证对项目的修改最小,改动的数量也需要最小。
|
|
|
|
## 开发指南
|
|
|
|
**初始化**
|
|
|
|
```sh
|
|
bin/update
|
|
```
|
|
|
|
克隆或拉取最新的上游 sing-box 到 `works/sing-box/`。
|
|
|
|
**生成工作目录**
|
|
|
|
```sh
|
|
bin/apply
|
|
```
|
|
|
|
将上游代码同步到 `works/core/`,并应用 `works/patch/` 中的所有补丁。
|
|
|
|
**修改代码**
|
|
|
|
直接编辑 `works/core/` 中的文件。
|
|
|
|
**保存修改为补丁**
|
|
|
|
```sh
|
|
bin/generate
|
|
```
|
|
|
|
对比 `works/core/` 与 `works/sing-box/`,将差异写入 `works/patch/`(按原目录结构,每个文件对应一个 `.patch`)。之后提交 `works/patch/` 即可。
|