개 선 된 SVN 업데이트 스 크 립 트
업데이트 할 코드 는 몇 개의 창고 에 대응 하기 때문에 각 모듈 의 로 컬 작업 공간 은 현재 디 렉 터 리 코드 를 업데이트 하 는 스 크 립 트 가 있어 야 합 니 다. 다시 하나의 스 크 립 트 로 코드 업 데 이 트 를 호출 해 야 합 니 다.그래서 저 는 작업 디 렉 터 리 에 있 는 루트 디 렉 터 리 에 스 크 립 트 를 썼 고 다른 몇 개의 모듈 디 렉 터 리 에 소프트 링크 를 만들어 서 이 스 크 립 트 를 가 리 켰 습 니 다.
코드 는 다음 과 같 습 니 다:
#!/bin/sh
revision=`svn info |grep "Last Changed Rev:" |awk '{print $4}'`
echo "the revision is $revision"
URL=`svn info |grep URL: |awk '{print $2}'`
echo "the url is $URL"
svnRevision=`svn info $URL |grep "Last Changed Rev:" |awk '{print $4}'`
echo "the revision in svn is $svnRevision"
if [[ $revision < $svnRevision ]] ; then
echo -e "\033[0;31;40m need svn up \033[0m"
svn up
echo "svn up finish"
exit 1
else
echo -e "\033[0;38;40m no need svn up \033[0m"
exit 0
fi
그 다음 에 스 크 립 트 를 호출 하여 위의 스 크 립 트 를 호출 하여 코드 디 렉 터 리 를 업데이트 하고 실행 결 과 를 현재 시간 으로 명 명 된 로그 파일 에 출력 합 니 다.물론 위 에서 출력 한 것 은 '\033 [0; 31; 40m need svn up\033 [0m' 와 같이 cat 로 보면 색깔 이 있 습 니 다.
스 크 립 트 코드 는 다음 과 같 습 니 다:
#!/bin/bash
ROOT=`pwd`
LOGDIR=$ROOT/logsvn
if [ ! -d "$LOGDIR" ]; then
mkdir $LOGDIR
fi
FILENAME=$LOGDIR/`date |sed -n 's/\://pg' |awk '{print $2 $3 $4}'`.log
function svnUp()
{
echo "check $1"
echo "check $1" >> $FILENAME
cd $ROOT/$1
./svnUpCheck.sh >> $FILENAME
if [[ $? = 1 ]]; then
echo "svn up"
fi
revision=`svn info |grep "Last Changed Rev:" |awk '{print $4}'`
changedate=`svn info |grep "Last Changed Date:" |awk '{print $4 "\x20" $5}'`
echo "$revision $changedate" >> $FILENAME
date >> $FILENAME
echo >> $FILENAME
}
svnUp android
svnUp linux
svnUp system
svnUp tvserver/common_magellan
svnUp image_file_creator
svnUp tvserver/system
첫 번 째 스 크 립 트 는 변경 하지 않 고 svn 작업 공간 에 두 면 성공 적 으로 실 행 됩 니 다.
두 번 째 스 크 립 트 는 아래 호출 시 들 어 오 는 매개 변 수 를 svn 작업 디 렉 터 리 로 수정 한 후에 도 다른 항목 에 사용 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.