如何管理 SVN 标签中的修订编号?
How to manage revision numbering in a SVN tag?
我想知道如何处理我的软件项目中的RN(修订号)。
RN 放在一个单独的头文件中,并显示在关于视图中,看起来像这样:v1.23.456
通常我会像这样创建标签:
1.通过以下方式创建标签:
svn copy http://myrepo/trunk http://myrepo/tags/1.23.456 -m"Tagged version 1.23.456"
2。查看标签并编辑 RN:
svn co http://myrepo/tags/1.23.456
gedit revisionNumber.h
3。签入修改后的RN:
svn ci revisionNumber.h -m"Adadpted RN"
--> 编辑标签是一个糟糕的解决方法。但我不知道另一种管理注册护士的方法。所以我的问题是:
如何在 SVN 标签中管理修订编号?
一种可能的解决方案是使用 gedit revisionNumber.h
编辑版本并在 标记您的版本之前将此更改提交到主干 。
对正在进行的工作使用一些 -dev 或 -nightly 标签,例如 1.23.456-dev
。从版本中删除 -dev
并在准备就绪时标记您的版本。
顺便说一句,请查看 Apache Subversion 项目的 Making Subversion Releases 指南。它可能会为您提供更多信息,并可能会回答您的其他问题。
您可以选择两种方法之一,具体取决于您构建已发布软件的方式。
手动 post-提交执行
- 在标记之前提交
revisionNumber.h
。
- 写一个 post-commit 只允许在
revisionNumber.h
正确(匹配标签)的情况下制作标签。您可以使用 svnlook cat
和 grep
. 在 post-commit 钩子中实现它
这种方法的缺点是您仍然需要在两个地方更新修订号,但是 post-commit 钩子至少可以确保您不会搞砸。
构建机器人
这仅适用于具有构建机器人或构建过程的情况。
- 要创建标签,请对标签文件夹使用
svn copy
命令。
- 编写一个 post-commit 钩子来观察这个文件夹并启动构建,为构建提供标签。
- 构建机器人更新
revisionNumber.h
并生成构建。
在这种方法中,revisionNumber.h
永远不会在您的存储库中更新,因此版本号在大多数情况下可能无效。如果您的代码依赖于修订号(即,它不是仅用于显示),这可能不是一个好的解决方案。
我想知道如何处理我的软件项目中的RN(修订号)。
RN 放在一个单独的头文件中,并显示在关于视图中,看起来像这样:v1.23.456
通常我会像这样创建标签:
1.通过以下方式创建标签:
svn copy http://myrepo/trunk http://myrepo/tags/1.23.456 -m"Tagged version 1.23.456"
2。查看标签并编辑 RN:
svn co http://myrepo/tags/1.23.456
gedit revisionNumber.h
3。签入修改后的RN:
svn ci revisionNumber.h -m"Adadpted RN"
--> 编辑标签是一个糟糕的解决方法。但我不知道另一种管理注册护士的方法。所以我的问题是:
如何在 SVN 标签中管理修订编号?
一种可能的解决方案是使用 gedit revisionNumber.h
编辑版本并在 标记您的版本之前将此更改提交到主干 。
对正在进行的工作使用一些 -dev 或 -nightly 标签,例如 1.23.456-dev
。从版本中删除 -dev
并在准备就绪时标记您的版本。
顺便说一句,请查看 Apache Subversion 项目的 Making Subversion Releases 指南。它可能会为您提供更多信息,并可能会回答您的其他问题。
您可以选择两种方法之一,具体取决于您构建已发布软件的方式。
手动 post-提交执行
- 在标记之前提交
revisionNumber.h
。 - 写一个 post-commit 只允许在
revisionNumber.h
正确(匹配标签)的情况下制作标签。您可以使用svnlook cat
和grep
. 在 post-commit 钩子中实现它
这种方法的缺点是您仍然需要在两个地方更新修订号,但是 post-commit 钩子至少可以确保您不会搞砸。
构建机器人
这仅适用于具有构建机器人或构建过程的情况。
- 要创建标签,请对标签文件夹使用
svn copy
命令。 - 编写一个 post-commit 钩子来观察这个文件夹并启动构建,为构建提供标签。
- 构建机器人更新
revisionNumber.h
并生成构建。
在这种方法中,revisionNumber.h
永远不会在您的存储库中更新,因此版本号在大多数情况下可能无效。如果您的代码依赖于修订号(即,它不是仅用于显示),这可能不是一个好的解决方案。