用shell脚本获取svn版本号,作为项目的小版本号

在进行自动部署的时候,经常需要用脚本获取程序的最新版本号


在xcode中选中target的 Build Phases , 在Editor 中 选择 Add Build Phases  --> Add Run Script Build Phases 然后添加前提是,(需要安装好svn客户端,可以在shell 中先进入到svn目录,然后执行一下

`svnversion -c |sed 's/^.*://' |sed 's/[A-Z]*$//'` 的方法,看看能不能获取版本号

# 获取XML版本的svn信息,这样可以避免不同语言的问题
svnv=`svnversion -c |sed 's/^.*://' |sed 's/[A-Z]*$//'`

/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${svnv}" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"

安卓

svnv=`svnversion |sed 's/^.*://' |sed 's/[A-Z]*$//'`
echo $svnv
sed -i s/versionName="\(.*build-\)[0-9]*"/versionName="\1$svnv"/ AndroidManifest.xml
cat AndroidManifest.xml |grep versionName


另附一个subversion 创建版本库的脚本,需要在create.sh 脚本同一目录下面,创建一个conf 文件夹,拷贝 authz,passwd,svnserve.conf 文件在里面,作为所有版本库的共同配置文件,统一做权限控制。

#!/bin/sh
OPT=$1


svn_dir=/usr/local/svn/


#创建svn仓库
create()
{
	echo "create repository .."


	svnadmin create ${svn_dir}${OPT}  


	echo "set auth users"


	cp ${svn_dir}conf/svnserve.conf ${svn_dir}${OPT}/conf/svnserve.conf


	echo "set access users"
	echo "
[${OPT}:/]
@dev = rw
@ui = rw
@test = rw
* = r" >> ${svn_dir}conf/authz


	echo "create trunk branches tags .."
	svn mkdir file://${svn_dir}${OPT}/tags -m -F 
        svn mkdir file://${svn_dir}${OPT}/trunk -m -F
        svn mkdir file://${svn_dir}${OPT}/branches -m -F
}


#创建
create


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值