anchor.diff:  
   function mwv_git_pull {
     local OUTPUT_INLINE=${2:-}
  +  local RETVAL=0
     cd "$1"
     if [[ -z $OUTPUT_INLINE ]]; then
       echo -e "\e[36m==> Updating $(pwd) ...\e[0m"
  
positive.code:   fi
  
    local ERR=''
    if [[ -n $BRANCH ]]; then
      local REMOTE=$(git config branch.${BRANCH}.remote)
      if [[ -n $REMOTE ]]; then
        local URL=$(git config --get remote.${REMOTE}.url)
        if [[ $URL == ssh://* ]]; then
          # Convert remote git url from ssh:// to anonymous https://
          local TEMPURL=$(echo $URL | sed -e 's!ssh://[^@]\+@!https://!g' -e 's!:29418!/r!g')
          git pull --rebase $TEMPURL
        else
          git pull --rebase
        fi
  
        if [[ $? -ne 0 ]]; then
          # If we didn't successfully update (possibly because we're on
          # a local branch), leave the submodules alone.
  
negative.code: UPDATE_ERRORS=( )
  
  function mwv_service_update {
    local ERR=''
    local PULL_RESULT=0
    source "$1"
    echo -e "\e[36m==> Updating ${SERVICE_NAME} ...\e[0m"
    if [[ -n $NEED_CHDIR && -d $SERVICE_DIR ]]; then
      if [[ -n $DO_PULL ]]; then
        mwv_git_pull "$SERVICE_DIR" inline
        PULL_RESULT=$?
      fi
      if [[ ${PULL_RESULT} -eq 2 ]]; then
        # git pull failed, bail out
        return 1
      fi
      cd $SERVICE_DIR
      if [[ -n "${UPDATE_CMD}" && ${PULL_RESULT} -eq 1 ]]; then
        echo "[*] Updating dependencies for ${SERVICE_NAME} ..."
        [[ -n ${DO_RESTART} ]] && sudo service ${RESTART_NAME} stop
        if ! /bin/sh -c "$UPDATE_CMD"; then
  