Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 68FBE200B40 for ; Fri, 1 Jul 2016 09:47:37 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 676F1160A61; Fri, 1 Jul 2016 07:47:37 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 645C0160A5D for ; Fri, 1 Jul 2016 09:47:36 +0200 (CEST) Received: (qmail 13985 invoked by uid 500); 1 Jul 2016 07:47:35 -0000 Mailing-List: contact dev-help@hawq.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hawq.incubator.apache.org Delivered-To: mailing list dev@hawq.incubator.apache.org Received: (qmail 13973 invoked by uid 99); 1 Jul 2016 07:47:35 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Jul 2016 07:47:35 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id DE45A187C7C for ; Fri, 1 Jul 2016 07:47:34 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.179 X-Spam-Level: * X-Spam-Status: No, score=1.179 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id AGfrG581DFzG for ; Fri, 1 Jul 2016 07:47:31 +0000 (UTC) Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id E092A5F4E7 for ; Fri, 1 Jul 2016 07:47:30 +0000 (UTC) Received: by mail-wm0-f44.google.com with SMTP id v199so15395475wmv.0 for ; Fri, 01 Jul 2016 00:47:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=kvx9B55iiJn9f/Q/9PZHyENYaGpODFMlOCIfxvI8yA8=; b=NFes01Or61CMNdIv/0Lhu0AUb1jQ+wsgBZFRkKDWeu9BjuQj3ipSNo2fbAt+aU6T1l ITvdycnqdjR2H3XDPDIfxjjtkZMkB0peKcRFV2cYTnes3pu1GoG4pI7wrIcofPcwe/dI STEfkjc5QyvasfQMr25bX115ZLOiRTpNnvUQJlpbiYaD8KKc7uXKPlnMjZsEq3W/xaD5 7Xa5aMrIJqCBkaQ06OsatDBA/MwQhchJfmYNYUZN8wC+WLuG67qRz2pszGBG7DUIMJzX 5brQwQa2N38/mNMeAAMtpSktPTXDHKm6dW7JaWgO/xPvYh3ia0XmaePtypMS2lwhP/83 Ysfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=kvx9B55iiJn9f/Q/9PZHyENYaGpODFMlOCIfxvI8yA8=; b=RmJLMR+403IFraUq9u/GAG/yjZF4B8p+4WmAgGJkUea03OAoxOtpJqClZjor4TEZjv DkeZH+no3xOognMnvV2ZGcAY2yxxNeEHtmSfifZuANKZVeEzJT77WtsY6AHeYRTu0e77 li6RjbwvnWedlK2fVVne2riQ366hkcK6PJDLOmFPAbqMN+loyCF38FxGy2gV+kWHRXjj g0r6KM0w1531gH2EphVbeCMHLFm7bLeCYAOv8kOrmZxgKAyN3BJIikGmisS8vPnaMsqu rYDD/iduWGjXnyb6k7iCZq1CLlTJwkLBkYp8xk7IvNtBw7sv3a0XDhKs4aI/51poj9vy vJlA== X-Gm-Message-State: ALyK8tKJs698MxjJQGsb33mdPiqybuVIHI6UVvBZao6IkahGhVfn5g0aTkcu0CuNNExfNq5MKegm4cSSFQqy0g== X-Received: by 10.194.116.229 with SMTP id jz5mr2074047wjb.180.1467359249396; Fri, 01 Jul 2016 00:47:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.136.65 with HTTP; Fri, 1 Jul 2016 00:47:28 -0700 (PDT) In-Reply-To: References: From: Guo Gang Date: Fri, 1 Jul 2016 15:47:28 +0800 Message-ID: Subject: Re: Replace git submodule with git clone + file with commit number? To: dev@hawq.incubator.apache.org Content-Type: multipart/alternative; boundary=001a11343536d177d005368e3253 archived-at: Fri, 01 Jul 2016 07:47:37 -0000 --001a11343536d177d005368e3253 Content-Type: text/plain; charset=UTF-8 Radar, it seems that the maven issue could be resolved similarly? 2016-07-01 15:31 GMT+08:00 Guo Gang : > Those submodules will be git-cloned and then compiled only with specific > options > are enabled in configure command. If users want to build them without > Internet > connection they will have to download related git repo with specific > commit number in advance and copy them to hawq repo. Or they can set up > internal git repos and modify the git addresses in hawq source. > > > > 2016-07-01 14:07 GMT+08:00 Radar Da lei : > >> One thought is if they all have released source tarball, we can let user >> download these tarballs to a specified directory. >> >> Then when compiling, we do not do 'git clone' but extract these tarballs >> if >> the specified version tarballs are detected. >> >> But for user who don't have internet access, when compiling, maven >> download >> would be a problem. See: >> >> Downloading: >> >> https://repo.maven.apache.org/maven2/com/pivotal/hawq/hawq-mapreduce-ao/1.1.0/hawq-mapreduce-ao-1.1.0.jar >> Downloading: >> >> https://repo.maven.apache.org/maven2/com/pivotal/hawq/hawq-mapreduce-parquet/1.1.0/hawq-mapreduce-parquet-1.1.0.jar >> [INFO] hawq-hadoop ........................................ FAILURE [ >> 1.757 s] >> >> Thanks. >> >> Regards, >> Radar >> >> On Fri, Jul 1, 2016 at 12:30 AM, Roman Shaposhnik >> wrote: >> >> > Good discussion so far, but I wanted to make sure that our source >> > tarball has an option of being built in an environment completely >> > disconnected from the internet (you can mandate certain shared >> > librarires to be available in the environment, of course). Will this >> > be possible with the current proposal? >> > >> > Thanks, >> > Roman. >> > >> > On Thu, Jun 30, 2016 at 3:51 AM, Guo Gang wrote: >> > > Discussed more with Jiali, I realised that to make hawk repo be more >> > > friendly to gporca developers, I could store git address, branch and a >> > > commit number in one file so that gporca developers could easier >> switch >> > > gporca code. >> > > >> > > 2016-06-30 15:35 GMT+08:00 Guo Gang : >> > > >> > >> 1. HAWQ repo is not a good place for gp-xerces development. My change >> > just >> > >> use a stable and working version of gp-xerces. If gp-xerces >> > developers >> > >> want to >> > >> test it with hawq, they can easily modify code under hawk: >> gp-xerces >> > >> (e.g. pull from >> > >> a branch, etc.), then remove the timestamp file >> > >> depends/thirdpaty/gp-xerces_build_timestamp >> > >> to trigger a rebuild. >> > >> >> > >> 2. Correct. >> > >> >> > >> 2016-06-30 11:31 GMT+08:00 Jiali Yao : >> > >> >> > >>> Hi Paul >> > >>> >> > >>> Generally agree on the approach while I have some questions: >> > >>> >> > >>> 1. Do we need to add branch handling? For example, I am a developer >> > >>> of gp-xerces, >> > >>> I need to test my branch code. >> > >>> >> > >>> 2. Let me double confirm about the build process. Below is >> gp-xerces >> > repo >> > >>> and now HAWQ will be commit a. So I will set commit file >> > gp-xerces.commit >> > >>> in HAWQ repo which indicate we will use commit a. And then sometime >> > later, >> > >>> we want to use b, then we commit gp-xerces.commit to b right? >> And we >> > >>> will have multiple .commit file for each submodule now. right? >> > >>> gp-xerces: >> > >>> commit c >> > >>> .... >> > >>> commit b >> > >>> .... >> > >>> commit a >> > >>> >> > >>> Thanks >> > >>> Jiali >> > >>> >> > >>> On Thu, Jun 30, 2016 at 11:03 AM, Radar Da lei >> > wrote: >> > >>> >> > >>> > +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 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 < >> > >>> > kdhaliwal@pivotal.io> >> > >>> > > 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 >> > >>> 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. >> > >>> > > > > >> > >>> > > > >> > >>> > > >> > >>> > >> > >>> >> > >> >> > >> >> > >> > > --001a11343536d177d005368e3253--