-
Notifications
You must be signed in to change notification settings - Fork 27
How to release CarrierNativeSdk
chenyu edited this page Apr 15, 2019
·
2 revisions
本文案描述Elastos.NET.Carrier.Native.Sdk发布版本的流程。
下载全新SDK仓库用于发版:
$ git clone [email protected]:elastos/Elastos.NET.Carrier.Native.SDK.git
现在的发版分支为release-v5.2,命令如下:
$ git checkout release-v5.2
基于release-v5.2创建工作分支fea-newrelease,命令如下:
$ git checkout -b fea-newrelease
通过cherry-pick 合并master上的多个commit到工作分支fea-newrelease上。
$ git log master --oneline -5
(显示简单的log信息,若想要具体的信息,需用git log)。例如:
6fa261d (origin/master, origin/HEAD, master) Fix compilation erros for windows to export static libraries
a7c57d2 Export static libraries on iOS, and static and dynamic libraries on other platforms
7e47787 Update cygwin to 3.0.6-1. (#218)
c6ea5d4 modify including the head files about dependency libcrystal (#216)
2f6adc7 fix @loader_path value for run elatests on MacOS (#214) (#215)
再查看fea-newrelease上的log信息,命令如下:
$ git log --oneline -5
例如:
$ 5b6a151 (HEAD -> fea-newrelease, tag: release-v5.2.3, origin/release-v5.2, release-v5.2) fix @loader_path value for run elatests on MacOS (#214)
cc488fc Modify ela_get_version(). (#212)
b6aa775 Update cygwin for windows platforms
975055e Check portforwarding option in stream channel to open/close portfrowarding. (#210)
9c1c607 fix cross compiling environment (#209)
对比master和release-v5.2的log对比,找出上一个版本发版节点(如上例信息可知上一版本节点为2f6adc7),从该节点往上找到需要合入的commit id,通过cherry-pick逐个合并commit。例如:
$ git cherry-pick c6ea5d4
$ git cherry-pick 7e47787
$ git cherry-pick a7c57d2
$ git cherry-pick 6fa261d
当执行完cherry-pick以后,将会生成一个新的提交;这个新的提交的哈希值和原来的不同,但标识名是一样。如果顺利,就会正常提交;如果在cherry-pick的过程中出现了冲突,就跟普通的冲突一样,手工解决,然后通过git add,git commit产生新的提交。
修改根目录下的 CHANGELOG.MD,添加本次发版信息,随后对该文件进行提交。
提交所有需要合入的代码后,通过git push上传代码。
进入github,在fea-newrelease分支上pull request。等待系统编译通过后将新代码合入release-v5.2分支中。
确保在release-v5.2分支中,选择draft a new release,填写版本信息,发版。