如何在程序中得到SVN的版本号

如何在程序中得到SVN的版本号,第1张

svnversionsh内容如下:#! /bin/shVERFILE=/include/SVN_Serialhsvn_last_rev_str=`svnversion -c`svn_last_rev=${svn_last_rev_str##:}echo "#define SVN_SERIAL $svn_last_rev" $VERFILE第二步:在versionh内将获得在SVN_Serialh内的SVN版本号加以处理,方便程序使用versionh内容如下:#ifndef _VERSION_H_#define _VERSION_H_#include "SVN_Serialh"#define VERSION_HEAD "Ver"#define VERSION_PATCH SVN_SERIAL#define VERSION_COMP_DATE __DATE__#define VERSION_COMP_TIME __TIME__#define _VERSION_STRINGIZE(str) #str#define _VERSION_STRING(num) _VERSION_STRINGIZE(num)#define VERSION_STRING VERSION_HEAD \_VERSION_STRING(VERSION_PATCH)" "#define VERSION_COMP_DATA_TIME VERSION_COMP_DATE"-"\VERSION_COMP_TIME#endifPS:命令:svn info也可以得到SVN相关的信息,不过它不能获得当前版本修改后的情况,即:xxM。

其中 版本号中的 8538 就是获取到的svn版本号

这种情况就是编译后依然无法获取到svn 版本号。

到此,xcode 自动获取svn版本号写入到build中就完成了。如有其他更好的办法获取版本号或者是还有其他情况获取不到svn版本号的欢迎在评论下补充,谢谢。

chy_dl2008是正解。

我理解你现在想实现的是保留之前发布的那个版本,同时还能继续开发新版本,不会因开发新版本而丢失或弄乱那个发布版。这就要用到SVN的分支/标记功能,你先查看日志,确定之前那个发布版的SVN版本号,然后从这个SVN版本号打个标记,然后就可以继续新开发工作了。如果以后想找回那个发布版,只要从那个标记找回就行了。

关于分支、标记的具体 *** 作,可以看我的百度文库,里面有篇在windows环境下使用SVN的PPT,里面有详细讲解。

这是通常所称的回滚 *** 作,以TortoiseSVN为例,对该文件点右键,TortoiseSVN--显示日志,在日志窗口上方选中你要恢复的那个版本,在下方右键点击该文件,选择"复原此版本做出的修改",然后再次commit。

SVN是一部时间机器,能记录很多提交的数据信息。

你只要添加一个文件或目录,点击了Commit命令,SVN就会生成一个新的版本号,再添加,再Commit后,版本号就会增加

1

,SVN的版本号就是这样累加出来得。

要是还原以前的版本号,你得先知道以前版本号是多少?

然后使用SVN

Switch命令,把你原来的版本号输入,点击确认就以回到原版本了。

在代码的编写过程中,难免有些错误需要修改,或者想从以前的文件进行代码修改,这样就涉及到版本的追踪,如果你以前提交时日志写的非常清楚,那版本追踪回滚起来就事半功倍、得心应手。下面介绍几种版本回滚的办法:

1推荐的一种方法是,直接export一个你需要的版本,然后用你export的版本覆盖你的最新的版本,这样你就可以不丢失你新建的文件,同时获得最新的svn版本控制。

*** 作步骤:tortoisesvn→show

log→选中需要回滚的版本→右键→export。

之后将修改的文件覆盖到你的最新版本,commit即可。

2

若是你编辑了工程,在没有提交的前提下,你想放弃这些修改,你可以直接选择tortoisesvn→revert就可以更新到工程的最新的版本。

3

若是你想退回到某一个版本,你就可以直接选择tortoisesvn→update

to

reversion,这样我们就可以把我们的版本回退到你选中的版本去,这种情况下svn并没有显示出有什么冲突,并且新建立的文件也还在,但是在这种情况下你并不能直接在你回退后的版本上进行编辑,因为svn的版本控制还是在最新的主干上。我们需要update并解决冲突。

4你可以直接选择revert

changes

from

this

revision,这样的话你可以直接解决冲突并提交。不过这种方法的不足是,你新建的文件都没有了,整个工程都回退到之前的版本了。

5可以从日志中回滚到你需要的版本,从日志中选中你需要的版本,然后update

item

to

reversion就好了,这种情况下svn并没有显示出有什么冲突,并且新建立的文件也还在,但是在这种情况下你并不能直接在你回退后的版本上进行编辑,因为svn的版本控制还是在最新的主干上。我们需要update并解决冲突。

以上就是关于如何在程序中得到SVN的版本号全部的内容,包括:如何在程序中得到SVN的版本号、iOS 自动获取SVN版本号并写入Xcode作为build号、svn 如何将本地文件夹和服务器上的关联起来,但是不获取最新版本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10135634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存