--- mvn.org	2012-01-17 09:47:39.000000000 +0100
+++ mvn	2012-05-21 23:29:43.729592616 +0200
@@ -46,6 +46,19 @@ if [ -z "$MAVEN_SKIP_RC" ] ; then
 
 fi
 
+LOCAL_SETTINGS=""
+SETTINGS_DIR=`pwd`
+SETTINGS_FILE=".settings.xml"
+while [ "" == "$LOCAL_SETTINGS" -a "/" != "$SETTINGS_DIR" ] ; do
+    if [ -r "$SETTINGS_DIR/$SETTINGS_FILE" ] ; then
+        LOCAL_SETTINGS="--settings $SETTINGS_DIR/$SETTINGS_FILE" 
+    fi
+    if [ ! -r "$SETTINGS_DIR/pom.xml" ] ; then
+        break
+    fi
+    SETTINGS_DIR="$(dirname "$SETTINGS_DIR")"
+done
+
 # OS specific support.  $var _must_ be set to either true or false.
 cygwin=false;
 darwin=false;
@@ -169,4 +182,4 @@ exec "$JAVACMD" \
   -classpath "${M2_HOME}"/boot/plexus-classworlds-*.jar \
   "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \
   "-Dmaven.home=${M2_HOME}"  \
-  ${CLASSWORLDS_LAUNCHER} "$@"
+  ${CLASSWORLDS_LAUNCHER} $LOCAL_SETTINGS "$@"
