在进行自动部署的时候,经常需要用脚本获取程序的最新版本号,下面是我的两个解决方案。
for SVN
获取XML版本的svn信息,这样可以避免不同语言的问题 __xml=svn info –xml –incremental # 我们可以获取到2个版本号,一个是最新版本库版本号,一个是自己的提交版本号。删除自己提交的版本号。 __revision=echo “$__xml”|sed ‘/revision/!d’|sed ‘$d’ # 提取出版本号的数字部分 echo $__revision|sed ‘s/revision=”([0-9]+)”>?/1/’
获取XML版本的svn信息,这样可以避免不同语言的问题
__xml=svn info –xml –incremental
我们可以获取到2个版本号,一个是最新版本库版本号,一个是自己的提交版本号。删除自己提交的版本号。
__revision=echo “$__xml”|sed ‘/revision/!d’|sed ‘$d’
提取出版本号的数字部分
echo $__revision|sed ‘s/revision=”([0-9]+)”>?/1/’
for Git
Git采用的是SHA散列码作为版本号,因此它没有顺序的版本号。但我们可以通过统计Git版本库的提交次数来获得一个顺序版本号。
基准版本号默认是1,可以通过传递一个参数修改 get_version() { local __base=${1:-1} echo $((git rev-list –all|wc -l + $__base)) } get_version 7000
基准版本号默认是1,可以通过传递一个参数修改
get_version()
{
local __base=${1:-1}
echo $((git rev-list –all|wc -l + $__base))
}
get_version 7000
这个版本对网上搜到的那个被普遍转载的版本做了简化和调整。网上那个版本写得比较复杂,例如awk的使用没有必要,而且要统计所有提交,应该用 git rev-list –all 参数,而不是用 git rev-list HEAD。
本文链接:http://zengrong.net/post/1798.htm
Windows 下 Git 客户端的选择,TortoiseGit(乌龟git)保存用户名密码的方法:
windows下比较比较好用的git客户端有2种:
-
msysgit + TortoiseGit(乌龟git)
-
GitHub for Windows
github的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit+乌龟git的组合。TortoiseGit在提交时总数会提示你输入用户名密码,非常麻烦。解决方案如下:
方法一:
设置 -> git 编辑本地 .git/config 增加
[credential]
helper = store
保存,输入一次密码后第二次就会记住密码了
方法二:
-
Windows中添加一个HOME环境变量,值为%USERPROFILE%
-
在“开始>运行”中打开%Home%,新建一个名为“_netrc”的文件
-
用记事本打开_netrc文件,输入Git服务器名、用户名、密码,并保存:
machine github.com #git服务器名称
login user #git帐号
password pwd #git密码
在windows上建_netrc
copy con _netrc #创建_netrc文件
依次输入以下3行:
machine github.com #git服务器名称
login username #git帐号
password password #git密码
在最后一行后输入ctrl+z,文件会自动保存并退出
再次在git上提交时就不用重复输入用户名密码了