Created
January 25, 2019 12:28
-
-
Save nikhita/5b40b0bc587356eb3575ff13e85edc44 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/artifacts/scripts/util.sh b/artifacts/scripts/util.sh | |
index e9e3d01..7875b46 100755 | |
--- a/artifacts/scripts/util.sh | |
+++ b/artifacts/scripts/util.sh | |
@@ -380,7 +380,7 @@ sync_repo() { | |
squash ${squash_commits} | |
# if there is no pending merge commit, update Godeps.json because this could be a target of tag | |
- if [ -z "${k_pending_merge_commit}" ]; then | |
+ if ! pick-incorrect-godep-changes ${k_mainline_commit} && [ -z "${k_pending_merge_commit}" ]; then | |
fix-godeps "${deps}" "${required_packages}" "${base_package}" "${is_library}" ${dst_needs_godeps_update} true ${commit_msg_tag} "${recursive_delete_pattern}" | |
dst_needs_godeps_update=false | |
dst_merge_point_commit=$(git rev-parse HEAD) | |
@@ -484,9 +484,11 @@ sync_repo() { | |
# we would end up with "base B + change B" which misses the change A changes. | |
amend-godeps-at ${f_mainline_commit} | |
- fix-godeps "${deps}" "${required_packages}" "${base_package}" "${is_library}" ${dst_needs_godeps_update} true ${commit_msg_tag} "${recursive_delete_pattern}" | |
- dst_needs_godeps_update=false | |
- dst_merge_point_commit=$(git rev-parse HEAD) | |
+ if ! pick-incorrect-godep-changes ${k_mainline_commit}; then | |
+ fix-godeps "${deps}" "${required_packages}" "${base_package}" "${is_library}" ${dst_needs_godeps_update} true ${commit_msg_tag} "${recursive_delete_pattern}" | |
+ dst_needs_godeps_update=false | |
+ dst_merge_point_commit=$(git rev-parse HEAD) | |
+ fi | |
fi | |
ensure-clean-working-dir | |
@@ -496,11 +498,14 @@ sync_repo() { | |
# NOTE: we cannot skip collapsed-kube-commit-mapper below because its | |
# output depends on upstream's HEAD. | |
echo "Fixing up godeps after a complete sync" | |
- if [ $(git rev-parse HEAD) != "${dst_old_head}" ] || [ "${new_branch}" = "true" ]; then | |
- fix-godeps "${deps}" "${required_packages}" "${base_package}" "${is_library}" true true ${commit_msg_tag} "${recursive_delete_pattern}" | |
- else | |
- # update godeps without squashing because it would mutate a published commit | |
- fix-godeps "${deps}" "${required_packages}" "${base_package}" "${is_library}" true false ${commit_msg_tag} "${recursive_delete_pattern}" | |
+ | |
+ if ! pick-incorrect-godep-changes ${k_mainline_commit}; then | |
+ if [ $(git rev-parse HEAD) != "${dst_old_head}" ] || [ "${new_branch}" = "true" ]; then | |
+ fix-godeps "${deps}" "${required_packages}" "${base_package}" "${is_library}" true true ${commit_msg_tag} "${recursive_delete_pattern}" | |
+ else | |
+ # update godeps without squashing because it would mutate a published commit | |
+ fix-godeps "${deps}" "${required_packages}" "${base_package}" "${is_library}" true false ${commit_msg_tag} "${recursive_delete_pattern}" | |
+ fi | |
fi | |
# create look-up file for collapsed upstream commits | |
@@ -523,6 +528,14 @@ function pick-merge-as-single-commit() { | |
EOF | |
} | |
+# if a PR added incorrect godep changes (eg: client-go depending on apiserver), godeps update will fail. | |
+# so we skip godeps generation for these commits. | |
+function pick-incorrect-godep-changes() { | |
+ grep -F -q -x "$1" <<EOF | |
+e2a017327c1af628f4f0069cbd49865ad1e81975 | |
+EOF | |
+} | |
+ | |
# amend-godeps-at checks out the Godeps.json at the given commit and amend it to the previous commit. | |
function amend-godeps-at() { | |
if [ -f Godeps/Godeps.json ]; then |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment