Anyone using MQ for their daily development will know about this, forgetting to qpop before sync'ing up. It would be nice it get_source would pop and push patches ( only if you are using MQ ) automatically. If you do not have patch repos, then there is no change.

diff --git a/get_source.sh b/get_source.sh
--- a/get_source.sh
+++ b/get_source.sh
@@ -28,6 +28,21 @@
 # Get clones of all nested repositories
 sh ./common/bin/hgforest.sh clone "$@" || exit 1

+patchdirs=`ls -d ./.hg/patches ./*/.hg/patches ./*/*/.hg/patches \
+                 ./*/*/*/.hg/patches ./*/*/*/*/.hg/patches 2>/dev/null`
+
+# Pop all patches, if any, before updating
+if [ "${patchdirs}"  != "" ] ; then
+  echo "Found queue repository, qpop."
+  sh ./common/bin/hgforest.sh qpop -a || exit 1
+fi
+
 # Update all existing repositories to the latest sources
-sh ./common/bin/hgforest.sh pull -u
+sh ./common/bin/hgforest.sh pull -u || exit 1

+# Push all patches, if any, after updating
+if [ "${patchdirs}" != "" ] ; then
+  echo "Found queue repository, qpush."
+  sh ./common/bin/hgforest.sh qpush -a
+fi
+

-Chris.

Reply via email to