Articles of 版本控制

编译后更改Linux共享库(.so文件)版本

我正在编译Linux库(对于Android,使用NDK的g ++,但是我敢打赌,我的问题对于任何Linux系统都是有意义的)。 将这些库提供给合作伙伴时,我需要用一个版本号来标记它们。 我还必须能够以编程方式访问版本号 (例如,在“关于”对话框或GetVersion函数中显示它)。 我首先编译带有未版本标志(版本为0.0 )的库,并且在完成testing之后,需要将此版本更改为真正的版本,然后将其发送给合作伙伴。 我知道修改源代码和重新编译会更容易,但是我们不想这样做(因为如果我们重新编译代码,我们应该再次testing所有东西,我们觉得这样做不太容易出错,请参阅这个注释最后是因为我们的开发环境是这样工作的:我们为Windows二进制文件执行这个过程:我们设置一个0.0版本的资源版本string(.rc),之后我们使用verpatch进行更改 …我们希望使用相同的运送Linux二进制文件时的过程)。 这里最好的策略是什么? 总而言之,要求是: 用“未设置”版本编译二进制文件( 0.0或其他) 能够修改这个“unset”版本到一个特定的版本,而不必重新编译二进制文件(理想情况下,运行第三方工具命令,就像我们在Windows下的verpatch一样) 能够让库代码在运行时检索它的版本信息 如果你的答案是“重命名.so”,那么请提供3的解决scheme:如何在运行时检索版本名称(即:文件名)。 我正在考虑一些解决scheme,但不知道他们是否可以工作以及如何实现这些解决scheme。 在代码中有一个版本variables(一个string或3个int ),并且有办法在以后的二进制文件中更改它? 使用二进制sed …? 在资源中有一个版本variables,并有办法在以后的二进制文件中更改它? (就像我们为win32 / win64所做的那样) 使用.so(如SONAME)专用的字段,并有一个工具允许更改它…并使其可以从C ++代码访问。 重命名lib +更改SONAME(没有find如何实现)…并find一种方法来从C ++代码中检索它。 … 请注意,我们使用QtCreator编译Android .so文件,但它们可能不依赖于Qt。 所以使用Qt资源不是一个理想的解决scheme。

如何升级到Subversion 1.5在CentOS 5上?

我的开发服务器(CentOS 5)运行Subversion 1.4.2,我希望升级到1.5。 我已经阅读了散布在networking上的各种博客和文档,这可以通过使用RPMForge来完成。 我遵循CentOS Wiki上的指示,包括安装yum -priority并按照指示设置我的优先级(核心repo源1和2,RPMForge 20)。 但是,当我尝试运行: $ yum info subversion 给我的版本号仍然是1.4.2,状态为已安装。 在这一点上我的另一个select是从源代码编译,但我想find一个软件包pipe理的解决scheme,以方便将来的升级。 有什么想法吗?

维护跨越SVN更新的文件权限?

我有一系列在Linux中具有执行权限的python脚本。 它们存储在SVN中。 如果我然后运行svn up来更新它们,被覆盖的文件将返回到644 – 即没有任何人的执行权限。 是的,我可以把它编写到chmod +x *之后,但是肯定有办法在SVN中存储权限或在更新时维护它们? 任何build议感激。

我们如何自动pipe理ProductVersion(Windows资源)?

Windows资源有一个FileVersion和一个ProductVersion。 在本机开发环境(例如,Win32应用程序,设备驱动程序) 您如何自动pipe理ProductVerion? 我的语言是C / C ++。 我使用Visual Studio 2008。 我想在生成我的项目时自动增加版本。 可能吗? 我想有一个简单的(和好的)方法。 提前致谢。

在Windows中使用SVN(WordPress插件库)?

我刚刚被批准到WordPress的插件库。 他们让我进入,但我不知道如何使用它。 有人能耐心地解释我,我怎样才能使用这个存储库发布我的插件? 我正在使用Windows。 马蒂拉恩

为.exe和.dll文件批量设置版本号

有没有一个工具,可以让我做这样的事情: thetool.exe '1.0.0.1' mydll.dll myexe.exe ? 基本上我想自动化我的构build过程,然后有一个工具自动设置我的版本号。

如何删除基于颠覆的文件?

我有一个名为“Y”的文件夹,不保存在版本控制中。 我有一个在版本控制下的文件夹“x”。 我想将y复制到x ,因为那样我可以在文件夹x上使用Tortoisesvn Check for Modifications命令 然后,我可以假定每个读取Non-versioned或Ignored文件/文件夹都可以安全地删除。 因为我的WC在没有他们的情况下一直工作正常。 如何添加Subversion标记的文件列表来创build批处理脚本? 更新。 我已经相当远了,我想我只需要一种方法来实现这一点。 我把y复制到了x中。 我跑了检查修改。 我可以右键单击对话框并将path复制到剪贴板。 我只selectUnversioned或忽略的文件。 我将path粘贴到一个batch file中。 我使用一些查找和replace魔法来创build这个。 XCOPY www.root\* www.root.backup /I /Q /R /S /E CD www.root DEL "Appraisals\*.*" /q /s DEL "jobs\Backup\*.*" /q /s DEL "New\Portability\BACKUP\*.*" /q /s DEL "Footer\Codes\*.*" /q /s DEL "QL\Commercial\*.*" /q /s DEL "images\Discard\*.*" /q /s DEL "Dup […]

在Windows共享主机上的Bazaar VCS

是否有可能在我的Windows共享主机没有SSH访问使用Bazaar? http://bazaar.canonical.com/en/ 如果可能的话,你能解释一下如何设置它吗?

如何在一个版本中提交两个相邻的文件夹

请考虑客户端上的这个文件夹结构: + ParentFolder + ChildFolder A + ChildFolder B + Some 20 odd other folders that should not be in svn 现在我是如何到达目前的状况的: 导入SVN的ChildFolder A. 做了一些修改 发现ChildFolder B中有相关的代码 将B导入SVN 在SVN中,它现在看起来像这样: server/MyRepository + ChildFolder A + ChildFolder B 现在事实certificate,一个问题的解决scheme触摸A和B两个文件。我可以提交他们在一个修订? 我可以将它们提交给seperatley,但是之后的修改会被分成两个版本:一个是A的提交,另一个是B的版本。这将会更难监督解决问题所做的所有更改。 基本上我想右键单击“ParentFolder”并执行“S​​VN Commit”。 但ParentFolder不受源代码pipe理。 现在是否有任何(负责任的)的方式来使我能够在一次提交中从两个文件夹提交更改? 提前致谢,

Git:自动提交一个Windows文件夹的内容

我们的networking上有一个共享文件夹。 有没有办法自动提交和推送文件夹的变化(比如说每小时)到远程的Stash仓库? 谢谢。