From aa0724200ae8d7ed532a313f5c3e45c7f99e64ea Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Fri, 3 Mar 2017 22:37:05 +0800 Subject: Add `subrepo` basic usage in developer guide. Change-Id: I4e066d91c9d0775ba698584f561cce997d60ad6b Signed-off-by: Yujun Zhang --- DEVELOP.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/DEVELOP.md b/DEVELOP.md index 893efca4..d6417b4e 100644 --- a/DEVELOP.md +++ b/DEVELOP.md @@ -46,6 +46,63 @@ It is for macOS uses TLS instead of OpenSSL and no header files supported. The s # export LDFLAGS='-L $openssl_install_path/lib' ``` +### Third Party Code + +QTIP includes a few third party code via [subrepo](https://github.com/ingydotnet/git-subrepo). +All third party code are stored in `/third-party`. + +To pull the changes from remote repository, use + +``` +git subrepo pull third-party/ +``` + +It will create a new commit in parent repo, i.e. `qtip`. However, the +auto generated commit message does not include mandatory tags such as +`Change-Id` required by gerrit. You need to manually amend the commit to +append those. + +``` +git commit --amend -s +``` + +Example of final commit message + +``` +Include third party script for license checking and amending +The following commit message are generated automatically by git-subrepo +----------------------------------------------------------------------------- +git subrepo clone git@github.com:openzero-zte/License.git third-party/License + +subrepo: + subdir: "third-party/License" + merged: "61489da" +upstream: + origin: "git@github.com:openzero-zte/License.git" + branch: "master" + commit: "61489da" +git-subrepo: + version: "0.3.0" + origin: "https://github.com/ingydotnet/git-subrepo" + commit: "988f8c8" +----------------------------------------------------------------------------- +Change-Id: I8eab86a8ce3f26995af3e3535f31f361b4826a8b +Signed-off-by: Yujun Zhang +``` + +Sometimes you may modify the third-party code to adapt it in `qtip`. +To push the changes to remote repository, run + +``` +git subrepo push third-party/ +``` + +If you want to include a new repository of third party code. Use + +``` +git subrepo clone [] +``` + ## Architecture **TODO**: move to design spec -- cgit 1.2.3-korg