当我看在SVN日志我真希望我能看到的标记,告诉我,当版本中完成的。我在其他版本控制系统,如PVCS和 Perforce公司看到了这一点

可以这样在SVN做了什么?我已经做了一点点研究,到目前为止,它看起来像不支持这样的事情。

修改

我们不希望有我们的源代码复制到不同的文件夹,每一个版本。这导致了巨大的开发机的文件上不必要的重复的的量,只给了我们每个版本的版本号的记录。我能做到这一点使用文本文档!

EDIT2

我的目标是有,让我了解的版本中,这之间我可以看到所有的每一个版本之间发生的代码变化的年表的单一视图。然后,这使得它更容易编译版本注释。

有帮助吗?

解决方案

理查德标签非常接近,但我不知道你需要什么可能不是一个专门发布分支。

对于这一点,使从主干分支早早就被称为像“释放”。 然后在树干工作正常,当你准备好了发布,从主干合并更改为“释放”。这是你要修改版本的唯一途径。

您可以再从发布标志,如果你想,没有必要100%。

但是,这将使你的是,在它的躯干的修订的一个子集的分支。找出你的发布日期有:

svn log --stop-on-copy svn://server/project/branches/release

这会给你的发布日期的列表(修订)。要了解每个版本做的:

svn mergeinfo --show-revs=merged "svn://server/project/trunk" "svn://server/project/branches/release"@<release revision>

另外请注意,以这种方式工作,你是不是仅限于在主干一切的严格顺序释放 - 你可以采摘樱桃修订,修订除外,如果你不希望释放他们只是还没有,但仍然包括后续修改

其他提示

不是这样。接受的方式做的版本在SVN是让您的释放源被复制为每个特定释放的“标签”目录。例如/tags/release-0.11 ......有没有什么阻止您意外使用tags目录搞乱,开箱即用,但有些人想建立预提交挂钩,以防止意外提交到发行版的标签。

下面是href="http://ariejan.net/2006/11/21/svn-how-to-release-software-properly/" rel="noreferrer">体面文章描述

  

我的目标是有一个单一的观点,即   给我看了我的版本的年表,   这之间我可以看到所有的   这之间发生的代码更改   每个版本中。

您已经调查龟SVN修订图?如果您标记每个版本(正如其他人指出,不涉及复制文件,在服务器或工作站),然后就可以看到按时间顺序排列的所有修订,以表明实际排放标签。您可以通过高亮显示了两个版本你有兴趣,然后从上下文菜单中选择比较的版本和/或躯干之间的分差

复制躯干在svn存储库一个标签路径是实现这一目标的方式。这是一个SVN副本,所以不与svn库服务器上的文件的副本结束。你只需要重复的文件在本地,如果你选择检出比主干以外的SVN路径。提交对这些工作拷贝然后再回到他们被检查出SVN路径。

这基本上是一个特定的常规实现中SVN支化。看看网上SVN书的更多细节。

标记将是当用于释放标签由写入的提交消息(一个svn拷贝到/标签)。 ATLEAST即是所使用的最常用的方法。

虽然Subversion不会在其本身和提供发布管理,版本控制工具通常不任务是此活性。你所寻找的是一个活动/问题/变更管理工具,可以与Subversion交互。

要为此,我们使用吉拉在我工作的地方,我们使用Subversion链接。吉拉提供了一个路线图,改变历史,其中包括在每个版本中的问题。这些问题每个人都有链接到源代码控制的变化。因此,你可以与发布的版本链接在源代码中的变化。

我觉得它通常是更好地保持这两个工具分开。虽然Perforce公司特别是试图扳平两人在一起,他们这样做只是简单。有一些东西,比如电子邮件的变化问题的用户,添加注释的问题,添加附件到在专门的一块像吉拉软件更好的实现问题。在另一方面吉拉是不是版本非常好,合并和分支源...这是更好地喜欢颠覆一个专门的软件。

处理

有关充分披露,还有其他的工具比吉拉一样的Bugzilla,Trac系统,IBM Rational的爵士等,可以做同样的事情与Subversion是吉拉与功能不同程度做虽然。

1用于使用所述提交消息。

有关的一个项目我创建一个SVN用户调用生成。构建机器使用此登录SVN。每当构建机器/过程做一个构建,还更新了文件和SVN提交信息是为构建版本/其它标识符。

然后,我们还创建用于该生成的标签。何时/何它们与其他的变化穿插这样在树干我们可以看到该版本。

所以我的建议(做最简单的方法)就是创建一个名为版本(或者其他任何你想要的)另一个文件,并追加到或只是修改它在你的构建脚本/进程,然后回签入/提交它随着发行版本的提交信息的名称。简单。然后,它会在你的历史记录查询显示出来。

此外,如果你知道哪个版本你比较,你可以做一个SVN差异,你会看到哪些文件已经改变,以及如何在两个版本之间。

不知道你的总设置,但有人mentionned TortoiseSVN的。这是明确一个良好的开端。我个人使用Eclipse与Subclipse插件,它可以让我在版本之间的图形环境中执行的diff。只要你有你的项目你可以在任何版本比较其他任何修改,因此你不需要将所有类型的文件复制的。

此外,我们通常在每个存储库设置三个目录。分行,躯干和标签。有人指出,标记是用于识别释放专门使用。

我遇到同样的问题,我试图修复它为我公司的办法是在后备箱,“释放”文件夹,该文件夹只包含实际的可执行文件或哪些地方可以部署的一部分。

我为每个发布的新文件夹开始在“释放”“1.0.0.0”的文件夹,并且还与标记的情况下相同的释放文件夹名称即1.0.0.0的代码。

我不知道这是否是做正确的方式,但它解决我的问题,找出可执行文件,我已经部署。

如果你按照你的版本库的根“标签/分支机构/树干”的正常SVN约定,开发商一般不会只想从树干下检查出的整个资料库。

我想提供了一种不同的方法,应有助于解决您的所述问题:创建发行说明和查看版本之间的代码差异。

我们使用一种称为SubWCRev程序自带的乌龟SVN。我们有抓住SVN版本号和它坚持到一个文件生成后事件 - 在我们把这个在version.html称为文件的网站的情况。然后,在时间,你可以配合你的版本(不管是当前的The releas在QA,PROD,或任何其他环境)在SVN确切的版本号的任何一点。没有更多的标签,没有更多的想知道什么是包含在一份新闻稿中,没有更多的窃听开发商更新版本的文件。

为了确定哪些是已被列入释放,然后你可以只拉了从版本X SVN日志的修订Y和复制意见到文档和编辑做出一个漂亮的发布说明文档。这同样适用于代码审查或版本比较的版本属实;简单地使用与您version.html,properties.cs,README.TXT等修订号

我也建议有某种假象库来保存你的构建。如果您切换到使用SVN版本号为您的版本号,你可以随时返回到SVN,准确的版本,这意味着你不需要你的源代码或副本每个版本SVN在周围铺设。

FYI,

SVN副本是不是硬拷贝,它只是连接,因此将不会超过已更改的文件以外的任何空间。而这些版本将采取无论如何空间。因此,对于每一个版本创建副本不会占用任何空间。

scroll top