Skip to content

Commit 8bfe7f0

Browse files
committed
update submitting-patch
1 parent 7904a43 commit 8bfe7f0

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

submitting-patches.md

+64
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,69 @@ $ git commit -s
4040

4141
在 commit 的消息中,写上你更改信息的详细描述。这个描述信息将会 push 到公共的 AOSP 库,所以请按照我们的指导来写更改列表的描述信息:
4242

43+
- 开始是一行摘要(最多60字),接着空一行。这样的格式在 git 和 gerrit 中用于各种显示。
44+
45+
```
46+
short description on first line
47+
48+
more detailed description of your patch,
49+
which is likely to take up multiple lines.
50+
```
51+
52+
- 这个描述信息应该着重说明解决了什么问题,怎么解决的。第二部分尽管是值得满意的,但是实现新功能的时候还是比较随意的。
53+
54+
- 写入一些简短的假定或者背景信息,这些内容可能对明年致力于这个功能的奉献者很重要。
55+
56+
在执行 repo init 后得到的独特的 change ID,名称和邮箱将会自动添加到你的 commit 信息中。
57+
58+
### 上传到 gerrit
59+
60+
一旦 commit 你的更改到个人历史,就可以上传到 gerrit。
61+
62+
```
63+
$ repo upload
64+
```
65+
66+
如果你在同一个库中选择了多个分支,你将会得到提示,让你选择一个分支上传。
67+
68+
上传成功之后,repo 将会给你提供一个 Gerrit 新页面的 URL。预览这个链接并在评审服务器上查看你的补丁,添加评论,或者给你的补丁请求特定的评审员。
69+
70+
### 上传一个代替的补丁
71+
72+
假如一个评审员已经看了你的补丁,并且要求你做一些小的更改。你可以通过 git 修改 commit 信息,这样将会在 gerrit 中生成一个新的补丁,但是使用的是原先那个 change ID。
73+
74+
*注意,如果你在上传补丁之前添加了其他 commits,你将需要手动移动你的 git HEAD。*
75+
76+
```
77+
$ git add -A
78+
$ git commit --amend
79+
```
80+
81+
当你上传了修改的补丁,它将在 gerrit 和本地 git 历史中代替之前的。
82+
83+
### 解决同步冲突
84+
85+
如果提交到源码中的其他补丁和你的有冲突,你将需要在源码库新 HEAD 的顶部重新定义你的补丁版本信息。一个简单的方法就是运行:
86+
87+
```
88+
$ repo sync
89+
```
90+
91+
这个命令将会从服务器先 fetches 最新的源码,然后会试图自动定义你的 HEAD 分支版本库状态到新的远程 HEAD 上面。
92+
93+
如果自动定义没有成功,你必须手动执行定义分支的版本库状态。
94+
95+
```
96+
$ repo rebase
97+
```
98+
99+
使用 git mergetool 可能帮助你处理分支的版本库状态冲突。一旦你成功地合并冲突文件,
100+
101+
```
102+
$ git rebase --continue
103+
```
104+
105+
手动或者自动定义分支的版本库状态完成之后,运行 repo upload 来提交你新定义的补丁。
106+
43107

44108

0 commit comments

Comments
 (0)