我的开发团队正在实施TFS中的分支和合并。我们的软件包含在一个解决方案中,嵌入了许多项目。其中一个项目包含所有SQL脚本以保持我们的数据库版本。在TFS合并期间自动重命名文件
我们无法弄清楚在合并过程中如何处理数据库项目。例如,只要开发人员需要对数据库进行任何更改(添加/删除存储的proc,创建表,添加索引等),我们都会创建一个脚本文件。每个文件都以一个版本号命名。例如,如果检入的最后一个脚本文件命名为4.1.0.1,我将命名我的新脚本4.1.0.2。我们使用这些文件名来将软件版本与其需要运行的相应数据库版本进行匹配。
说我从我们的主代码分支创建一个分支来做一个新功能。我做了所有的编码,并将所有SQL更改放入一个脚本文件中并将其添加到数据库项目中。显然,我可以从主代码分支合并到我的新分支中,以确保我拥有最新的SQL脚本列表,以便我可以正确命名它。问题是新的脚本文件在一天中被添加了好几次,我们认为我们将与脚本命名产生大量的合并冲突。
我想以某种方式自动执行此操作,因此开发人员只需添加一些带有一些随机名称的脚本,并且在合并过程中会有一个挂钩或事件来确定哪些文件是主代码库的新增内容,如何正确命名这些文件,以便开发人员不必担心。例如,我可以创建一个名为“new_script.sql”的新文件,当我将它合并到主代码分支时,它将被重命名为4.1.0.2
以前我使用过RoundHouse等工具照顾所有的SQL版本管理,但是在我目前的工作中,我们使用Sybase SQL Anywhere 10,而且我还没有能够追踪类似于可以与Sybase一起工作的RoundHouse的东西。
任何人都可以在正确的方向指向我如何在TFS合并期间自动执行任务吗?我假设这可以使用PowerShell完成,但是我担心的是大多数开发团队不熟悉PowerShell,并且我希望能够在不需要开发人员离开团队资源管理器窗口的情况下自动执行此任务。
任何帮助,非常感谢!
谢谢!