Hi,

The Git submodule allows us to keep another Git repository in a subdirectory of 
main project. The Submodule repository has its own history, which does not 
interfere with the history of the current repository. This can be used to have 
external dependencies such as third party libraries.

After the extra patch for EDKII-OpenSSL build was removed, OpenSSL can be one 
typical use case of Git Submodule in EDKII project. The Git parent (EDKII) will 
keep track of the release version / tag IDs of Submodules when the module owner 
commit. That will also help to ensure that when we check out the EDKII project 
then the openssl Submodule will also contain its right tags.

One forked EDK2 repository with OpenSSL submodule support was available at 
https://github.com/qloong/edk2 for testing.

For EDKII developers, the possible impacts will include (comparing to the 
original openssl source download / unpacking mechanism):

-          Cloning EDKII project with Submodules
The user can use the following commands to clone both main EDKII repo and 
openssl submodule:
1) Add the "--recursive" flag to their git clone command:
      $ git clone --recursive https://github.com/qloong/edk2
or
2) Manually initialize and update the submodules after the clone operation on 
main project:
      $ git clone https://github.com/qloong/edk2
      $ git submodule update -init -recursive


-          Pulling in Upstream Changes
For Pull operations, one single "git pull" will not update the submodule 
repository. So the following combined commands can be used to pull the remote 
submodule
updates (e.g. updating to new supported OpenSSL release tag)
$ git pull -recurse-submodules && git submodule update -recursive -remote

(For any third-party GUI tools (e.g. TortoiseGit), there are also no direct 
support to sync-up the primary and submodule repo. We need to use extra 
"Pull..." and "Submodule Update..." to handle this case.)

Let me know your comments & suggestions on this possible submodule updates 
(advantage or disadvantage of this change? Any impacts? ...). Thanks.


Best Regards & Thanks,
LONG, Qin
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to