1

我已经阅读了关于堆栈溢出的其他几个问题/答案,但如果可能的话,希望得到一些澄清。

情况 - 我们有大约 20 个 dtsx 文件并希望开始使用 SVN 来跟踪对这些包的更改 - 我们知道使用 SVN 可能不允许我们合并包内的更改,因为包含 dtsx 文件的复杂 XML 是可以接受的因为 SVN 仍然会在更改跟踪方面提供一些好处。目前我们的开发/部署策略是每个开发者根据需要从目标服务器加载dtsx文件,本地开发,然后将文件复制回目标服务器。每个开发人员使用他/她自己的策略来决定是否拥有一个包含所有包的大型项目,或者每次 dtsx 需要修改时创建一个新项目等。

我正在寻找有关在此环境中实现 SVN 的有效方法的建议 - VS 项目文件(例如)是否应该包含在 SVN 控件中?如果没有,开发人员如何“从 Subversion 打开项目”?一切都可以在 VS 中完成,还是我们需要进入 Windows 资源管理器,在文件夹级别更新,然后从 VS 中添加现有包 - 如果我们这样做,我们仍然能够从 VS 提交吗?

很抱歉这些基本问题,以这种方式使用 SVN 的新手,并希望有一些具体的步骤。

4

1 回答 1

2

由于您的问题标题中有“AnkhSVN”,我假设您正在使用它。

如果是这样,那么是的,我强烈建议将您的 VS 项目文件包含在 SubVersion 中,并将它们在 BIDS / SSDT 中绑定到 SVN。这样您就可以“从源代码控制打开项目”而不是本地,还可以在项目级别进行递归签入。

我还强烈建议您通过创建“每个应用程序一个项目”规则来标准化项目创建。恕我直言,让人们只是牛仔他们自己的一次性项目进行包修改是愚蠢和无效率的。

我认为对我们来说最大的挑战是在像 SSIS 这样的“无差异”环境中将包添加到项目中。每次在 SSIS 包中打开数据流时,文件都会被签出和修改,项目文件也是如此。人们通常只是盲目地检查这些“不变”的变化。所以你会得到这样的场景:

  1. Alice 将一个包添加到项目中并将其签入。
  2. 同时,Bob 打开一个包的数据流任务只是为了检查它的源查询,它检查出项目文件。
  3. 他签入他的零钱,这使他与 Alice 的签入发生冲突,他只是选择使用本地。
  4. 现在爱丽丝的包裹在无人区,签入但不在项目中。注意那个部署...

无论如何,您可以通过一些指导和讨论来减轻这种情况。我还鼓励您拥有某种事实上的 SVN“看门人”,因为它会变得混乱,并且无论如何您都需要定期清理源代码控制。

只有 20 个包,听起来只是间歇性的包修改,你可能不需要分支,但我至少会阅读它。我认为分支是一个团队一旦开始频繁地踩到对方的脚趾就会成长的东西——一种判断何时实施它的判断,尽管我鼓励你的开发人员在他们觉得舒服的情况下使用它。

于 2012-12-06T15:20:13.167 回答