From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2] scripts: add git hook scripts for checkpatch and auto doc generation Date: Thu, 03 Dec 2015 11:09:30 -0800 (PST) Message-ID: <1582860.nH8UZnCz1p@xps13> References: <1446160974-31675-1-git-send-email-ferruh.yigit@intel.com> <1448634897-1193-1-git-send-email-ferruh.yigit@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Ferruh Yigit Return-path: Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by dpdk.org (Postfix) with ESMTP id E4E674A63 for ; Thu, 3 Dec 2015 20:09:30 +0100 (CET) Received: by wmww144 with SMTP id w144so34372695wmw.1 for ; Thu, 03 Dec 2015 11:09:30 -0800 (PST) In-Reply-To: <1448634897-1193-1-git-send-email-ferruh.yigit@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Ferruh, I have a lot of questions :) 2015-11-27 14:34, Ferruh Yigit: > --- a/scripts/checkpatches.sh > +++ b/scripts/checkpatches.sh > @@ -43,6 +43,7 @@ length=${DPDK_CHECKPATCH_LINE_LENGTH:-80} > > # override default Linux options > options="--no-tree" > +options="$options ${GIT_HOOK_OPTIONS}" What is the purpose of this variable? Why adding some options would be specific to git hooks? > +++ b/scripts/git-hooks/deploy.sh > @@ -0,0 +1,20 @@ > + > +SELF=$(basename $0) > + > +if [ ! -f ${SELF} ]; then > + echo "Please run script from folder where script is" > + exit 1 > +fi You do not need to exit. Just cd $(dirname $0). > +for f in ${FILES}; do > + ln -sf ${SCRIPT_FOLDER}/${f} ${TARGET_FOLDER}/${f} > +done; You do not need the ; > --- /dev/null > +++ b/scripts/git-hooks/post-commit > +if [ -n "$RTE_DOC_OUT" ]; then > + OUT_CMD="O=${RTE_DOC_OUT}" > +fi How to pass RTE_DOC_OUT to the hook? Why not use load-devel-config.sh? > +make ${OUT_CMD} doc-guides-html 2>&1 > /dev/null > +make ${OUT_CMD} doc-api-html 2>&1 > /dev/null Why hiding the errors? > --- /dev/null > +++ b/scripts/git-hooks/post-merge Does it work for "git pull --rebase"? > --- /dev/null > +++ b/scripts/git-hooks/pre-commit > +# If "git commit" called with "--no-verify" option, pre-commit hooks > +# bypassed and this script not called, checkpatch bypassed Possible reword: It is skipped with the option "--no-verify" of "git commit". > +RTE_CHECKPATCH=$PWD/scripts/checkpatches.sh What is PWD when calling the hook. May it be a subdir? > +PATCH=/tmp/dpdk-git-auto-checkpatch-$$.patch You need to remove this temporary file when exiting. But it would be better to use stdin. It may need a patch on checkpatches.sh wrapper. In chekpatch.pl: "When FILE is - read standard input". > +export GIT_HOOK_OPTIONS=--no-signoff This variable is wrongly named. > +git diff --cached > ${PATCH} > +exec ${RTE_CHECKPATCH} ${PATCH} When the new "make install" will be applied, I think we should skip these files. Please consider patching mk/rte.sdkinstall.mk. Thanks