Преглед изворни кода

Reset split branch on ancestor errors

Willy-JL пре 2 година
родитељ
комит
9ad41df524
1 измењених фајлова са 7 додато и 1 уклоњено
  1. 7 1
      .utils/subtree-subdir-helper.sh

+ 7 - 1
.utils/subtree-subdir-helper.sh

@@ -17,6 +17,12 @@ fetch="_fetch-${temp}"
 split="_split-${temp}-$(tr / - <<< "${subdir}")"
 git fetch --no-tags "${repo}" "${branch}:${fetch}"
 git checkout "${fetch}"
-git subtree split -P "${subdir}" -b "${split}"
+exec 420>&1
+result="$(git subtree split -P "${subdir}" -b "${split}" 2>&1 | tee /proc/self/fd/420)"
+if grep "is not an ancestor of commit" <<< "$result" > /dev/null; then
+    echo "Resetting split branch..."
+    git branch -D "${split}"
+    git subtree split -P "${subdir}" -b "${split}"
+fi
 git checkout "${prev}"
 git subtree "${action}" -P "${path}" "${split}" -m "${action^} ${path} from ${repo}"