使用TortiseSVN跟踪版本、版本、修订

使用TortiseSVN跟踪版本、版本、修订,svn,version-control,tortoisesvn,Svn,Version Control,Tortoisesvn,我是一个项目的唯一开发者,已经用了很长一段时间了。现在,我想开始在项目中正确使用版本信息,即在日志文件和帮助>关于等中显示主要版本、次要版本、更新、生成/修订 我似乎找不到最合适的。svn关键字修订似乎是一个好主意,但它插入到文件中的信息不是用于更新资源的友好格式 $rev$ is expanded to $Revision: 72 $ 另一方面,subwcrev几乎成功了,但我无法让它将正确的修订写入版本文件。换句话说,如果我跑 subwcrev c:\myproject c:\mypro

我是一个项目的唯一开发者,已经用了很长一段时间了。现在,我想开始在项目中正确使用版本信息,即在日志文件和帮助>关于等中显示主要版本、次要版本、更新、生成/修订

我似乎找不到最合适的。svn关键字修订似乎是一个好主意,但它插入到文件中的信息不是用于更新资源的友好格式

$rev$ is expanded to $Revision: 72 $ 
另一方面,subwcrev几乎成功了,但我无法让它将正确的修订写入版本文件。换句话说,如果我跑

subwcrev c:\myproject c:\myproject\version.in c:\myproject\version.h  
它将正确地编写当前版本(72),但如果我随后提交(现在的版本73)并在稍后阶段检查该版本,项目中的实际版本将为72

我是否采取了错误的方法?我应该采取不同的方法,在VisualStudio中使用自动递增的内部版本号吗


您在组织中做什么?

首先,您是否使用svn中的标记跟踪您的主要版本、次要版本等?如果不是,我就从那里开始。我为项目的每个版本创建一个标记,并简单地将其命名为1.0、1.1、2.0等


第二,您可能希望查看巡航控制等持续集成/构建服务器。

首先,您是否使用svn中的标记跟踪主要版本、次要版本等?如果不是,我就从那里开始。我为项目的每个版本创建一个标记,并简单地将其命名为1.0、1.1、2.0等


第二,您可能需要查看连续集成/构建服务器,如巡航控制。

Subwcrev是查找工作副本状态的好工具。我不会用它来跟踪内部版本号,因为subversion状态号经常变化。如果另一个开发人员开始开发这个项目,那么让一切井然有序似乎也是一件痛苦的事情


使用visual studio工具跟踪版本号,并使用subversion标记发布。

Subwcrev是查找工作副本状态的好工具。我不会用它来跟踪内部版本号,因为subversion状态号经常变化。如果另一个开发人员开始开发这个项目,那么让一切井然有序似乎也是一件痛苦的事情


使用visual studio工具跟踪内部版本号,并使用subversion标记发布版本。

WordAligned有一篇非常好的摘要文章,您可能希望阅读:


WordAligned有一篇非常好的摘要文章,您可能想阅读:


要解决您的问题:

我是否采取了错误的方法

在文件本身中打印修订号很有用,但该修订号仅对文件有效。项目中的其他文件可能具有不同的修订号,这将使您很难跟踪生成中实际包含的文件组

我应该采取不同的方法,在VisualStudio中使用自动递增的内部版本号吗

不,坚持使用subversion中的那个。不要依赖开发工具来告诉您文件的版本,而是使用版本控制系统

你在你的组织里做什么

我们使用。一旦我们的项目中的文件到达了我们认为可以将其部署到生产环境中的位置,我们就会标记这组文件(通常以%Y%m%d格式为其指定日期)。标记有很多好处

我们将根据该标记构建和部署。我们还没有合适的构建服务器或持续集成服务器。我们仍然像你一样渺小,但我们正在实现目标:-)


编辑:我应该指出,标记是有用的,因为它将告诉您整个项目处于什么状态(它是项目中所有文件的快照,无论版本号如何)。如果您必须回滚到以前的版本,它也很方便。当然,这是在您标记了一段时间之后。

要解决您的问题:

我是否采取了错误的方法

在文件本身中打印修订号很有用,但该修订号仅对文件有效。项目中的其他文件可能具有不同的修订号,这将使您很难跟踪生成中实际包含的文件组

我应该采取不同的方法,在VisualStudio中使用自动递增的内部版本号吗

不,坚持使用subversion中的那个。不要依赖开发工具来告诉您文件的版本,而是使用版本控制系统

你在你的组织里做什么

我们使用。一旦我们的项目中的文件到达了我们认为可以将其部署到生产环境中的位置,我们就会标记这组文件(通常以%Y%m%d格式为其指定日期)。标记有很多好处

我们将根据该标记构建和部署。我们还没有合适的构建服务器或持续集成服务器。我们仍然像你一样渺小,但我们正在实现目标:-)


编辑:我应该指出,标记是有用的,因为它将告诉您整个项目处于什么状态(它是项目中所有文件的快照,无论版本号如何)。如果您必须回滚到以前的版本,它也很方便。当然,这是在您标记了一段时间之后。好的,将添加部分答案

就版本号而言(不必担心机制),subversion版本号非常有用-您可能想要控制主要和次要版本,但是使用版本号(第三或第四元素)就很好了。更重要的是,即使您在发布时没有特别标记存储库,您仍然有办法获得处于正确状态的代码

这就把我们带到了力学上——这在某种程度上取决于语言。在C程序集中,您希望修改AssemblyInfo.cs