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