背景:svn pc客户端项目下的版本号发现其svn log号低于svn update的版本号的情况原因及分析,以及用哪个版本号作为项目发布版本号的最终版本。
经过排查,其原因有二:
1、自己所处项目是处在一个项目集中的一个,根下其它项目(于我同级)地方更新后,我权限不够不知道,用客户端工具也好,终端工具也好都无法看到update的最高版本号(整个根下的最高基线)。
2、update的版本号是全局版本号,而自己项目的svn log则是自己项目的版本号,以它为准才相对靠谱些。
冒个泡:
问个SVN的问题,那个SVN里的Log的版本号为嘛会出现比svn up的版本号低呢?
我想确认下是不是服务端有hook钩子之类的作了手脚,提高了版本号?
【T7】颜玉刚
@回忆未来-向东-Jàck update的那个版本是版本库根的版本号,而不是你这个项目的版本号,所以有可能就不一样
【T7】颜玉刚
14/8/11 星期一 下午 03:25:41
比如你的version root路径是:http://svn.test.com/root,你下面有很多项目,比如http://svn.test.com/root/app1和http://svn.test.com/root/app2。log里看到的是app1或者app2的版本号,update的是root的版本号
【T7】颜玉刚
svn info的时候就可以看到版本库根是什么了
【T3】回忆未来-向东-Jàck 14/8/11 星期一 下午 03:30:10
我用的小乌龟,没终端呀,
也就是说我update只是把根里的版本号update下来了,而log则是这个目录下的了。
【T7】颜玉刚
14/8/11 星期一 下午 03:30:24
嗯
——————————————————————————————————————————————————————————————————
有没有使用svn server上做钩子啥的给版本号加了的情形?
下午 03:34:44
【T7】颜玉刚
14/8/11 星期一 下午 03:34:44
钩子的话为何要加版本号呢,一般可能是svn更新出发某个更新,没必要修改svn的版本吧
【T3】回忆未来-向东-Jàck 14/8/11 星期一 下午 03:35:44
嗯,我主是怕服务端它模拟提交了一次如版本号啥的没加入log中,所以才有此一问。
我发现这个根访问不了,但这个根下面的版本号还是不够。
所以,我怀疑这个根作了更新,但我无权限的推断,呵呵。
【T7】颜玉刚
可能就是你没有根权限,也不一定是要往根上面提交,也可能是根下面有其他项目svn,别的项目提交的
下午 04:18:04
【T3】回忆未来-向东-Jàck 14/8/11 星期一 下午 04:18:04
嗯,我从这个靠近根一层级(turnk这地级)的log里(这一级我有权限)发现也不是最大的svn版本号呀。所以,我估计根一层还是有改动。
—————————————————实践证明是没有的如下:———————————————————————————————————
首先,用那个svn的小乌龟看是不准的-repo-browner,到根下它里面显示才532,而直接用svn命令行checkOut出来也就对了537,如下:
[root@test pcclient]# svn co http://svn.xiyou.cntv.cn/clients
......
A clients/windows/tags
Checked out revision 537.
查看下SVN的日志:
svn log 命令怎么样能够只显示前面几行这个直接用svn log | head -n XX表示行数就ok了。
[root@test pcclient]# cd clients/
[root@test clients]# svn log //列出一堆
[root@test clients]# svn log|head -n 20
[root@test clients]# svn log|head -n 20
r537 | wangzh | 2014-08-11 14:42:52 +0800 (Mon, 11 Aug 2014) | 1 line
搜索和我的 标题显示两行
r536 | wangzh | 2014-08-11 14:42:01 +0800 (Mon, 11 Aug 2014) | 1 line
登录时增加提示
r535 | wangzh | 2014-08-11 12:35:52 +0800 (Mon, 11 Aug 2014) | 1 line
广场标题显示两行文字
r534 | wangzh | 2014-08-11 12:35:32 +0800 (Mon, 11 Aug 2014) | 1 line
获取字符串宽度时,增加显示行数限制
r533 | wangzh | 2014-08-09 22:44:56 +0800 (Sat, 09 Aug 2014) | 1 line
调试
最后,发现在下面这个目录下有这个日志,是王振华修改的:
/pcclient/clients/ios 533---》537
/pcclient/clients/tv 521---》525
也就是说,无论是客户端小乌龟,还是命令行其实显示都是对的,我由于两个原因导致:
1.我的目录权限不够大,在.8机器上是赵卫的权限,都有,而我是xiangdong,只能看到windows目录,其显示的是windows下的版本号。
2.验证颜玉刚所说的:根上是最大的,下面的各个目录都是以它作为基数增长,自己打版本号时以自己的目录版本号进行封装即可,得证。
实践如何打版本号:
我想我打出一个客户端的版本是以当前项目的svn log为准,还是以整个根下的update版本号为准?一般来说是svn update是全局版本号大于当前项目的svn log版本号。
如此这斑,我还是用我自己项目的svn log版本号吧。
————————————————#######————————————————
我刚才说的svn版本号的问题,你们是怎么玩的?
下午 05:11:32
颜玉刚 14/8/11 星期一 下午 05:11:32
以log的来算
回忆未来-向东-Jàck 14/8/11 星期一 下午 05:12:12
嗯,那个update如果根下多个项目总会出现update的版本号大于当前自己项目的log版本号。
——————————————————————————————————————————————————————————————————
SVN info在windows下看根:(Repository Root: http://svn.xiyou.cntv.cn/clients)
D:\xiyou_pcClientBuld_Branche_CodesAll>svn info
Path: .
Working Copy Root Path: D:\xiyou_pcClientBuld_Branche_CodesAll
URL: http://svn.xiyou.cntv.cn/clients/windows/branches/xiyouPcClient_Branches1
Repository Root: http://svn.xiyou.cntv.cn/clients
Repository UUID: 0e7b03ef-3438-4a6b-a5b1-5057ffea11a7
Revision: 535
Node Kind: directory
Schedule: normal
Last Changed Author: chaijinjian
Last Changed Rev: 529
Last Changed Date: 2014-08-08 11:06:13 +0800 (周五, 08 八月 2014)
经过排查,其原因有二:
1、自己所处项目是处在一个项目集中的一个,根下其它项目(于我同级)地方更新后,我权限不够不知道,用客户端工具也好,终端工具也好都无法看到update的最高版本号(整个根下的最高基线)。
2、update的版本号是全局版本号,而自己项目的svn log则是自己项目的版本号,以它为准才相对靠谱些。
冒个泡:
问个SVN的问题,那个SVN里的Log的版本号为嘛会出现比svn up的版本号低呢?
我想确认下是不是服务端有hook钩子之类的作了手脚,提高了版本号?
【T7】颜玉刚
@回忆未来-向东-Jàck update的那个版本是版本库根的版本号,而不是你这个项目的版本号,所以有可能就不一样
【T7】颜玉刚
14/8/11 星期一 下午 03:25:41
比如你的version root路径是:http://svn.test.com/root,你下面有很多项目,比如http://svn.test.com/root/app1和http://svn.test.com/root/app2。log里看到的是app1或者app2的版本号,update的是root的版本号
【T7】颜玉刚
svn info的时候就可以看到版本库根是什么了
【T3】回忆未来-向东-Jàck 14/8/11 星期一 下午 03:30:10
我用的小乌龟,没终端呀,
也就是说我update只是把根里的版本号update下来了,而log则是这个目录下的了。
【T7】颜玉刚
14/8/11 星期一 下午 03:30:24
嗯
——————————————————————————————————————————————————————————————————
有没有使用svn server上做钩子啥的给版本号加了的情形?
下午 03:34:44
【T7】颜玉刚
14/8/11 星期一 下午 03:34:44
钩子的话为何要加版本号呢,一般可能是svn更新出发某个更新,没必要修改svn的版本吧
【T3】回忆未来-向东-Jàck 14/8/11 星期一 下午 03:35:44
嗯,我主是怕服务端它模拟提交了一次如版本号啥的没加入log中,所以才有此一问。
我发现这个根访问不了,但这个根下面的版本号还是不够。
所以,我怀疑这个根作了更新,但我无权限的推断,呵呵。
【T7】颜玉刚
可能就是你没有根权限,也不一定是要往根上面提交,也可能是根下面有其他项目svn,别的项目提交的
下午 04:18:04
【T3】回忆未来-向东-Jàck 14/8/11 星期一 下午 04:18:04
嗯,我从这个靠近根一层级(turnk这地级)的log里(这一级我有权限)发现也不是最大的svn版本号呀。所以,我估计根一层还是有改动。
—————————————————实践证明是没有的如下:———————————————————————————————————
首先,用那个svn的小乌龟看是不准的-repo-browner,到根下它里面显示才532,而直接用svn命令行checkOut出来也就对了537,如下:
[root@test pcclient]# svn co http://svn.xiyou.cntv.cn/clients
......
A clients/windows/tags
Checked out revision 537.
查看下SVN的日志:
svn log 命令怎么样能够只显示前面几行这个直接用svn log | head -n XX表示行数就ok了。
[root@test pcclient]# cd clients/
[root@test clients]# svn log //列出一堆
[root@test clients]# svn log|head -n 20
[root@test clients]# svn log|head -n 20
r537 | wangzh | 2014-08-11 14:42:52 +0800 (Mon, 11 Aug 2014) | 1 line
搜索和我的 标题显示两行
r536 | wangzh | 2014-08-11 14:42:01 +0800 (Mon, 11 Aug 2014) | 1 line
登录时增加提示
r535 | wangzh | 2014-08-11 12:35:52 +0800 (Mon, 11 Aug 2014) | 1 line
广场标题显示两行文字
r534 | wangzh | 2014-08-11 12:35:32 +0800 (Mon, 11 Aug 2014) | 1 line
获取字符串宽度时,增加显示行数限制
r533 | wangzh | 2014-08-09 22:44:56 +0800 (Sat, 09 Aug 2014) | 1 line
调试
最后,发现在下面这个目录下有这个日志,是王振华修改的:
/pcclient/clients/ios 533---》537
/pcclient/clients/tv 521---》525
也就是说,无论是客户端小乌龟,还是命令行其实显示都是对的,我由于两个原因导致:
1.我的目录权限不够大,在.8机器上是赵卫的权限,都有,而我是xiangdong,只能看到windows目录,其显示的是windows下的版本号。
2.验证颜玉刚所说的:根上是最大的,下面的各个目录都是以它作为基数增长,自己打版本号时以自己的目录版本号进行封装即可,得证。
实践如何打版本号:
我想我打出一个客户端的版本是以当前项目的svn log为准,还是以整个根下的update版本号为准?一般来说是svn update是全局版本号大于当前项目的svn log版本号。
如此这斑,我还是用我自己项目的svn log版本号吧。
————————————————#######————————————————
我刚才说的svn版本号的问题,你们是怎么玩的?
下午 05:11:32
颜玉刚 14/8/11 星期一 下午 05:11:32
以log的来算
回忆未来-向东-Jàck 14/8/11 星期一 下午 05:12:12
嗯,那个update如果根下多个项目总会出现update的版本号大于当前自己项目的log版本号。
——————————————————————————————————————————————————————————————————
SVN info在windows下看根:(Repository Root: http://svn.xiyou.cntv.cn/clients)
D:\xiyou_pcClientBuld_Branche_CodesAll>svn info
Path: .
Working Copy Root Path: D:\xiyou_pcClientBuld_Branche_CodesAll
URL: http://svn.xiyou.cntv.cn/clients/windows/branches/xiyouPcClient_Branches1
Repository Root: http://svn.xiyou.cntv.cn/clients
Repository UUID: 0e7b03ef-3438-4a6b-a5b1-5057ffea11a7
Revision: 535
Node Kind: directory
Schedule: normal
Last Changed Author: chaijinjian
Last Changed Rev: 529
Last Changed Date: 2014-08-08 11:06:13 +0800 (周五, 08 八月 2014)
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/7378/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2014-8-11 17:24
评论列表