#!/bin/bash
fileName=$1
projectPath=$2
PATH=PATH:/usr/bin:/usr/sbin

basePath=$3
sleep 1
cd $basePath
echo "current path: $(pwd)"
if [ ! -f "$fileName" ];then
  echo "backEndUpgarde 文件 $fileName 不存在1!"
  exit 0
fi

oriSum=$(md5sum $fileName)
oriSum="${oriSum%  *}"
echo "origin file $fileName md5sum: $oriSum" 

if [ ! -d "$projectPath" ]; then
  echo "文件夹 $prjectPath 不存在!"
  exit 0
fi

cd $projectPath
desSum=""
if [ ! -f "$fileName" ];then
  cp $basePath/$fileName .
  exit 0
else 
  desSum=$(md5sum $fileName)
  desSum="${desSum%  *}"
  echo "current path: $(pwd)"
  echo "destination file ${fileName} md5sum: ${desSum}"
fi

if [ ${oriSum} = ${desSum} ];then
  echo "destination file is same with origin file,no need to replace"
  exit 0
fi

if [ -f "$fileName"_bak2 ];then
  rm "${fileName}"_bak2
fi
if [ -f "${fileName}"_bak1 ];then
  mv ${fileName}_bak1 ${fileName}_bak2
fi
if [ -f "$fileName"_bak ];then
  mv ${fileName}_bak ${fileName}_bak1
fi
if [ -f "$fileName" ];then
  mv ${fileName} ${fileName}_bak
fi

cp $basePath/"${fileName}" .
result=$?
if [ $result = 0 ];then 
  echo "file ${fileName} in ${projectPath} upgraded."
fi
newSum=$(md5sum $fileName)
newSum="${newSum%  *}"
echo "the md5sum of new file is ${newSum} "