+1 Since 'git clone' is called automatically in Makefile, I feel this is much better than use submodule.
Regards, Radar On Thu, Jun 30, 2016 at 10:07 AM, Lili Ma <[email protected]> wrote: > Hi Paul, > > I have one question, you mentioned "if I update gp-xerces commit number in > the commit file gp-xerces.commit make will trigger an auto-build". Could > we set the $(gp_xerces_commit) to any commit number? What I mean is, could > we set it to a commit number already existing in my local code, or from > remote code which I have not fetched? > > If the answer is yes, I totally agree this suggestion. > > Thanks > Lili > > On Wed, Jun 29, 2016 at 11:52 PM, Kavinder Dhaliwal <[email protected]> > wrote: > > > +1. I am in favor of this approach, especially if the submodules make the > > source tarball difficult to build. I also agree it will make a developers > > life much easier. > > > > On Wed, Jun 29, 2016 at 3:18 AM, Guo Gang <[email protected]> wrote: > > > > > I'm proposing this change because: > > > > > > 1) We are ready to release the first apache release with "source > > tarball", > > > but > > > submodule is not friendly to source tarball since git submodule > > > require a git parent. > > > > > > 2) With more and more development, I found that submodule mechanism > > > is not that friendly for development, e.g. > > > > > > If the commit number of one submodule is modified, it is hard to > > detect > > > this for Makefile. We need to manually update it in an old repo. If > > > using "git clone", we could easily detect update by set a commit > > number > > > file > > > as dependency and thus easily update the code. > > > > > > Some developers have complained the annoying output in "git status" > > > after building submodules. With "git clone" we can easily mask those > > > directories via .gitignore. > > > > > > It is hard for developers who is not familiar with submodule > (Frankly > > > speaking > > > I really do not think submodule is friendly) to manipulate related > > > directories > > > when necessary. > > > > > > While with the "git clone" solution, we save the commit of previous > > > submodule in a file, > > > and the related Makefile code change is rather simple, e.g. for > > gp-xerces. > > > > > > $(ORCA_BLD_PATH)/gp-xerces_prepare_timestamp: > > > $(ORCA_SRC_PATH)/gp-xerces.commit > > > rm -f $(ORCA_BLD_PATH)/gp-xerces_prepare_timestamp > > > > > > gp-xerces_prepare: $(ORCA_BLD_PATH)/gp-xerces_prepare_timestamp > > > if [ ! -f $(ORCA_BLD_PATH)/gp-xerces_prepare_timestamp ]; then \ > > > [ "x$(gp_xerces_commit)" != "x" ] || exit 1; \ > > > cd $(abs_top_srcdir)/$(subdir); mkdir -p gp-xerces; cd > > gp-xerces; \ > > > [ ! -d .git ] && git clone > > > https://github.com/greenplum-db/gp-xerces.git .; \ > > > git reset --hard $(gp_xerces_commit) || exit 2; \ > > > touch $(ORCA_BLD_PATH)/gp_xerces_prepare_timestamp; \ > > > fi > > > > > > With above code change, if I update gp-xerces commit number in the > commit > > > file > > > gp-xerces.commit make will trigger an auto-build, If I messed up the > > > gp-xerces directory > > > I can easily remove the whole gp-xerces, or just remove the timestamp > > file > > > gp-xerces_prepare_timestamp to trigger an auto build. > > > > > > Any suggestion? Thanks. > > > > > >
