gpt4 book ai didi

svn - 我可以以某种方式在同一代码库的多个结帐之间共享 pristines 文件夹吗?

转载 作者:行者123 更新时间:2023-12-04 05:41:08 27 4
gpt4 key购买 nike

我喜欢 Subversion 1.7 现在将所有原始内容集中在一个工作副本中。但是,我经常对同一代码库进行多次 check out (主要是为了复制尚不存在的存储功能)。

为了节省磁盘空间,有没有办法将所有这些原始文件夹组合在一起,这样我就没有多个干净的副本?特别是:

  • 在那里放置“额外”干净文件是否不安全,这些文件不是任何当前 checkout 文件的基本副本
  • 这可以通过某种方式使用链接来完成吗,尤其是在 Windows 上?
  • 最佳答案

    我认为你不能那样做。 SVN 计算每个原始文件的引用数。如果它达到零,“svn cleanup”删除这些文件。

    另一方面,您可以尝试 SVN 1.7.5 的 hacky 方式(风险自负!我不能保证进一步的 SVN 版本将与这些 hack 兼容;我没有尝试过,但据我所知如何SVN 有效,这应该适用于 1.7.5):

  • 将 'refcount' 设置为更高的值以防止删除所有工作副本的校验和(您应该在每次“svn cleanup”调用之前执行此操作 --- 为新安装的原始文件更新 'refcount'):

    sqlite3 .svn/wc.db "更新 PRISTINE 集 refcount=refcount+100;"
  • Windows 支持链接,尽管它们不那么流行:
    http://en.wikipedia.org/wiki/NTFS_symbolic_link至少即使在 XP 中,它们对我也能正常工作。

  • 因此,hacky 方法是创建一个目录,收集其中的所有原始文件(可能使用脚本)。在 .svn/pristine 建立指向该目录的链接。运行上面的 SQL 命令并在每次“svn 清理”之前运行。

    而且我还可以提供一种算法,如何从该配置恢复正常(如果出现任何问题)。
  • 删除链接 .svn/pristine,用空目录替换它们或(更好更快)用所有原始目录的目录内容副本替换它们。
  • 使用 SmartSVN 修复工作副本,如本文所述:http://vcs.atspace.co.uk/2012/06/20/missing-pristines-in-svn-working-copy/ (at 还解释了如果 'refcount' 变为零会发生什么)

  • 祝你好运:)

    关于svn - 我可以以某种方式在同一代码库的多个结帐之间共享 pristines 文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230016/

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