summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTCWG BuildSlave <tcwg-buildslave@linaro.org>2023-12-25 14:26:01 +0000
committerTCWG BuildSlave <tcwg-buildslave@linaro.org>2023-12-25 14:26:01 +0000
commit88e164d099dfb66ac87a47824d1d727d326d14fc (patch)
treec08598c49f399d70a1f3eb80f462b3db57646c82
parent8acaa859ce971d05e430eba0932dcb3666a8fac2 (diff)
onsuccess: #157: : [TCWG CI] https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/linaro-local/backup/tcwg_kernel/llvm-master-arm-next-allmodconfig
Results : | # reset_artifacts: | -10 | # build_abe binutils: | -9 | # build_kernel_llvm: | -5 | # build_abe qemu: | -2 | # linux_n_obj: | 24085 | # First few build errors in logs: | | # 00:06:03 drivers/dma/xilinx/xdma.c:757:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses] | # 00:06:03 drivers/dma/xilinx/xdma.c:759:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses] | # 00:06:03 drivers/dma/xilinx/xdma.c:729:1: error: no previous prototype for function 'xdma_prep_interleaved_dma' [-Werror,-Wmissing-prototypes] | # 00:06:03 drivers/dma/xilinx/xdma.c:894:3: error: variable 'desc' is uninitialized when used here [-Werror,-Wuninitialized] | # 00:06:03 make[5]: *** [scripts/Makefile.build:243: drivers/dma/xilinx/xdma.o] Error 1 | # 00:06:09 make[4]: *** [scripts/Makefile.build:481: drivers/dma/xilinx] Error 2 | # 00:08:04 ./include/linux/fortify-string.h:489:4: error: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror,-Wattribute-warning] | # 00:08:04 make[5]: *** [scripts/Makefile.build:243: fs/smb/client/cifsencrypt.o] Error 1 | # 00:08:28 make[3]: *** [scripts/Makefile.build:481: drivers/dma] Error 2 | # 00:09:36 make[4]: *** [scripts/Makefile.build:481: fs/smb/client] Error 2 check_regression status : 0
-rw-r--r--01-reset_artifacts/console.log.xzbin2068 -> 2316 bytes
-rw-r--r--02-prepare_abe/console.log.xzbin2624 -> 2620 bytes
-rw-r--r--03-build_abe-binutils/console.log.xzbin26708 -> 27144 bytes
-rw-r--r--03-build_abe-binutils/make-binutils.log.xzbin17552 -> 17564 bytes
-rw-r--r--04-build_kernel_llvm/console.log.xzbin66420 -> 66688 bytes
-rw-r--r--05-build_abe-qemu/console.log.xzbin32752 -> 33036 bytes
-rw-r--r--05-build_abe-qemu/make-qemu.log.xzbin21744 -> 21864 bytes
-rw-r--r--06-build_linux/console.log.xzbin3984 -> 4432 bytes
-rw-r--r--08-check_regression/console.log.xzbin1252 -> 1568 bytes
-rw-r--r--08-check_regression/results.regressions12
-rw-r--r--README.html1
-rw-r--r--README.txt1
-rw-r--r--git/linux_rev2
-rw-r--r--jenkins/build-name2
-rw-r--r--jenkins/notify-full.log4966
-rw-r--r--jenkins/notify-init.log172
-rw-r--r--jenkins/run-build.env14
-rw-r--r--manifest.sh12
-rw-r--r--notify/jira/comment-template.txt4
-rw-r--r--notify/mail-body.txt44
-rw-r--r--notify/mail-recipients.txt2
-rw-r--r--notify/mail-subject.txt2
-rw-r--r--results14
23 files changed, 4793 insertions, 455 deletions
diff --git a/01-reset_artifacts/console.log.xz b/01-reset_artifacts/console.log.xz
index cad826e..82a7902 100644
--- a/01-reset_artifacts/console.log.xz
+++ b/01-reset_artifacts/console.log.xz
Binary files differ
diff --git a/02-prepare_abe/console.log.xz b/02-prepare_abe/console.log.xz
index f2f7a96..c7baaee 100644
--- a/02-prepare_abe/console.log.xz
+++ b/02-prepare_abe/console.log.xz
Binary files differ
diff --git a/03-build_abe-binutils/console.log.xz b/03-build_abe-binutils/console.log.xz
index b194def..438c2c4 100644
--- a/03-build_abe-binutils/console.log.xz
+++ b/03-build_abe-binutils/console.log.xz
Binary files differ
diff --git a/03-build_abe-binutils/make-binutils.log.xz b/03-build_abe-binutils/make-binutils.log.xz
index 1545ef1..a75e2f1 100644
--- a/03-build_abe-binutils/make-binutils.log.xz
+++ b/03-build_abe-binutils/make-binutils.log.xz
Binary files differ
diff --git a/04-build_kernel_llvm/console.log.xz b/04-build_kernel_llvm/console.log.xz
index 8506db5..7afe12a 100644
--- a/04-build_kernel_llvm/console.log.xz
+++ b/04-build_kernel_llvm/console.log.xz
Binary files differ
diff --git a/05-build_abe-qemu/console.log.xz b/05-build_abe-qemu/console.log.xz
index ca30f65..ce123d2 100644
--- a/05-build_abe-qemu/console.log.xz
+++ b/05-build_abe-qemu/console.log.xz
Binary files differ
diff --git a/05-build_abe-qemu/make-qemu.log.xz b/05-build_abe-qemu/make-qemu.log.xz
index c9eb746..f46acd9 100644
--- a/05-build_abe-qemu/make-qemu.log.xz
+++ b/05-build_abe-qemu/make-qemu.log.xz
Binary files differ
diff --git a/06-build_linux/console.log.xz b/06-build_linux/console.log.xz
index 809b6fd..9f0a198 100644
--- a/06-build_linux/console.log.xz
+++ b/06-build_linux/console.log.xz
Binary files differ
diff --git a/08-check_regression/console.log.xz b/08-check_regression/console.log.xz
index 5db18b6..0eba72b 100644
--- a/08-check_regression/console.log.xz
+++ b/08-check_regression/console.log.xz
Binary files differ
diff --git a/08-check_regression/results.regressions b/08-check_regression/results.regressions
new file mode 100644
index 0000000..d19e3b9
--- /dev/null
+++ b/08-check_regression/results.regressions
@@ -0,0 +1,12 @@
+# First few build errors in logs:
+
+# 00:06:03 drivers/dma/xilinx/xdma.c:757:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses]
+# 00:06:03 drivers/dma/xilinx/xdma.c:759:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses]
+# 00:06:03 drivers/dma/xilinx/xdma.c:729:1: error: no previous prototype for function 'xdma_prep_interleaved_dma' [-Werror,-Wmissing-prototypes]
+# 00:06:03 drivers/dma/xilinx/xdma.c:894:3: error: variable 'desc' is uninitialized when used here [-Werror,-Wuninitialized]
+# 00:06:03 make[5]: *** [scripts/Makefile.build:243: drivers/dma/xilinx/xdma.o] Error 1
+# 00:06:09 make[4]: *** [scripts/Makefile.build:481: drivers/dma/xilinx] Error 2
+# 00:08:04 ./include/linux/fortify-string.h:489:4: error: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror,-Wattribute-warning]
+# 00:08:04 make[5]: *** [scripts/Makefile.build:243: fs/smb/client/cifsencrypt.o] Error 1
+# 00:08:28 make[3]: *** [scripts/Makefile.build:481: drivers/dma] Error 2
+# 00:09:36 make[4]: *** [scripts/Makefile.build:481: fs/smb/client] Error 2
diff --git a/README.html b/README.html
index 17d1769..35ed66b 100644
--- a/README.html
+++ b/README.html
@@ -36,6 +36,7 @@ List of files below:
<li><a href="./05-build_abe-qemu/make-qemu.log.xz">./05-build_abe-qemu/make-qemu.log.xz</a>
<li><a href="./06-build_linux/console.log.xz">./06-build_linux/console.log.xz</a>
<li><a href="./08-check_regression/console.log.xz">./08-check_regression/console.log.xz</a>
+<li><a href="./08-check_regression/results.regressions">./08-check_regression/results.regressions</a>
<li><a href="./git/binutils_rev">./git/binutils_rev</a>
<li><a href="./git/binutils_url">./git/binutils_url</a>
<li><a href="./git/linux_rev">./git/linux_rev</a>
diff --git a/README.txt b/README.txt
index bd1cd2e..73c66de 100644
--- a/README.txt
+++ b/README.txt
@@ -33,6 +33,7 @@ List of files below:
- ./05-build_abe-qemu/make-qemu.log.xz
- ./06-build_linux/console.log.xz
- ./08-check_regression/console.log.xz
+- ./08-check_regression/results.regressions
- ./git/binutils_rev
- ./git/binutils_url
- ./git/linux_rev
diff --git a/git/linux_rev b/git/linux_rev
index cf1170a..e19034b 100644
--- a/git/linux_rev
+++ b/git/linux_rev
@@ -1 +1 @@
-857647efa9be89a13cf8963c7e167fab062b28bb
+39676dfe52331dba909c617f213fdb21015c8d10
diff --git a/jenkins/build-name b/jenkins/build-name
index fac83f2..107ece7 100644
--- a/jenkins/build-name
+++ b/jenkins/build-name
@@ -1 +1 @@
-#156-binutils-llvm-qemu-R24086
+#157-linux-R# 00:09:36 make[4]: *** [scripts/Makefile.build:481: fs/smb/client] Error 2
diff --git a/jenkins/notify-full.log b/jenkins/notify-full.log
index 2500c65..cbb71d5 100644
--- a/jenkins/notify-full.log
+++ b/jenkins/notify-full.log
@@ -1,6 +1,6 @@
+ set +x
-/home/tcwg-buildslave/workspace/tcwg_kernel_1/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts __TCWG_JIRA_TOKEN ATATT3xFfGF0T6lmyRRI1GPXAjFc6UC66WsAJyuXpga-0JusQbYQdlG4NfS8kED4ejPRlZs9E57FWxFlN7K67E-9t-EXcNqVpzVQwTRd2JDDboAUNRnk00rMY9KXELe8Jb9dKP7p3MTXz2HTqtpMKIM2VZQUmZf_TcIuAN0mVpSPtZtdoLZBnCk=34F9AA87 __stage full __verbose true __build_script tcwg_kernel-build.sh
+/home/tcwg-buildslave/workspace/tcwg_kernel_0/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts __TCWG_JIRA_TOKEN ATATT3xFfGF0T6lmyRRI1GPXAjFc6UC66WsAJyuXpga-0JusQbYQdlG4NfS8kED4ejPRlZs9E57FWxFlN7K67E-9t-EXcNqVpzVQwTRd2JDDboAUNRnk00rMY9KXELe8Jb9dKP7p3MTXz2HTqtpMKIM2VZQUmZf_TcIuAN0mVpSPtZtdoLZBnCk=34F9AA87 __stage full __verbose true __build_script tcwg_kernel-build.sh
+ false
+ dryrun=
@@ -26,17 +26,17 @@
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-# Baseline : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/154/
+# Baseline : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/
# Using dir : base-artifacts
-+ echo '# Baseline : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/154/'
++ echo '# Baseline : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/'
+ echo '# Using dir : base-artifacts'
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-# Artifacts : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/
+# Artifacts : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/
# Using dir : artifacts
-+ echo '# Artifacts : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/'
++ echo '# Artifacts : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/'
+ echo '# Using dir : artifacts'
+ echo ''
+ mkdir -p artifacts/notify
@@ -61,130 +61,100 @@
+++ set -euf -o pipefail
+++ local c delim=
+++ for c in ${rr[components]}
-+++ '[' xgit://sourceware.org/git/binutils-gdb.git#master '!=' xbaseline ']'
-+++ echo -ne binutils
-+++ delim=' '
-+++ for c in ${rr[components]}
-+++ '[' xhttps://github.com/llvm/llvm-project.git#main '!=' xbaseline ']'
-+++ echo -ne ' llvm'
-+++ delim=' '
++++ '[' xbaseline '!=' xbaseline ']'
+++ for c in ${rr[components]}
+++ '[' xbaseline '!=' xbaseline ']'
+++ for c in ${rr[components]}
-+++ '[' xhttps://gitlab.com/qemu-project/qemu.git#master '!=' xbaseline ']'
-+++ echo -ne ' qemu'
++++ '[' xhttps://git.linaro.org/kernel-org/linux-next.git#master '!=' xbaseline ']'
++++ echo -ne linux
+++ delim=' '
++++ for c in ${rr[components]}
++++ '[' xbaseline '!=' xbaseline ']'
+++ echo
++ for c in $(print_updated_components)
-+++ get_current_git binutils_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No binutils_rev in current git' '[' -f artifacts/git/binutils_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/binutils_rev
-+++ get_baseline_git binutils_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No binutils_rev in baseline git' '[' -f base-artifacts/git/binutils_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/binutils_rev
-++ '[' xca86dbbdbc04fbe6298e597a3c94c8071ea722a1 '!=' x333a6b1a6399992cc98ac34727acf38136b770e6 ']'
-++ echo -ne binutils
-++ delim=' '
-++ for c in $(print_updated_components)
-+++ get_current_git llvm_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/llvm_rev
-+++ get_baseline_git llvm_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/llvm_rev
-++ '[' x37fc9c6a4227b1736cc643eb95636d9f7ec30190 '!=' x36b6f77565c9d3d75c03600df4b8719bb518bdc0 ']'
-++ echo -ne ' llvm'
-++ delim=' '
-++ for c in $(print_updated_components)
-+++ get_current_git qemu_rev
++++ get_current_git linux_rev
+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No qemu_rev in current git' '[' -f artifacts/git/qemu_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat artifacts/git/qemu_rev
-+++ get_baseline_git qemu_rev
++++ cat artifacts/git/linux_rev
++++ get_baseline_git linux_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No qemu_rev in baseline git' '[' -f base-artifacts/git/qemu_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/qemu_rev
-++ '[' x80f1709aa0eb4de09b4240563463f991a5b9d855 '!=' x191710c221f65b1542f6ea7fa4d30dde6e134fd7 ']'
-++ echo -ne ' qemu'
++++ cat base-artifacts/git/linux_rev
+++ '[' x39676dfe52331dba909c617f213fdb21015c8d10 '!=' x857647efa9be89a13cf8963c7e167fab062b28bb ']'
+++ echo -ne linux
++ delim=' '
++ echo
+ local c base_rev cur_rev c_commits
-+ '[' 3 = 0 ']'
-+ '[' 3 = 1 ']'
-# Debug traces :
-# change_kind=multiple_components : binutils llvm qemu
-+ change_kind=multiple_components
-+ changed_single_component=
-+ echo '# Debug traces :'
-+ echo '# change_kind=multiple_components : binutils llvm qemu'
-+ for c in "${changed_components[@]}"
-++ get_baseline_git binutils_rev
++ '[' 1 = 0 ']'
++ '[' 1 = 1 ']'
++ changed_single_component=linux
+++ get_current_git linux_rev
++ set -euf -o pipefail
-++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No binutils_rev in baseline git' '[' -f base-artifacts/git/binutils_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/binutils_rev
-+ base_rev=333a6b1a6399992cc98ac34727acf38136b770e6
-++ get_current_git binutils_rev
+++ cat artifacts/git/linux_rev
++ first_bad=39676dfe52331dba909c617f213fdb21015c8d10
+++ get_baseline_git linux_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No binutils_rev in current git' '[' -f artifacts/git/binutils_rev ']'
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/binutils_rev
-+ cur_rev=ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-++ git -C binutils rev-list --count 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-# rev for binutils : 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1 (67 commits)
-+ c_commits=67
-+ echo '# rev for binutils : 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1 (67 commits)'
-+ for c in "${changed_components[@]}"
-++ get_baseline_git llvm_rev
+++ cat base-artifacts/git/linux_rev
++ last_good=857647efa9be89a13cf8963c7e167fab062b28bb
++ local res
++ res=0
++ wait 7306
++ git -C linux rev-parse --verify HEAD
++ assert_with_msg 'Cannot parse HEAD in repo linux' '[' 0 = 0 ']'
++ set -euf -o pipefail +x
++ single_commit_p linux
++ set -euf -o pipefail
++ local c=linux
++ local base_rev cur_rev sha1
+++ get_baseline_git linux_rev
++ set -euf -o pipefail
++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/llvm_rev
-+ base_rev=36b6f77565c9d3d75c03600df4b8719bb518bdc0
-++ get_current_git llvm_rev
+++ cat base-artifacts/git/linux_rev
++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
+++ get_current_git linux_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/llvm_rev
-+ cur_rev=37fc9c6a4227b1736cc643eb95636d9f7ec30190
-++ git -C llvm rev-list --count 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190
-# rev for llvm : 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190 (204 commits)
-+ c_commits=204
-+ echo '# rev for llvm : 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190 (204 commits)'
+++ cat artifacts/git/linux_rev
++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
+++ git -C linux rev-parse '39676dfe52331dba909c617f213fdb21015c8d10^@'
++ for sha1 in $(git -C "$c" rev-parse "$cur_rev^@")
++ '[' ab8a1e47afc0e8e19ef542c127784674711bf442 = 857647efa9be89a13cf8963c7e167fab062b28bb ']'
++ return 1
+# Debug traces :
+# change_kind=single_component : linux
++ change_kind=single_component
++ echo '# Debug traces :'
++ echo '# change_kind=single_component : linux'
+ for c in "${changed_components[@]}"
-++ get_baseline_git qemu_rev
+++ get_baseline_git linux_rev
++ set -euf -o pipefail
++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No qemu_rev in baseline git' '[' -f base-artifacts/git/qemu_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/qemu_rev
-+ base_rev=191710c221f65b1542f6ea7fa4d30dde6e134fd7
-++ get_current_git qemu_rev
+++ cat base-artifacts/git/linux_rev
++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
+++ get_current_git linux_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No qemu_rev in current git' '[' -f artifacts/git/qemu_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/qemu_rev
-+ cur_rev=80f1709aa0eb4de09b4240563463f991a5b9d855
-++ git -C qemu rev-list --count 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855
-# rev for qemu : 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855 (37 commits)
+++ cat artifacts/git/linux_rev
++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
+++ git -C linux rev-list --count 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10
+# rev for linux : 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10 (906 commits)
-+ c_commits=37
-+ echo '# rev for qemu : 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855 (37 commits)'
++ c_commits=906
++ echo '# rev for linux : 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10 (906 commits)'
+ echo ''
+ setup_stages_to_run
+ '[' ignore = onregression ']'
@@ -209,7 +179,7 @@
+ set -euf -o pipefail
+ echo '# post_interesting_commits'
+ local stage=init
-+ '[' multiple_components '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ '[' full '!=' full ']'
+ generate_extra_details
@@ -227,8 +197,8 @@
++ assert_with_msg 'ERROR: No binutils in current git' '[' -f base-artifacts/git/binutils_rev ']'
++ set -euf -o pipefail +x
+++ cat base-artifacts/git/binutils_rev
-++ git -C binutils show --no-patch --pretty=%ct 333a6b1a6399992cc98ac34727acf38136b770e6
-+ base_d=1703159486
+++ git -C binutils show --no-patch --pretty=%ct ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
++ base_d=1703481090
++ get_current_component_date binutils
++ set -euf -o pipefail
++ assert_with_msg 'ERROR: No binutils in current git' '[' -f artifacts/git/binutils_rev ']'
@@ -236,9 +206,9 @@
+++ cat artifacts/git/binutils_rev
++ git -C binutils show --no-patch --pretty=%ct ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
+ cur_d=1703481090
-+ '[' x1703159486 '!=' x ']'
++ '[' x1703481090 '!=' x ']'
+ '[' x1703481090 = x ']'
-+ '[' 1703481090 -lt 1703159486 ']'
++ '[' 1703481090 -lt 1703481090 ']'
+ '[' x1703481090 = x ']'
+ '[' 1703481090 -gt 0 ']'
+ results_date=1703481090
@@ -249,8 +219,8 @@
++ assert_with_msg 'ERROR: No llvm in current git' '[' -f base-artifacts/git/llvm_rev ']'
++ set -euf -o pipefail +x
+++ cat base-artifacts/git/llvm_rev
-++ git -C llvm show --no-patch --pretty=%ct 36b6f77565c9d3d75c03600df4b8719bb518bdc0
-+ base_d=1703161011
+++ git -C llvm show --no-patch --pretty=%ct 37fc9c6a4227b1736cc643eb95636d9f7ec30190
++ base_d=1703504286
++ get_current_component_date llvm
++ set -euf -o pipefail
++ assert_with_msg 'ERROR: No llvm in current git' '[' -f artifacts/git/llvm_rev ']'
@@ -258,9 +228,9 @@
+++ cat artifacts/git/llvm_rev
++ git -C llvm show --no-patch --pretty=%ct 37fc9c6a4227b1736cc643eb95636d9f7ec30190
+ cur_d=1703504286
-+ '[' x1703161011 '!=' x ']'
++ '[' x1703504286 '!=' x ']'
+ '[' x1703504286 = x ']'
-+ '[' 1703504286 -lt 1703161011 ']'
++ '[' 1703504286 -lt 1703504286 ']'
+ '[' x1703504286 = x ']'
+ '[' 1703504286 -gt 1703481090 ']'
+ results_date=1703504286
@@ -278,13 +248,13 @@
++ assert_with_msg 'ERROR: No linux in current git' '[' -f artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
+++ cat artifacts/git/linux_rev
-++ git -C linux show --no-patch --pretty=%ct 857647efa9be89a13cf8963c7e167fab062b28bb
-+ cur_d=1703155249
+++ git -C linux show --no-patch --pretty=%ct 39676dfe52331dba909c617f213fdb21015c8d10
++ cur_d=1703221679
+ '[' x1703155249 '!=' x ']'
-+ '[' x1703155249 = x ']'
-+ '[' 1703155249 -lt 1703155249 ']'
-+ '[' x1703155249 = x ']'
-+ '[' 1703155249 -gt 1703504286 ']'
++ '[' x1703221679 = x ']'
++ '[' 1703221679 -lt 1703155249 ']'
++ '[' x1703221679 = x ']'
++ '[' 1703221679 -gt 1703504286 ']'
+ for c in $(get_current_manifest "{rr[components]}")
++ get_baseline_component_date qemu
++ set -euf -o pipefail
@@ -292,8 +262,8 @@
++ assert_with_msg 'ERROR: No qemu in current git' '[' -f base-artifacts/git/qemu_rev ']'
++ set -euf -o pipefail +x
+++ cat base-artifacts/git/qemu_rev
-++ git -C qemu show --no-patch --pretty=%ct 191710c221f65b1542f6ea7fa4d30dde6e134fd7
-+ base_d=1703083216
+++ git -C qemu show --no-patch --pretty=%ct 80f1709aa0eb4de09b4240563463f991a5b9d855
++ base_d=1703205859
++ get_current_component_date qemu
++ set -euf -o pipefail
++ assert_with_msg 'ERROR: No qemu in current git' '[' -f artifacts/git/qemu_rev ']'
@@ -301,9 +271,9 @@
+++ cat artifacts/git/qemu_rev
++ git -C qemu show --no-patch --pretty=%ct 80f1709aa0eb4de09b4240563463f991a5b9d855
+ cur_d=1703205859
-+ '[' x1703083216 '!=' x ']'
++ '[' x1703205859 '!=' x ']'
+ '[' x1703205859 = x ']'
-+ '[' 1703205859 -lt 1703083216 ']'
++ '[' 1703205859 -lt 1703205859 ']'
+ '[' x1703205859 = x ']'
+ '[' 1703205859 -gt 1703504286 ']'
+ assert_with_msg 'Failed to produce results_date' '[' 1703504286 -gt 0 ']'
@@ -311,27 +281,27 @@
++ get_baseline_manifest '{rr[results_date]}'
++ get_manifest base-artifacts/manifest.sh '{rr[results_date]}' false
++ set +x
-+ base_d=1703161011
-+ '[' 1703161011 '!=' '' ']'
-+ assert '[' 1703504286 -ge 1703161011 ']'
++ base_d=1703332648
++ '[' 1703332648 '!=' '' ']'
++ assert '[' 1703504286 -ge 1703332648 ']'
+ set -euf -o pipefail +x
-+ '[' 1703504286 -gt 1703161011 ']'
-+ results_date=1703332648
-+ rr[results_date]=1703332648
++ '[' 1703504286 -gt 1703332648 ']'
++ results_date=1703418467
++ rr[results_date]=1703418467
+ cat
+ manifest_out
+ cat
+ check_if_first_report
+ declare -g first_icommit_to_report
+ first_icommit_to_report=false
-+ '[' xmultiple_components '!=' xsingle_commit ']'
++ '[' xsingle_component '!=' xsingle_commit ']'
+ return
+ post_interesting_commits full
# post_interesting_commits
+ set -euf -o pipefail
+ echo '# post_interesting_commits'
+ local stage=full
-+ '[' multiple_components '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ true
+ generate_jira_dir
@@ -342,7 +312,7 @@
++ set -euf -o pipefail
++ local print_arg=--entry
++ shift 1
-++ '[' xmultiple_components '!=' xsingle_commit ']'
+++ '[' xsingle_component '!=' xsingle_commit ']'
++ return 0
+ icommit_entry=
+ '[' '' '!=' '' ']'
@@ -352,8 +322,8 @@
++ print_jira_template_card
++ local jira_card=GNU-692
++ case "$ci_project/$ci_config:$changed_single_component" in
-++ jira_card=LLVM-646
-++ echo LLVM-646
+++ jira_card=LLVM-647
+++ echo LLVM-647
++ print_result --oneline
++ false
++ local print_arg=--oneline
@@ -366,9 +336,9 @@
+++ get_current_manifest BUILD_URL
+++ get_manifest artifacts/manifest.sh BUILD_URL
+++ set +x
-++ url=https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/artifact/artifacts
+++ url=https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/artifact/artifacts
++ '[' '' '!=' '' ']'
-++ echo 'https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/artifact/artifacts/notify/mail-body.txt/*view*/'
+++ echo 'https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/artifact/artifacts/notify/mail-body.txt/*view*/'
# print all notification files
+ echo '# print all notification files'
+ true
@@ -376,79 +346,4504 @@
+ set -euf -o pipefail
+ print_mail_recipients
+ set -euf -o pipefail
-+ local c=
++ local c=linux
++ '[' linux = '' ']'
++ local -A emails
++ emails["tcwg-validation@linaro.org"]=bcc
++ emails["author"]=cc
++ emails["committer"]=to
++ case "$ci_project/$ci_config:$c" in
++ emails["author"]=no
++ emails["committer"]=no
++ emails["llvm@lists.linux.dev"]=to_postcommit
++ local c email base_rev cur_rev
+++ get_baseline_git linux_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/linux_rev
++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
+++ get_current_git linux_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/linux_rev
++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
++ read -r email
+++ git -C linux log --pretty=%ae 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ local precommit_postcommit=postcommit
+ '[' '' = '' ']'
-+ echo bcc:tcwg-validation@linaro.org
-+ return 0
+++ get_baseline_git linux_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
+++ cat base-artifacts/git/linux_rev
++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
+++ get_current_git linux_rev
+++ set -euf -o pipefail
+++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
+++ cat artifacts/git/linux_rev
++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
++ read -r email
+++ git -C linux log --pretty=%ce 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ emails["$email"]=no
++ read -r email
++ unset 'emails[author]' 'emails[committer]'
++ local type
++ recipients=()
++ local -a recipients
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=bcc
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ recipients+=("$type:$email")
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=to_postcommit
++ case "$precommit_postcommit:$type" in
++ type=to
++ case "$type" in
++ recipients+=("$email")
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ for email in "${!emails[@]}"
++ type=no
++ case "$precommit_postcommit:$type" in
++ case "$type" in
++ IFS=,
++ echo bcc:tcwg-validation@linaro.org,llvm@lists.linux.dev
++ print_commits --oneline
++ set -euf -o pipefail
++ false
++ local print_arg=--oneline
-++ '[' multiple_components = no_change ']'
+++ '[' single_component = no_change ']'
++ local more_lines
-++ '[' multiple_components = single_commit ']'
-++ '[' multiple_components = single_component ']'
-++ '[' multiple_components = multiple_components ']'
+++ '[' single_component = single_commit ']'
+++ '[' single_component = single_component ']'
++ local new_commits c base_rev cur_rev c_commits components
++ local commits_or_patches
++ '[' '' '!=' '' ']'
++ commits_or_patches=commits
++ new_commits=0
++ for c in "${changed_components[@]}"
-+++ get_baseline_git binutils_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No binutils_rev in baseline git' '[' -f base-artifacts/git/binutils_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/binutils_rev
-++ base_rev=333a6b1a6399992cc98ac34727acf38136b770e6
-+++ get_current_git binutils_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No binutils_rev in current git' '[' -f artifacts/git/binutils_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/binutils_rev
-++ cur_rev=ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-+++ git -C binutils rev-list --count 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-++ c_commits=67
-++ new_commits=67
-++ for c in "${changed_components[@]}"
-+++ get_baseline_git llvm_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/llvm_rev
-++ base_rev=36b6f77565c9d3d75c03600df4b8719bb518bdc0
-+++ get_current_git llvm_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/llvm_rev
-++ cur_rev=37fc9c6a4227b1736cc643eb95636d9f7ec30190
-+++ git -C llvm rev-list --count 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190
-++ c_commits=204
-++ new_commits=271
-++ for c in "${changed_components[@]}"
-+++ get_baseline_git qemu_rev
++++ get_baseline_git linux_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No qemu_rev in baseline git' '[' -f base-artifacts/git/qemu_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/qemu_rev
-++ base_rev=191710c221f65b1542f6ea7fa4d30dde6e134fd7
-+++ get_current_git qemu_rev
++++ cat base-artifacts/git/linux_rev
+++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
++++ get_current_git linux_rev
+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No qemu_rev in current git' '[' -f artifacts/git/qemu_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat artifacts/git/qemu_rev
-++ cur_rev=80f1709aa0eb4de09b4240563463f991a5b9d855
-+++ git -C qemu rev-list --count 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855
-++ c_commits=37
-++ new_commits=308
-+++ echo binutils llvm qemu
++++ cat artifacts/git/linux_rev
+++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
++++ git -C linux rev-list --count 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10
+++ c_commits=906
+++ new_commits=906
++++ echo linux
+++ tr ' ' ,
-++ components=binutils,llvm,qemu
-++ echo '308 commits in binutils,llvm,qemu'
+++ components=linux
+++ echo '906 commits in linux'
++ '[' --oneline = --oneline ']'
++ return 0
++ print_result --oneline
@@ -463,19 +4858,19 @@
++ case "$print_arg" in
++ case "$ci_config" in
++ echo arm
-+ echo '[Linaro-TCWG-CI]' '308 commits in binutils,llvm,qemu: Success on arm'
++ echo '[Linaro-TCWG-CI]' '906 commits in linux: Success on arm'
+ print_mail_body
+ local bad_artifacts_url good_artifacts_url
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-+ bad_artifacts_url=https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/artifact/artifacts
++ bad_artifacts_url=https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/artifact/artifacts
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-+ good_artifacts_url=https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/154/artifact/artifacts
++ good_artifacts_url=https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/artifact/artifacts
+ local key=
-+ '[' multiple_components = single_commit ']'
++ '[' single_component = single_commit ']'
+ cat
+ '[' '' '!=' '' ']'
+ cat
@@ -489,134 +4884,59 @@
++ set -euf -o pipefail
++ false
++ local print_arg=--short
-++ '[' multiple_components = no_change ']'
+++ '[' single_component = no_change ']'
++ local more_lines
-++ '[' multiple_components = single_commit ']'
-++ '[' multiple_components = single_component ']'
-++ '[' multiple_components = multiple_components ']'
+++ '[' single_component = single_commit ']'
+++ '[' single_component = single_component ']'
++ local new_commits c base_rev cur_rev c_commits components
++ local commits_or_patches
++ '[' '' '!=' '' ']'
++ commits_or_patches=commits
++ new_commits=0
++ for c in "${changed_components[@]}"
-+++ get_baseline_git binutils_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No binutils_rev in baseline git' '[' -f base-artifacts/git/binutils_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/binutils_rev
-++ base_rev=333a6b1a6399992cc98ac34727acf38136b770e6
-+++ get_current_git binutils_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No binutils_rev in current git' '[' -f artifacts/git/binutils_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/binutils_rev
-++ cur_rev=ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-+++ git -C binutils rev-list --count 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-++ c_commits=67
-++ new_commits=67
-++ for c in "${changed_components[@]}"
-+++ get_baseline_git llvm_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/llvm_rev
-++ base_rev=36b6f77565c9d3d75c03600df4b8719bb518bdc0
-+++ get_current_git llvm_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/llvm_rev
-++ cur_rev=37fc9c6a4227b1736cc643eb95636d9f7ec30190
-+++ git -C llvm rev-list --count 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190
-++ c_commits=204
-++ new_commits=271
-++ for c in "${changed_components[@]}"
-+++ get_baseline_git qemu_rev
++++ get_baseline_git linux_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No qemu_rev in baseline git' '[' -f base-artifacts/git/qemu_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/qemu_rev
-++ base_rev=191710c221f65b1542f6ea7fa4d30dde6e134fd7
-+++ get_current_git qemu_rev
++++ cat base-artifacts/git/linux_rev
+++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
++++ get_current_git linux_rev
+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No qemu_rev in current git' '[' -f artifacts/git/qemu_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat artifacts/git/qemu_rev
-++ cur_rev=80f1709aa0eb4de09b4240563463f991a5b9d855
-+++ git -C qemu rev-list --count 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855
-++ c_commits=37
-++ new_commits=308
-+++ echo binutils llvm qemu
++++ cat artifacts/git/linux_rev
+++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
++++ git -C linux rev-list --count 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10
+++ c_commits=906
+++ new_commits=906
++++ echo linux
+++ tr ' ' ,
-++ components=binutils,llvm,qemu
-++ echo '308 commits in binutils,llvm,qemu'
+++ components=linux
+++ echo '906 commits in linux'
++ '[' --short = --oneline ']'
++ for c in "${changed_components[@]}"
-+++ get_baseline_git binutils_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No binutils_rev in baseline git' '[' -f base-artifacts/git/binutils_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/binutils_rev
-++ base_rev=333a6b1a6399992cc98ac34727acf38136b770e6
-+++ get_current_git binutils_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No binutils_rev in current git' '[' -f artifacts/git/binutils_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/binutils_rev
-++ cur_rev=ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-+++ git -C binutils rev-list --count 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-++ c_commits=67
-++ '[' '' '!=' '' ']'
-++ git -C binutils log -n 5 --oneline 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-++ '[' 67 -gt 5 ']'
-++ echo '... and 62 more commits in binutils'
-++ '[' '' '!=' '' ']'
-++ for c in "${changed_components[@]}"
-+++ get_baseline_git llvm_rev
++++ get_baseline_git linux_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/llvm_rev
-++ base_rev=36b6f77565c9d3d75c03600df4b8719bb518bdc0
-+++ get_current_git llvm_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/llvm_rev
-++ cur_rev=37fc9c6a4227b1736cc643eb95636d9f7ec30190
-+++ git -C llvm rev-list --count 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190
-++ c_commits=204
-++ '[' '' '!=' '' ']'
-++ git -C llvm log -n 5 --oneline 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190
-++ '[' 204 -gt 5 ']'
-++ echo '... and 199 more commits in llvm'
-++ '[' '' '!=' '' ']'
-++ for c in "${changed_components[@]}"
-+++ get_baseline_git qemu_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No qemu_rev in baseline git' '[' -f base-artifacts/git/qemu_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/qemu_rev
-++ base_rev=191710c221f65b1542f6ea7fa4d30dde6e134fd7
-+++ get_current_git qemu_rev
++++ cat base-artifacts/git/linux_rev
+++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
++++ get_current_git linux_rev
+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No qemu_rev in current git' '[' -f artifacts/git/qemu_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat artifacts/git/qemu_rev
-++ cur_rev=80f1709aa0eb4de09b4240563463f991a5b9d855
-+++ git -C qemu rev-list --count 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855
-++ c_commits=37
++++ cat artifacts/git/linux_rev
+++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
++++ git -C linux rev-list --count 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10
+++ c_commits=906
++ '[' '' '!=' '' ']'
-++ git -C qemu log -n 5 --oneline 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855
-++ '[' 37 -gt 5 ']'
-++ echo '... and 32 more commits in qemu'
+++ git -C linux log -n 5 --oneline 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10
+# generate_jenkins_html_files
+... Skipping
+++ '[' 906 -gt 5 ']'
+++ echo '... and 901 more commits in linux'
++ '[' '' '!=' '' ']'
++ return 0
++ print_result --short
@@ -634,7 +4954,19 @@
# build_abe qemu:
-2
# linux_n_obj:
-24086'
+24085
+# First few build errors in logs:
+
+# 00:06:03 drivers/dma/xilinx/xdma.c:757:68: error: operator '\''?:'\'' has lower precedence than '\''+'\''; '\''+'\'' will be evaluated first [-Werror,-Wparentheses]
+# 00:06:03 drivers/dma/xilinx/xdma.c:759:68: error: operator '\''?:'\'' has lower precedence than '\''+'\''; '\''+'\'' will be evaluated first [-Werror,-Wparentheses]
+# 00:06:03 drivers/dma/xilinx/xdma.c:729:1: error: no previous prototype for function '\''xdma_prep_interleaved_dma'\'' [-Werror,-Wmissing-prototypes]
+# 00:06:03 drivers/dma/xilinx/xdma.c:894:3: error: variable '\''desc'\'' is uninitialized when used here [-Werror,-Wuninitialized]
+# 00:06:03 make[5]: *** [scripts/Makefile.build:243: drivers/dma/xilinx/xdma.o] Error 1
+# 00:06:09 make[4]: *** [scripts/Makefile.build:481: drivers/dma/xilinx] Error 2
+# 00:08:04 ./include/linux/fortify-string.h:489:4: error: call to '\''__write_overflow_field'\'' declared with '\''warning'\'' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror,-Wattribute-warning]
+# 00:08:04 make[5]: *** [scripts/Makefile.build:243: fs/smb/client/cifsencrypt.o] Error 1
+# 00:08:28 make[3]: *** [scripts/Makefile.build:481: drivers/dma] Error 2
+# 00:09:36 make[4]: *** [scripts/Makefile.build:481: fs/smb/client] Error 2'
++ echo ''
++ echo From
+++ cat base-artifacts/results
@@ -653,13 +4985,11 @@
++ local print_arg=--long
++ case "$print_arg" in
++ echo 'CI config tcwg_kernel/llvm-master-arm-next-allmodconfig'
-+ '[' multiple_components '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
+ true
+ generate_jenkins_html_files
-# generate_jenkins_html_files
-... Skipping
-+ wait 7464
++ wait 7501
+ set -euf -o pipefail
+ echo '# generate_jenkins_html_files'
+ true
@@ -793,6 +5123,14 @@
++ echo -n '<a href="./08-check_regression/console.log.xz">./08-check_regression/console.log.xz</a>'
+ echo '<li><a href="./08-check_regression/console.log.xz">./08-check_regression/console.log.xz</a>'
+ read -r cur_file
+++ print_readme_link html ./08-check_regression/results.regressions
+++ set -euf -o pipefail
+++ local text_type=html
+++ local msg=./08-check_regression/results.regressions
+++ case $text_type in
+++ echo -n '<a href="./08-check_regression/results.regressions">./08-check_regression/results.regressions</a>'
++ echo '<li><a href="./08-check_regression/results.regressions">./08-check_regression/results.regressions</a>'
++ read -r cur_file
++ print_readme_link html ./git/binutils_rev
++ set -euf -o pipefail
++ local text_type=html
@@ -1074,6 +5412,14 @@
++ echo -n ./08-check_regression/console.log.xz
+ echo '- ./08-check_regression/console.log.xz'
+ read -r cur_file
+++ print_readme_link txt ./08-check_regression/results.regressions
+++ set -euf -o pipefail
+++ local text_type=txt
+++ local msg=./08-check_regression/results.regressions
+++ case $text_type in
+++ echo -n ./08-check_regression/results.regressions
++ echo '- ./08-check_regression/results.regressions'
++ read -r cur_file
++ print_readme_link txt ./git/binutils_rev
++ set -euf -o pipefail
++ local text_type=txt
@@ -1257,34 +5603,34 @@
+ echo '... Skipping'
+ return
+ generate_lnt_report
-+ wait 7620
-# generate_lnt_report
++ wait 7661
+ set -euf -o pipefail
+ local results_date
+ echo '# generate_lnt_report'
+# generate_lnt_report
+ true
-+ . /home/tcwg-buildslave/workspace/tcwg_kernel_1/jenkins-scripts/lnt-utils.sh
++ . /home/tcwg-buildslave/workspace/tcwg_kernel_0/jenkins-scripts/lnt-utils.sh
++ declare is_first_lnt_entry
++ get_current_manifest '{rr[results_date]}'
++ get_manifest artifacts/manifest.sh '{rr[results_date]}'
++ set +x
-+ results_date=1703332648
-++ date '+%Y-%m-%d %H:%M:%S' --date @1703332648
++ results_date=1703418467
+++ date '+%Y-%m-%d %H:%M:%S' --date @1703418467
... Skipping
-+ results_date='2023-12-23 11:57:28'
+# release_testresults_files
++ results_date='2023-12-24 11:47:47'
+ local jira_key=-
+ '[' -f artifacts/notify/jira/key ']'
+ case "$ci_project" in
+ echo '... Skipping'
+ return
-# release_testresults_files
-... Done
+ false
+ true
+ release_testresults_files
+ echo '# release_testresults_files'
+ '[' -d artifacts/jenkins ']'
+ '[' -f artifacts/testresults/testresults-mail-recipients.txt ']'
+... Done
+ echo '... Done'
+ post_to_jira
# post_to_jira
diff --git a/jenkins/notify-init.log b/jenkins/notify-init.log
index 863004c..c075110 100644
--- a/jenkins/notify-init.log
+++ b/jenkins/notify-init.log
@@ -1,6 +1,6 @@
+ set +x
-/home/tcwg-buildslave/workspace/tcwg_kernel_1/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts --notify ignore __stage init __verbose true __build_script tcwg_kernel-build.sh
+/home/tcwg-buildslave/workspace/tcwg_kernel_0/jenkins-scripts/round-robin-notify.sh @@rr[top_artifacts] artifacts --notify ignore __stage init __verbose true __build_script tcwg_kernel-build.sh
+ false
+ dryrun=
@@ -26,28 +26,28 @@
++ get_baseline_manifest BUILD_URL
++ get_manifest base-artifacts/manifest.sh BUILD_URL false
++ set +x
-# Baseline : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/154/
+# Baseline : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/
# Using dir : base-artifacts
-+ echo '# Baseline : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/154/'
++ echo '# Baseline : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/'
+ echo '# Using dir : base-artifacts'
++ get_current_manifest BUILD_URL
++ get_manifest artifacts/manifest.sh BUILD_URL
++ set +x
-# Artifacts : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/
+# Artifacts : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/
# Using dir : artifacts
-+ echo '# Artifacts : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/'
++ echo '# Artifacts : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/'
+ echo '# Using dir : artifacts'
+ echo ''
+ mkdir -p artifacts/notify
+ '[' -f /home/tcwg-buildslave/.jipdate.yml ']'
+ set +x
+# check_source_changes
+ case "$notify" in
+ declare -Ag pw
+ '[' ignore = precommit ']'
+ check_source_changes
+ echo '# check_source_changes'
-# check_source_changes
++ get_current_manifest '{rr[update_baseline]}'
++ get_manifest artifacts/manifest.sh '{rr[update_baseline]}'
++ set +x
@@ -61,130 +61,100 @@
+++ set -euf -o pipefail
+++ local c delim=
+++ for c in ${rr[components]}
-+++ '[' xgit://sourceware.org/git/binutils-gdb.git#master '!=' xbaseline ']'
-+++ echo -ne binutils
-+++ delim=' '
-+++ for c in ${rr[components]}
-+++ '[' xhttps://github.com/llvm/llvm-project.git#main '!=' xbaseline ']'
-+++ echo -ne ' llvm'
-+++ delim=' '
++++ '[' xbaseline '!=' xbaseline ']'
+++ for c in ${rr[components]}
+++ '[' xbaseline '!=' xbaseline ']'
+++ for c in ${rr[components]}
-+++ '[' xhttps://gitlab.com/qemu-project/qemu.git#master '!=' xbaseline ']'
-+++ echo -ne ' qemu'
++++ '[' xhttps://git.linaro.org/kernel-org/linux-next.git#master '!=' xbaseline ']'
++++ echo -ne linux
+++ delim=' '
++++ for c in ${rr[components]}
++++ '[' xbaseline '!=' xbaseline ']'
+++ echo
++ for c in $(print_updated_components)
-+++ get_current_git binutils_rev
++++ get_current_git linux_rev
+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No binutils_rev in current git' '[' -f artifacts/git/binutils_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat artifacts/git/binutils_rev
-+++ get_baseline_git binutils_rev
++++ cat artifacts/git/linux_rev
++++ get_baseline_git linux_rev
+++ set -euf -o pipefail
+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No binutils_rev in baseline git' '[' -f base-artifacts/git/binutils_rev ']'
++++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/binutils_rev
-++ '[' xca86dbbdbc04fbe6298e597a3c94c8071ea722a1 '!=' x333a6b1a6399992cc98ac34727acf38136b770e6 ']'
-++ echo -ne binutils
-++ delim=' '
-++ for c in $(print_updated_components)
-+++ get_current_git llvm_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/llvm_rev
-+++ get_baseline_git llvm_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/llvm_rev
-++ '[' x37fc9c6a4227b1736cc643eb95636d9f7ec30190 '!=' x36b6f77565c9d3d75c03600df4b8719bb518bdc0 ']'
-++ echo -ne ' llvm'
-++ delim=' '
-++ for c in $(print_updated_components)
-+++ get_current_git qemu_rev
-+++ set -euf -o pipefail
-+++ assert_with_msg 'ERROR: No qemu_rev in current git' '[' -f artifacts/git/qemu_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat artifacts/git/qemu_rev
-+++ get_baseline_git qemu_rev
-+++ set -euf -o pipefail
-+++ local base_artifacts=base-artifacts
-+++ assert_with_msg 'ERROR: No qemu_rev in baseline git' '[' -f base-artifacts/git/qemu_rev ']'
-+++ set -euf -o pipefail +x
-+++ cat base-artifacts/git/qemu_rev
-++ '[' x80f1709aa0eb4de09b4240563463f991a5b9d855 '!=' x191710c221f65b1542f6ea7fa4d30dde6e134fd7 ']'
-++ echo -ne ' qemu'
++++ cat base-artifacts/git/linux_rev
+++ '[' x39676dfe52331dba909c617f213fdb21015c8d10 '!=' x857647efa9be89a13cf8963c7e167fab062b28bb ']'
+++ echo -ne linux
++ delim=' '
++ echo
-# Debug traces :
-# change_kind=multiple_components : binutils llvm qemu
+ local c base_rev cur_rev c_commits
-+ '[' 3 = 0 ']'
-+ '[' 3 = 1 ']'
-+ change_kind=multiple_components
-+ changed_single_component=
-+ echo '# Debug traces :'
-+ echo '# change_kind=multiple_components : binutils llvm qemu'
-+ for c in "${changed_components[@]}"
-++ get_baseline_git binutils_rev
++ '[' 1 = 0 ']'
++ '[' 1 = 1 ']'
++ changed_single_component=linux
+++ get_current_git linux_rev
++ set -euf -o pipefail
-++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No binutils_rev in baseline git' '[' -f base-artifacts/git/binutils_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/binutils_rev
-+ base_rev=333a6b1a6399992cc98ac34727acf38136b770e6
-++ get_current_git binutils_rev
+++ cat artifacts/git/linux_rev
++ first_bad=39676dfe52331dba909c617f213fdb21015c8d10
+++ get_baseline_git linux_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No binutils_rev in current git' '[' -f artifacts/git/binutils_rev ']'
+++ local base_artifacts=base-artifacts
+++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/binutils_rev
-+ cur_rev=ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-++ git -C binutils rev-list --count 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1
-# rev for binutils : 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1 (67 commits)
-+ c_commits=67
-+ echo '# rev for binutils : 333a6b1a6399992cc98ac34727acf38136b770e6..ca86dbbdbc04fbe6298e597a3c94c8071ea722a1 (67 commits)'
-+ for c in "${changed_components[@]}"
-++ get_baseline_git llvm_rev
+++ cat base-artifacts/git/linux_rev
++ last_good=857647efa9be89a13cf8963c7e167fab062b28bb
++ local res
++ res=0
++ wait 7193
++ git -C linux rev-parse --verify HEAD
++ assert_with_msg 'Cannot parse HEAD in repo linux' '[' 0 = 0 ']'
++ set -euf -o pipefail +x
++ single_commit_p linux
++ set -euf -o pipefail
++ local c=linux
++ local base_rev cur_rev sha1
+++ get_baseline_git linux_rev
++ set -euf -o pipefail
++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No llvm_rev in baseline git' '[' -f base-artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/llvm_rev
-+ base_rev=36b6f77565c9d3d75c03600df4b8719bb518bdc0
-++ get_current_git llvm_rev
+++ cat base-artifacts/git/linux_rev
++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
+++ get_current_git linux_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No llvm_rev in current git' '[' -f artifacts/git/llvm_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/llvm_rev
-+ cur_rev=37fc9c6a4227b1736cc643eb95636d9f7ec30190
-++ git -C llvm rev-list --count 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190
-# rev for llvm : 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190 (204 commits)
-+ c_commits=204
-+ echo '# rev for llvm : 36b6f77565c9d3d75c03600df4b8719bb518bdc0..37fc9c6a4227b1736cc643eb95636d9f7ec30190 (204 commits)'
+++ cat artifacts/git/linux_rev
++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
+++ git -C linux rev-parse '39676dfe52331dba909c617f213fdb21015c8d10^@'
++ for sha1 in $(git -C "$c" rev-parse "$cur_rev^@")
++ '[' ab8a1e47afc0e8e19ef542c127784674711bf442 = 857647efa9be89a13cf8963c7e167fab062b28bb ']'
++ return 1
+# Debug traces :
+# change_kind=single_component : linux
++ change_kind=single_component
++ echo '# Debug traces :'
++ echo '# change_kind=single_component : linux'
+ for c in "${changed_components[@]}"
-++ get_baseline_git qemu_rev
+++ get_baseline_git linux_rev
++ set -euf -o pipefail
++ local base_artifacts=base-artifacts
-++ assert_with_msg 'ERROR: No qemu_rev in baseline git' '[' -f base-artifacts/git/qemu_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in baseline git' '[' -f base-artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat base-artifacts/git/qemu_rev
-+ base_rev=191710c221f65b1542f6ea7fa4d30dde6e134fd7
-++ get_current_git qemu_rev
+++ cat base-artifacts/git/linux_rev
++ base_rev=857647efa9be89a13cf8963c7e167fab062b28bb
+++ get_current_git linux_rev
++ set -euf -o pipefail
-++ assert_with_msg 'ERROR: No qemu_rev in current git' '[' -f artifacts/git/qemu_rev ']'
+++ assert_with_msg 'ERROR: No linux_rev in current git' '[' -f artifacts/git/linux_rev ']'
++ set -euf -o pipefail +x
-++ cat artifacts/git/qemu_rev
-+ cur_rev=80f1709aa0eb4de09b4240563463f991a5b9d855
-++ git -C qemu rev-list --count 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855
-# rev for qemu : 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855 (37 commits)
+++ cat artifacts/git/linux_rev
++ cur_rev=39676dfe52331dba909c617f213fdb21015c8d10
+++ git -C linux rev-list --count 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10
+# rev for linux : 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10 (906 commits)
-+ c_commits=37
-+ echo '# rev for qemu : 191710c221f65b1542f6ea7fa4d30dde6e134fd7..80f1709aa0eb4de09b4240563463f991a5b9d855 (37 commits)'
++ c_commits=906
++ echo '# rev for linux : 857647efa9be89a13cf8963c7e167fab062b28bb..39676dfe52331dba909c617f213fdb21015c8d10 (906 commits)'
+ echo ''
+ setup_stages_to_run
+ '[' ignore = onregression ']'
@@ -209,7 +179,7 @@
+ set -euf -o pipefail
+ echo '# post_interesting_commits'
+ local stage=init
-+ '[' multiple_components '!=' single_commit ']'
++ '[' single_component '!=' single_commit ']'
+ return
Init stage ran successfully.
+ '[' init '!=' full ']'
diff --git a/jenkins/run-build.env b/jenkins/run-build.env
index f0c050f..e4023ec 100644
--- a/jenkins/run-build.env
+++ b/jenkins/run-build.env
@@ -1,13 +1,9 @@
-build_name="#156"
+build_name="#157"
docker_opts=(--distro
default )
source build_container.sh
trap "cleanup_all_containers" EXIT
-build_name="#156-binutils-llvm-qemu"
-branch_opt=(==rr\[binutils_git\]
-git://sourceware.org/git/binutils-gdb.git#master
-==rr\[llvm_git\]
-https://github.com/llvm/llvm-project.git#main
-==rr\[qemu_git\]
-https://gitlab.com/qemu-project/qemu.git#master )
-build_name="#156-binutils-llvm-qemu-R24086"
+build_name="#157-linux"
+branch_opt=(==rr\[linux_git\]
+https://git.linaro.org/kernel-org/linux-next.git#master )
+build_name="#157-linux-R# 00:09:36 make[4]: *** [scripts/Makefile.build:481: fs/smb/client] Error 2"
diff --git a/manifest.sh b/manifest.sh
index 285ea3f..42a70de 100644
--- a/manifest.sh
+++ b/manifest.sh
@@ -6,23 +6,23 @@ rr[ci_config]="llvm-master-arm-next-allmodconfig"
declare -g "scripts_branch=master"
rr[mode]="build"
rr[update_baseline]="onsuccess"
-declare -g "BUILD_URL=https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/"
+declare -g "BUILD_URL=https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/"
declare -g "SQUAD_GRP="
-rr[binutils_git]="git://sourceware.org/git/binutils-gdb.git#master"
-rr[llvm_git]="https://github.com/llvm/llvm-project.git#main"
-rr[qemu_git]="https://gitlab.com/qemu-project/qemu.git#master"
+rr[linux_git]="https://git.linaro.org/kernel-org/linux-next.git#master"
# Saving rr[] in the manifest
rr[abe_branch]="master"
rr[abe_repo]="https://git-us.linaro.org/toolchain/abe.git"
rr[baseline_branch]="linaro-local/ci/tcwg_kernel/llvm-master-arm-next-allmodconfig"
+rr[binutils_git]="baseline"
rr[breakup_changed_components]="breakup_changed_components linux"
rr[components]="binutils llvm linux qemu"
rr[host_c++]="/usr/bin/g++"
rr[host_cc]="/usr/bin/gcc"
-rr[linux_git]="baseline"
+rr[llvm_git]="baseline"
rr[no_regression_p]="no_regression_p"
rr[no_regression_result]="0"
+rr[qemu_git]="baseline"
rr[target]="arm"
rr[toolchain]="llvm"
declare -g "notify=ignore"
-rr[results_date]="1703332648"
+rr[results_date]="1703418467"
diff --git a/notify/jira/comment-template.txt b/notify/jira/comment-template.txt
index bfe5cb8..e60880d 100644
--- a/notify/jira/comment-template.txt
+++ b/notify/jira/comment-template.txt
@@ -1,3 +1,3 @@
-[LLVM-646]
+[LLVM-647]
Success
-Details: https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/artifact/artifacts/notify/mail-body.txt/*view*/
+Details: https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/artifact/artifacts/notify/mail-body.txt/*view*/
diff --git a/notify/mail-body.txt b/notify/mail-body.txt
index 28d3652..e7085b1 100644
--- a/notify/mail-body.txt
+++ b/notify/mail-body.txt
@@ -4,25 +4,13 @@ We appreciate that it might be difficult to find the necessary logs or reproduce
In CI config tcwg_kernel/llvm-master-arm-next-allmodconfig after:
- | 308 commits in binutils,llvm,qemu
- | ca86dbbdbc0 binutils: SECURITY: use https URI
- | d27473e7c54 LoongArch: Add testsuit for DESC and tls transition and tls relaxation.
- | ae296cc4525 LoongArch: Add support for TLS LD/GD/DESC relaxation
- | 3898e04b8e4 LoongArch: Add tls transition support.
- | 4f248d61eb9 LoongArch: Add support for TLSDESC in ld.
- | ... and 62 more commits in binutils
- | 37fc9c6a4227 [clang-tidy][NFC] Enable exceptions in test for bugprone-unused-local-non-trivial-variable
- | 007ed0dccd6a [clang-tidy][NFC] Enable exceptions in test for bugprone-unused-local-non-trivial-variable
- | 3f85fb9a021b [gn build] Port 952d344f3e25
- | 952d344f3e25 [clang-tidy] introduce a unused local non trival variable check (#76101)
- | 48f36c6e742e [LLVM] Make use of s_flbit_i32_b64 and s_ff1_i32_b64 (#75158)
- | ... and 199 more commits in llvm
- | 80f1709aa0 Merge tag 'pull-loongarch-20231221' of https://gitlab.com/gaosong/qemu into staging
- | 6370d13c62 Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging
- | b6948ab01d virtio-blk: add iothread-vq-mapping parameter
- | cf03a152c5 qdev: add IOThreadVirtQueueMappingList property type
- | 350147a871 qdev-properties: alias all object class properties
- | ... and 32 more commits in qemu
+ | 906 commits in linux
+ | 39676dfe52331 Add linux-next specific files for 20231222
+ | ab8a1e47afc0e Merge branch 'header_cleanup' of https://evilpiepirate.org/git/bcachefs.git
+ | ca262a7814bf2 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
+ | b7f81768b1680 Merge branch 'nolibc' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git
+ | 8c304152288d1 Merge branch 'for-next/kspp' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git
+ | ... and 901 more commits in linux
Results changed to
# reset_artifacts:
@@ -34,7 +22,19 @@ Results changed to
# build_abe qemu:
-2
# linux_n_obj:
-24086
+24085
+# First few build errors in logs:
+
+# 00:06:03 drivers/dma/xilinx/xdma.c:757:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses]
+# 00:06:03 drivers/dma/xilinx/xdma.c:759:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses]
+# 00:06:03 drivers/dma/xilinx/xdma.c:729:1: error: no previous prototype for function 'xdma_prep_interleaved_dma' [-Werror,-Wmissing-prototypes]
+# 00:06:03 drivers/dma/xilinx/xdma.c:894:3: error: variable 'desc' is uninitialized when used here [-Werror,-Wuninitialized]
+# 00:06:03 make[5]: *** [scripts/Makefile.build:243: drivers/dma/xilinx/xdma.o] Error 1
+# 00:06:09 make[4]: *** [scripts/Makefile.build:481: drivers/dma/xilinx] Error 2
+# 00:08:04 ./include/linux/fortify-string.h:489:4: error: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror,-Wattribute-warning]
+# 00:08:04 make[5]: *** [scripts/Makefile.build:243: fs/smb/client/cifsencrypt.o] Error 1
+# 00:08:28 make[3]: *** [scripts/Makefile.build:481: drivers/dma] Error 2
+# 00:09:36 make[4]: *** [scripts/Makefile.build:481: fs/smb/client] Error 2
From
# reset_artifacts:
@@ -54,6 +54,6 @@ CI config tcwg_kernel/llvm-master-arm-next-allmodconfig
-----------------8<--------------------------8<--------------------------8<--------------------------
The information below can be used to reproduce a debug environment:
-Current build : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/artifact/artifacts
-Reference build : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/154/artifact/artifacts
+Current build : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/157/artifact/artifacts
+Reference build : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-next-allmodconfig-build/156/artifact/artifacts
diff --git a/notify/mail-recipients.txt b/notify/mail-recipients.txt
index aa219ef..f4dbb23 100644
--- a/notify/mail-recipients.txt
+++ b/notify/mail-recipients.txt
@@ -1 +1 @@
-bcc:tcwg-validation@linaro.org
+bcc:tcwg-validation@linaro.org,llvm@lists.linux.dev
diff --git a/notify/mail-subject.txt b/notify/mail-subject.txt
index c011fcc..3ed95d5 100644
--- a/notify/mail-subject.txt
+++ b/notify/mail-subject.txt
@@ -1 +1 @@
-[Linaro-TCWG-CI] 308 commits in binutils,llvm,qemu: Success on arm
+[Linaro-TCWG-CI] 906 commits in linux: Success on arm
diff --git a/results b/results
index f499f3b..5305007 100644
--- a/results
+++ b/results
@@ -7,4 +7,16 @@
# build_abe qemu:
-2
# linux_n_obj:
-24086
+24085
+# First few build errors in logs:
+
+# 00:06:03 drivers/dma/xilinx/xdma.c:757:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses]
+# 00:06:03 drivers/dma/xilinx/xdma.c:759:68: error: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Werror,-Wparentheses]
+# 00:06:03 drivers/dma/xilinx/xdma.c:729:1: error: no previous prototype for function 'xdma_prep_interleaved_dma' [-Werror,-Wmissing-prototypes]
+# 00:06:03 drivers/dma/xilinx/xdma.c:894:3: error: variable 'desc' is uninitialized when used here [-Werror,-Wuninitialized]
+# 00:06:03 make[5]: *** [scripts/Makefile.build:243: drivers/dma/xilinx/xdma.o] Error 1
+# 00:06:09 make[4]: *** [scripts/Makefile.build:481: drivers/dma/xilinx] Error 2
+# 00:08:04 ./include/linux/fortify-string.h:489:4: error: call to '__write_overflow_field' declared with 'warning' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror,-Wattribute-warning]
+# 00:08:04 make[5]: *** [scripts/Makefile.build:243: fs/smb/client/cifsencrypt.o] Error 1
+# 00:08:28 make[3]: *** [scripts/Makefile.build:481: drivers/dma] Error 2
+# 00:09:36 make[4]: *** [scripts/Makefile.build:481: fs/smb/client] Error 2