On 06/03/2015 04:50 AM, Gao, Liming wrote:
> Hi, all
>
>    Now, EDKII project Git mirror is ready in GitHub (https://
> <https://github.com/tianocore>github.com/tianocore
> <https://github.com/tianocore>). There are EDKII project Repo and each
> package Repo. After migrate EDKII from SVN to GitHub, EDKII Git Repo
> will be writable, EDKII SVN project will become mirror. I expect to keep
> write access in the centralized Git repo. But, EDKII project Repo (edk2)
> and MdePkg Repo (edk2-MdePkg) includes the same source code. So, only
> one of them will be writable. My proposal is to make Package Repo be
> Read & Write, and update EDKII project to link each package by submodule
> way. The benefit of this way is:
>
> 1.EDKII project is too big. After separate them, the developers can just
> pull their used packages instead of full.
>
> 2.The different packages have the different owners. After separate them,
> the package owner can give write access for the different developers.
>
> 3.Close source project can refer to EDKII packages. Those project can be
> easily setup by git submodule.
>
> Compared to EDKII project Repo, submodule EDKII project Repo just
> includes edksetup.bat, and edksetup.sh. Some BKM of submodule is shared
> here.
>
> 1.Every Git operation is took for Package Repo. Pull, Branch, Commit,
> Create Patch, Fork, and Pull Request are all for Package Repo. If your
> patch changes multiple packages, you need to commit and create patch per
> Package.
>
> 2.git submodule foreach “command” can be used to run command on every
> package, for example git submodule foreach "git pull"
>

I fully agree with others' reluctance to use git submodules, and the 
reasons they have expressed:  git submodules are a major pain for 
developers, and the concerns Liming listed above can be addressed in 
other ways.

When my internal team first transitioned to git, we set up a complex 
submodule-like system to (theoretically) allow easily updating common 
code among different projects.  That only lasted a month or two:  having 
to manage multiple repositories for day-to-day work, and the lack of a 
single commit history spanning the entire tree doomed that scheme.

I collapsed everything together into a single repo using some git 
filter-branch magic, and we've been happy ever since.

Please, no submodules....

Thanks,
-- 

                                                Brian J. Johnson

--------------------------------------------------------------------

   My statements are my own, are not authorized by SGI, and do not
   necessarily represent SGI’s positions.

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to