gpt4 book ai didi

windows - 支持跨不同文件夹层次结构的单个 SVN 存储库

转载 作者:可可西里 更新时间:2023-11-01 09:38:28 25 4
gpt4 key购买 nike

因此,我有一个项目将分布在我的文件系统中的文件和文件夹联系在一起。从逻辑上讲,所有这些文件都属于一个项目,因此属于一个 SVN 存储库,但我无法将它们组合到一个文件夹层次结构中,因为所涉及的程序都是硬编码的,以将其源代码保存到特定目录。

我不认为我是第一个处理这种情况的人,所以我希望我忽略了一个简单的解决方案。我考虑了四种方法,但它们都有缺点;有没有我没有考虑过的另一种方法,或者除此之外,任何人都可以提供有关长期最佳方法的见解吗?

以下是我考虑过的方法:

  1. 检查每个系统文件夹中 SVN 存储库的相应子文件夹。可能是技术上最简单的,但我不喜欢许多单独的提交成为构成可能是单个“逻辑”提交的必要条件。与更新相同。
  2. 在一个地方保存 SVN 结帐,并使用程序同步 SVN 层次结构和系统文件夹。使 SVN 的使用更简单一些,但它的移动部分更多。如果有人在错误的方向同步,也很容易覆盖未提交的工作。
  3. 单一 SVN check out ,使用连接/符号链接(symbolic link)到系统文件夹。根据我的尝试和一些网络搜索,目前这在技术上似乎是不可能的。它也感觉有点脆弱。
  4. 我也许可以采取相反的方式,更改硬编码的程序文件夹,使它们成为我的 SVN 结帐子文件夹的符号链接(symbolic link)/连接。这看起来仍然有点脆弱:软件更新可能会取代符号链接(symbolic link),或者一个或多个程序可能也不喜欢符号链接(symbolic link)。

请注意,一些将使用此存储库的人不是开发人员,因此我希望对他们来说尽可能简单。另请注意,这是 Windows 环境,我们通常使用 TortoiseSVN。 Git/mercurial/etc 不是一个选项,公司政策要求 SVN 配合我们的发布过程。

按照“可能可行的最简单的方法”的方法,#1 似乎是可行的方法。但也许(希望如此?)我遗漏了什么?

最佳答案

由于没有人对此进行权衡,我只想说我最终选择了 1 号门。该“解决方案”对于新手来说是最容易理解的,没有任何微妙之处可能会破坏并造成伤害或困惑。多次提交可能会有点烦人,但我发现在实践中我们通常一次只更新/提交一个或两个位置。

同样值得注意的是,一些 IDE 可以抽象出这个问题。如果您的 IDE 支持从不同位置拉入文件的项目或解决方案,那么它的 SVN 插件很可能也支持。 Visual Studio + AnkhSVN 可以处理它,例如——Ankh 会简单地将您的“单个”提交拆分为对 SVN 的多个实际提交。并不真正适用于我的场景,但也许它会帮助其他人。

关于windows - 支持跨不同文件夹层次结构的单个 SVN 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12200646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com