`
xifengtaizi
  • 浏览: 11433 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

checkout.sh

    博客分类:
  • UNIX
 
阅读更多
ME=checkout.sh

#echo - Check for updates ......
if [ /home/sh13256/$ME -nt $0 ]; then
#  echo - New version found. Update ...
  cp /home/sh13256/$ME $0
  echo - $0 Updated. Relaunching ...
  echo
  echo "$0 $*"
  $0 $*
  exit
fi
#echo - $0 is up to date

Usage(){
  echo
  echo " Usage: $0 [PARAM]"
  echo
  echo "     To check out LQT main trunk     :    $0 LQT"
  echo "     To check out LQT branch         :    $0 LQT [branch name]"
  echo "     To check out LQT last branch    :    $0 LQTB"
  echo
  echo "     To check out LoanWL             :    $0 LWL"
  echo "     To check out LoanWL             :    $0 LWL [branch name]"
  echo "     To check out LoanWL last branch :    $0 LWLB"
  echo
  echo "     To check out LQT Common         :    $0 CM"
  echo "     To check out DB                 :    $0 DB"
  echo "     To check out Any Folder         :    $0 [folder name]   (D't start with /) "
  echo
  echo "     To update code from CVS         :    $0 u"
  echo "     To prepare source tree          :    $0 p"
  echo
}

if [ $# -lt 1 ]; then
  Usage
  exit
fi

#set -x

cROOT=`pwd`
CMD=$1
JAVA=/opt/j2se/1.5.0_12/bin/java
FOLDERS=$cROOT/.folder
OPS=$cROOT/.prepare
LWL_COMPILE=lwlCompile

BRANCH_FILE=$cROOT/.branch
LQT_BRANCH_PREFIX='LQT:'
LWL_BRANCH_PREFIX='LWL:'


#----------------- Login --------------------------
loginLQT(){
        CVSROOT=/net/nasny30v1gfi.nam.nsroot.net/vol/gfi_v6_q1/data/opt/Loans/CVSRepository
    export CVSROOT
}

loginGOLLF(){
        CVSROOT=/net/nasny30v1gfi.nam.nsroot.net/vol/gfi_v1_q1/data/opt/ilink/CVSRepository
    export CVSROOT
}
#   username=`whoami`
#   echo " Please enter cvs username(default $username):"
#   read RESP1
#   if [ -z $RESP1 ]; then
#     username=`whoami`
#   else
#     username=$RESP1
#   fi
#
#   echo " Please enter password:"
#   stty -echo
#   read RESP2
#   stty echo
#   password=$RESP2
#}

standardCheckOut(){

  PROJECT_NAME=$1/
  removeFolderQuickly $PROJECT_NAME

  if [ $# -gt 1 ]; then
    cvs checkout -r $2 -P ${PROJECT_NAME}
  else
    cvs checkout -P ${PROJECT_NAME}
  fi
  exit

}

removeFolderQuickly(){
#  rm -f ./build
#  cp /home/sh13256/build.sh build
#  chmod +x ./build
#  ./build rm ${1}
#  rm -f ./build

  ksh -x /home/sh13256/build.sh rm $1

}

PrepareLoansQTCompileFolder(){
  #set -x

  echo ------ Preparing $cROOT/LoansQuickTicket ------

  removeFolderQuickly ${cROOT}/LoansQuickTicket/compile
  chmod +x ${cROOT}/LoansQuickTicket/LQT/prepareCompile.sh
  cd ${cROOT}/LoansQuickTicket/LQT/
  ./prepareCompile.sh
  cp /home/sh13256/build.sh ${cROOT}/LoansQuickTicket/compile/b
  chmod -R +xw ${cROOT}/LoansQuickTicket/compile/

}

PrepareLoanWLCompileFoler(){
  #set -x

  echo ------ Preparing $cROOT/zTRSBackEnd ------

  cd ${cROOT}
  removeFolderQuickly ${cROOT}/$LWL_COMPILE
  mkdir ${cROOT}/$LWL_COMPILE
  cp -R zTRSBackEnd/* ./$LWL_COMPILE/
  cd $LWL_COMPILE
  find . -name "CVS" -exec rm -rf {} \;
  chmod -R +xw .
}

DelCVSFolder(){
        echo " -- deleting CVS folders on `pwd` -- "
  find . -name "CVS" -exec rm -rf {} \;
}

updateAll(){
#       set -x
  if [ -d $cROOT/LoansQuickTicket ]; then
        echo ------ Updating $cROOT/LoansQuickTicket ------
    cd $cROOT/LoansQuickTicket
    cvs -q update -C
  fi
  if [ -d $cROOT/zTRSBackEnd ]; then
        echo ------ Updating $cROOT/zTRSBackEnd ------
    cd $cROOT/zTRSBackEnd
    cvs -q update -C
  fi
  if [ -f $cROOT/$FOLDERS ]; then
    for FOLDER in `cat $cROOT/$FOLDERS`
    do
          echo ------ Updating $cROOT/$FOLDER ------
      cd $cROOT/$FOLDER
      cvs -q update -C
    done
  fi
}

prepareAll(){
#       set -x

  if [ -f $cROOT/$OPS ]; then
        chmod +x ./$OPS
        ./$OPS
  fi
  if [ -d $cROOT/LoansQuickTicket ]; then
    PrepareLoansQTCompileFolder
  fi
  if [ -d $cROOT/zTRSBackEnd ]; then
    PrepareLoanWLCompileFoler
  fi
}


if [ $CMD = "u" ]; then
  updateAll
  exit

elif [ $CMD = "update" ]; then
  loginLQT
  updateAll >>$2 2>&1
  exit

elif [ $CMD = "updateLQT" ]; then
  loginLQT
  if [ -d $cROOT/LoansQuickTicket ]; then
    cd LoansQuickTicket
    cvs -q update -C >>$2 2>&1
  fi
  exit

elif [ $CMD = "updateLWL" ]; then
  loginLQT
  if [ -d $cROOT/zTRSBackEnd ]; then
    cd zTRSBackEnd
    cvs -q update -C >>$2 2>&1
  fi
  exit

elif [ $CMD = "p" ]; then
  prepareAll
  exit

elif [ $CMD = "prepare" ]; then
  prepareAll >>$2 2>&1
  exit

elif [ $CMD = "prepareLQT" ]; then
  if [ -d $cROOT/LoansQuickTicket ]; then
    PrepareLoansQTCompileFolder >>$2 2>&1
  fi
  exit

elif [ $CMD = "prepareLWL" ]; then
  if [ -d $cROOT/zTRSBackEnd ]; then
    PrepareLoanWLCompileFoler  >>$2 2>&1
  fi
  exit

elif [ $CMD = "LQT" ]; then
  loginLQT
  PROJECT_NAME=LoansQuickTicket/LQT
  removeFolderQuickly $PROJECT_NAME

  if [ $# -gt 1 ]; then
    mv $BRANCH_FILE ${BRANCH_FILE}.old
    cat ${BRANCH_FILE}.old | sed '/^LQT:.*$/d' > $BRANCH_FILE
    rm ${BRANCH_FILE}.old
    echo ${LQT_BRANCH_PREFIX}$2 >> $BRANCH_FILE
    cvs checkout -r $2 -P ${PROJECT_NAME}
  else
    rm $BRANCH_FILE
    cvs checkout -P ${PROJECT_NAME}
  fi

  PrepareLoansQTCompileFolder
  exit

elif [ $CMD = "LQTB" ]; then
    loginLQT
        LQT_BRANCH=`cat ${BRANCH_FILE} | grep '^LQT:' | sed 's/^LQT://'`
        if [ ! ${LQT_BRANCH} ]; then
                echo LQT last branch log not found. Exit !
          exit
        fi

        echo LQT last branch log found: $LQT_BRANCH

        $0 LQT $LQT_BRANCH

elif [ $CMD = "LWL" ]; then
  loginLQT
  PROJECT_NAME=zTRSBackEnd

  removeFolderQuickly $PROJECT_NAME

  if [ $# -gt 1 ]; then
    mv $BRANCH_FILE ${BRANCH_FILE}.old
    cat ${BRANCH_FILE}.old | sed '/^LWL:.*$/d' > $BRANCH_FILE
    rm ${BRANCH_FILE}.old
    echo ${LWL_BRANCH_PREFIX}$2 >> $BRANCH_FILE
    cvs checkout -r $2 -P ${PROJECT_NAME}
  else
    rm $BRANCH_FILE
    cvs checkout -P ${PROJECT_NAME}
  fi
  exit

elif [ $CMD = "LWLB" ]; then
    loginLQT
        LWL_BRANCH=`cat ${BRANCH_FILE} | grep '^LWL:' | sed 's/^LWL://'`
        if [ ! ${LWL_BRANCH} ]; then
                echo LoanWL last branch log not found. Exit !
          exit
        fi

        echo LoanWL last branch log found: $LWL_BRANCH

        $0 LWL $LWL_BRANCH

elif [ $CMD = "DB" ]; then
    loginLQT
  PROJECT_NAME=LoansQuickTicket/LoansQTDB
  CTRL_FILE=$PROJECT_NAME/config/loan_qt.ctl

  removeFolderQuickly $cROOT/$PROJECT_NAME
  cvs checkout -P !${PROJECT_NAME}/src ${PROJECT_NAME}

#  CTRL_LIST=`cat $CTRL_FILE | grep "^SQL" | sed 's/^SQL/loan_qt/' | sed 's/,/\//g'`

  CTRL_LIST=`cat $CTRL_FILE | sed '/^#/d' | sed '/^$/d'`

  for CTLFILE in $CTRL_LIST
  do
        SUFFIX=`echo $CTLFILE | sed 's/^.*\.//'`
    cvs checkout ${PROJECT_NAME}/src/loan_qt/${SUFFIX}/${CTLFILE}
  done

  if [ -d $cROOT/$PROJECT_NAME ]; then
    cd $cROOT/$PROJECT_NAME
    DelCVSFolder
  fi

  rm ./b
  cp /home/sh13256/build.sh ./b
  chmod +x ./b
  ./b crlf

  ./b asp $cROOT/LoansQuickTicket/LoansQTDB

elif [ $CMD = "CM" ]; then
    loginLQT
  PROJECT_NAME=LoansQuickTicket/LoansQTCommon
  removeFolderQuickly $PROJECT_NAME

  if [ $# -gt 1 ]; then
    cvs checkout -r $2 -P ${PROJECT_NAME}
  else
    cvs checkout -P ${PROJECT_NAME}
  fi
  exit

elif [ $CMD = "BT" ]; then
  loginLQT
  PROJECT_NAME=LoansQTBatch/
  removeFolderQuickly $PROJECT_NAME

  if [ $# -gt 1 ]; then
    cvs checkout -r $2 -P ${PROJECT_NAME}
  else
    cvs checkout -P ${PROJECT_NAME}
  fi
  exit

elif [ $CMD = "COMPS" ]; then
  loginGOLLF
  PROJECT_NAME=comps/
  removeFolderQuickly $PROJECT_NAME

  if [ $# -gt 1 ]; then
    cvs checkout -r $2 -P ${PROJECT_NAME}
  else
    cvs checkout -P ${PROJECT_NAME}
  fi
  exit

elif [ $CMD = "GOLLF" ]; then

#set -x

  loginGOLLF

  PROJECT_NAME=gollf
#  removeFolderQuickly $PROJECT_NAME

  BRANCH_NAME=$2

  if [ $3 = '.' ]; then
      INCLUDE_FOLDERS=${PROJECT_NAME}
  elif [ $3 = 'back' ]; then
      INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/common"
      INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/comps/backend"
      INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/ds/backend"
      INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/scorecard/backend"
      INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/gemfire/cache"
      INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/profile/backend"
  else
      INCLUDE_FOLDERS="${INCLUDE_FOLDERS} ${PROJECT_NAME}/$3"
  fi

  if [ ${BRANCH_NAME} = '-' ]; then
      LAST_BRANCH=`cat ${BRANCH_FILE}`
     
      if [ -z ${LAST_BRANCH} ]; then
        echo " -"
        echo " - Give me a Branch Name(Blank for Trunk):\c"
        read RESP
        if [ -z ${RESP} ]; then
            echo '-HEAD-' > ${BRANCH_FILE}
                cvs checkout -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
                exit 0
        fi
        LAST_BRANCH=${RESP}
        echo ${LAST_BRANCH} > ${BRANCH_FILE}
      elif [ ${LAST_BRANCH} = '-HEAD-' ]; then
        cvs checkout -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
        exit
      fi
      cvs checkout -r ${LAST_BRANCH} -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
      exit
  elif [ ! ${BRANCH_NAME} = '-HEAD-' ]; then
        echo ${BRANCH_NAME} > ${BRANCH_FILE}
    cvs checkout -r ${BRANCH_NAME} -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
  else
    echo '-HEAD-' > ${BRANCH_FILE}
    cvs checkout -P ${INCLUDE_FOLDERS} #${PROJECT_NAME}/
  fi
  exit

#  standardCheckOut gollf $2

else
  loginLQT
  PROJECT_NAME=$1
  removeFolderQuickly $PROJECT_NAME

  if [ $# -gt 1 ]; then
    cvs checkout -r $2 -P ${PROJECT_NAME}
  else
    cvs checkout -P ${PROJECT_NAME}
  fi
  exit

  cat $1 >> ${FOLDERS}
  mv ${FOLDERS} ${FOLDERS}.old
  cat ${FOLDERS}.old | uniq > $FOLDERS
  rm ${FOLDERS}.old

fi

分享到:
评论

相关推荐

    salt-formulas:所有已知的盐公式的集合,在 git 中,通过子模块

    盐配方 所有已知的盐公式的集合,在 git 中,通过子模块 ... python checkout.py > checkout.sh bash -x checkout.sh 跳棋 find -name *.yml > yamlfiles.txt find -name *.sls > slsfiles.txt find -name *.py >

    纯 Go 语言的 ECMAScript,JavaScript 引擎.zip

    请参阅 .tc39_test262_checkout.sh 以获取最新的工作提交 ID。能够运行 Babel、Typescript 编译器以及几乎所有用 ES5 编写的内容。源图。大多数 ES6 功能仍在进行中,请参阅...

    deploy-sh

    > git clone git@github.com:as24ch/deploy-sh.git ./deploy > chmod +x ./setup.sh > ./setup.sh 用法 设置脚本后,您可以通过运行cli.sh触发部署 帮助 命令行界面 Usage: {script_name}.sh [arg=val...] [--flag]...

    MSSMvsSMRun2Legacy:可以在CombineHarvester中使用的MSSM分析专用软件(具有SM类别)

    bash ./checkout.sh 之后,请按照以下结构将数据卡输入放入文件夹中: <year>/<channel>/htt_<category>.inputs-mssm-vs-sm-Run<year>-<variable>.root 基于剪切的SM分析 数据卡创建 morph_parallel.py --output ...

    rk3288 QT移植

    然后,通过`git reset --hard`和`git checkout master`来确保你处在正确的分支上。 编译源码分为几个步骤: 1. 使用`sudo ./build.sh init`初始化构建环境,指定对应的开发板型号。 2. 配置设备树,例如添加...

    linux编写.sh脚本并赋权限问题

    git checkout -B demo -t origin/demo git pull ``` 2. **保存退出**: - 在使用`vi`或`vim`时,按`Esc`键,然后输入`:wq`保存并退出编辑器。 3. **赋予脚本执行权限**: - 使用`chmod`命令可以改变文件的...

    monorepo:内部git-maven-monorepo的结构和工作流程

    使用资料库最初设定: git clone git@github.com:logiball/monorepo.gitcd monorepomr/checkout.sh要构建存储库的所有部分,请运行: mvn install如果仅是一个特定项目及其依赖项,则应运行: mvn install -pl de....

    react-tdd-example

    使用 , , , 和示例。... 第一次提交以“ Failing”为前缀,添加了对该功能的失败测试。.../bin/bashgit checkout mastergit checkout $1并指定提交哈希,如下所示: ./checkout.sh HASH提交哈希的列表可以在找到

    唤醒:任务自动化

    Wakeci它是什么? Wakeci是一种自动化工具,可帮助执行重复性任务产品特点使用YAML... sh ${WAKE_CONFIG_DIR}utils/checkout.sh wakeci ${VERSION} - name : Install npm dependencies command : cd wakeci/src/fronte

    urbackup_backend:UrBackup-Windows,MacOS和Linux的ClientServer开源网络备份

    UrBackup 有关更多信息,Wiki,论坛和问题跟踪...cd client && git checkout BRANCH 切换到建立客户。 然后使用构建客户端/服务器 autoreconf --install ./configure make -j8 在macOS上构建 有关macOS的构建说明,

    dotfiles:我自己的点文件

    ./apt.sh(或pacman.sh) ./bootstrap.sh 文件分类 安装软件的脚本: apt.sh -> linux分支 pacman.sh -> linux分支 brew.sh -> mac分支 链接配置文件的脚本: bootstrap.sh 配置Mac系统的脚本: .osx 各种配置文件 项目...

    alfred-workflow-lgtm:motemenlgtm.sh 的 Alfred 工作流程

    下载并运行工作流文件截屏关键词名称描述登录将 LGTM 图像复制为 URL lgtm -m 将 LGTM 图像复制为 Markdown执照麻省理工学院(见 )贡献分叉它( ) 创建您的功能分支( git checkout -b my-new-feature ) 提交您...

    pepper-nim:与 Nim lang 一起玩 PNacl

    与 Nim lang 一起玩 PNacl为什么要将 nim 移植到 ... cd naclports/src./make_all.sh glibc-compat 。 Mac OS X 用户可以使用brew install nim 。 结帐并制作: git clone https://github.com/hackwaly/pepper-nim.

    moltin-next-checkout::high_voltage:Next.js演示一键式moltin购买

    moltin-next-checkout :high_voltage: 一键购买moltin的Next.js...MICRO_ENDPOINT_URL=https://moltin-micro-checkout.now.sh moltin和Stripe帐户都需要此功能。 确保您的已连接到您的moltin商店。 了解更多信息。

    ro-catalogue:用于开发和测试的 RO 集合

    可以从中派生 ro.sh 本地副本的示例文件是 ro.sh.gk-eskarina make.sh in the individual ROs do a "source ../../ro.sh". Best practice is to add your .sh file here with a similar naming style reflecting ...

    updatr:[未维护] 用于更新所有内容的脚本

    安装使用节点 CLI 工具 npm install -g updatrupdatr运行 bash 脚本 git clone https://github.com/johnotander/updatr.git && cd updatrchmod +x update.sh./update.sh此脚本假定您已安装以下内容:执照麻省理工...

    drupal_core_release:用于准备 Drupal 核心版本的脚本集

    drupal_core_release ... 检查正确的分支并确保您有最新的更改: git checkout 8.1.x; git pull 运行脚本: /path/to/core_release/tag.sh 系统会提示你输入版本号,如果不是正常的补丁版本,还要输入上一个和下一个版

    京东区块链 JD Chain 是一个企业级的区块链框架系统,具有简洁、易用、可扩展和高性能的特点

    $ git checkout master $ chmod +x build/*.sh # 执行完整的构建,包括执行”集成测试“和”打包“两部分;提供两个参数: # --skipTests :跳过集成测试部分; # --update :从远程仓库更新子模块。注意,采用此...

    mdmu:mdmu-Mifare DESfire操纵实用程序-来自我自己的大脑,没有NDA-释放您的思想

    $ ./rfid_checkout_script_v0.sh # sometimes things happen, run it sometimes $ ./rfid_compile_script_v0.sh # please fix stuff daily -> run it as often as needed! (Fix everything until you can't stand it...

    paddlepaddle-2.5.0rc1-cp37-cp37m-linux-aarch64.whl

    ./bootstrap.sh ./configure make make check sudo make install 安装paddle git clone https://github.com/PaddlePaddle/Paddle.git cd Paddle git checkout v2.5.0-rc1 mkdir build && cd build

Global site tag (gtag.js) - Google Analytics