我想实现一种在代码中记录项目版本的方法,以便在测试时使用它并帮助跟踪错误.似乎使用的最佳版本号只是Subversion的当前版本号.有没有一种简单的方法可以将这个数字挂钩到(我的情况下是C++)头文件或其他什么东西,然后我可以在代码中找到它?我猜这是一个帖子提交钩子什么的?
有没有人有任何实现这个的经验(请分享代码,请?),或者可以提出更好的选择?谢谢.
我有一个带有标准布局的subversion存储库,即trunk /和branches /(和tags /).在进行更大的更改时,会使用功能分支,定期与主干同步,然后重新集成回主干(现在使用1.5).很标准的东西.
我想知道的是,这样一个功能分支,一旦完成并合并,应该保留或删除.颠覆书偶尔似乎暗示删除它们是很常见的,但我也看到了一堆开源项目确实保留了分支机构.
我也有点担心删除分支会如何更难以跟踪存在哪些分支,特别是当可能重复的名称进入场景时(比如我们搜索 - 重构两次),它们的提交历史在存储库深处的某处消失等等
另一方面,分支使用相当多,特别是现在使用1.5,我确实喜欢不必浏览大量非活动分支以找到我正在处理的分支.
我缺少的利弊是什么?人们在做什么?
我有很多文件,我检查到SVN没有正确设置他们的Mime类型.SVN最初将它们归类为二进制.
我已经通过propset将他们的Mime类型通过propset设置为"text/plain; charset = UTF-8"并且我确保所有文件都是UTF-8签名的.当我'svn blame filename'时,svn说该文件是二进制的,并没有给我明确的责备类型输出.
关于如何说服SVN这些是真正的文本文件的任何建议?
我喜欢TortoiseSVN的Windows集成.处理git-svn有类似的东西吗?如果它足够快,我甚至可以使用集成度较低的GUI.我不想要的是一个CLI,因为我很少有一个命令提示符位于正确的目录中.
这是一个相关的问题,但对于Linux
我安装了CollabNet Subversion服务器和客户端,运行它附带的Apache.从服务器上的命令行,我可以使用类似的路径轻松访问存储库
http://server:port/svn/repository
Run Code Online (Sandbox Code Playgroud)
但我无法使用它在磁盘上的实际位置来访问它,比如
c:\repositories\repository
Run Code Online (Sandbox Code Playgroud)
我只是得到"[路径]不是一个工作副本." 我有什么误会?
当我运行SVN UP时收到此消息:
Skipped 'trunk/scripts/accountability_survey_report.php'
At revision 1585.
Summary of conflicts:
Skipped paths: 1
Run Code Online (Sandbox Code Playgroud)
我一直在谷歌上搜索确切意味着这意味着什么以及如何解决它.我尝试删除该文件然后再次svn,但我得到以下内容:
Restored 'trunk/scripts/accountability_survey_report.php'
Skipped 'trunk/scripts/accountability_survey_report.php'
At revision 1585.
Summary of conflicts:
Skipped paths: 1
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
我想将TortoiseSVN安装升级到1.7版.我们有一个运行SVN 1.6存储库的VisualSVN服务器.
在我更新客户端之前,是否需要将存储库升级到1.7,或者TortoiseSVN是否向后兼容?
我知道在从TortoiseSVN 1.6升级到1.7期间,我需要将我的工作副本转换为新格式,但在提交过程中是否有一些逻辑可以查看服务器版本并进行适当调整?
svn version-control tortoisesvn backwards-compatibility visualsvn-server
我有一个SVN项目的工作副本.应用程序从此工作副本中删除文件.当我使用SVN命令行提交工作副本时,我想从存储库中删除这些已删除的文件.
如果我使用svn commit它提交工作副本不会从项目中删除文件(因为它们没有在本地删除svn delete.有没有办法我可以告诉SVN删除(从存储库)任何缺少的文件工作副本?
在Subversion中,我使用trunk创建了一个分支svn copy.根据SVN 1.5手册,"这是"标记"存储库中的修订版的最简单方法 - 只需将该版本(通常是HEAD)复制到您的标记目录中."
svn copy file:////svn/projectX/trunk file:///svn/projectX/branches/stefanl
Run Code Online (Sandbox Code Playgroud)
然后,我对stefanl分支进行了修改.我想将我的更改提交到主干,但在我这样做之前,我希望看到更改的差异.
如何将'stefanl'分支与'trunk'分支区分开来?我试过了svn diff,但它没有提供太多信息:
% svn diff file:////svn/projectX/trunk file:///svn/projectX/branches/stefanl
Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
Reverse-merged /trunk:r1699-1870
Run Code Online (Sandbox Code Playgroud) 我的分支机构有一些提交.我想将分支合并到trunk,但是有一些提交我不会合并到我的分支上的trunk.我该怎么办?