【问题标题】:Svn copy directoriessvn 复制目录
【发布时间】:2012-06-27 10:30:15
【问题描述】:

我碰巧在版本化目录之外修改或生成文件或整个目录树。

问题是每当我将树复制回 svn-versioned 目录(例如 MacOSX 中的 Finder)时,.svn 目录都会被覆盖,Subversion 开始抱怨。有什么解决办法?

谢谢

【问题讨论】:

  • 您不使用导出将代码复制到版本控制目录之外吗?这样,.svn 目录将不会与文件一起使用。

标签: svn


【解决方案1】:

文件可以在版本化目录之外进行修改,并在以后复制回来。但是,版本控制的目录包含有关其包含的文件的隐藏数据,并且覆盖目录是行不通的。

我认为没有充分的理由在版本化目录之外工作,因此我鼓励您阅读 SVN 书籍,尤其是“移动”部分:http://svnbook.red-bean.com/en/1.1/re18.html

【讨论】:

  • 确实有很多不使用版本化目录的情况。我接收来自非技术合作伙伴的各种不同格式和结构的文件,我需要将它们存档。我有进程在不同的服务器上生成文件,我需要分析、合并和保存它们等等。
  • 我明白了。也许 SVN 不是您所需要的(对于非技术人员来说太技术性了)。自动化文件的检索、分析、合并和提交当然也会改善你的生活。否则,德米特里的回答可以帮助你;我不知道他提到的 1.7 功能。
【解决方案2】:

您的问题的答案是使用 3-URL-merge

svn_load_dirs.pl

查看这些主题极其相似的问题:

注意:简单地在新版本上复制目录将不会删除当前版本中已删除的文件。这些文件将是不变的,这至少是令人困惑的,大多数时候是一个烦恼,有时甚至是一个错误

【讨论】:

    【解决方案3】:

    使用一些重要的实用程序(例如,在 Windows 上我使用 Total Commander,我希望 MAC 存在这样的实用程序)。此类工具具有允许您指定要复制的内容和要跳过的内容的选项。如果迫在眉睫 - 编写一个简单的 shell 脚本来复制所有内容,但 .svn 目录。

    此外,SVN 1.7 工作副本格式在常规情况下仅在工作副本的顶层具有 .svn。因此切换到 1.7 可能会在一定程度上简化您的工作流程。

    【讨论】:

      【解决方案4】:

      切换到 svn 客户端 v1.7 并将工作副本更新为 1.7 格式。它将所有元数据保存在 woking 副本根文件夹的单个子文件夹中。希望对您的问题有所帮助。

      Subversion 1.7 Working Copy Metadata Storage Improvements

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-02
        • 1970-01-01
        • 2012-03-12
        • 1970-01-01
        相关资源
        最近更新 更多