在进行自动部署的时候,经常需要用脚本获取程序的最新版本号,下面是我的两个解决方案。
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种:
1. msysgit + TortoiseGit(乌龟git)
2. GitHub for Windows
github的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit+乌龟git的组合。TortoiseGit在提交时总数会提示你输入用户名密码,非常麻烦。解决方案如下:
方法一:
设置 -> git 编辑本地 .git/config 增加
[credential]
helper = store
保存,输入一次密码后第二次就会记住密码了
方法二:
1. Windows中添加一个HOME环境变量,值为%USERPROFILE%
2. 在“开始>运行”中打开%Home%,新建一个名为“_netrc”的文件
3. 用记事本打开_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上提交时就不用重复输入用户名密码了
来自:http://www.etosun.com/post/130
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种:
1. msysgit + TortoiseGit(乌龟git)
2. GitHub for Windows
github的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit+乌龟git的组合。TortoiseGit在提交时总数会提示你输入用户名密码,非常麻烦。解决方案如下:
方法一:
设置 -> git 编辑本地 .git/config 增加
[credential]
helper = store
保存,输入一次密码后第二次就会记住密码了
方法二:
1. Windows中添加一个HOME环境变量,值为%USERPROFILE%
2. 在“开始>运行”中打开%Home%,新建一个名为“_netrc”的文件
3. 用记事本打开_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上提交时就不用重复输入用户名密码了
来自:http://www.etosun.com/post/130
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/7380/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2014-8-12 17:00
评论列表