【问题标题】:Cannot commit folders using Tortoise无法使用 Tortoise 提交文件夹
【发布时间】:2011-03-19 01:41:36
【问题描述】:

在涉及创建新项目和在它们之间移动文件的大型重构之后,我在提交已移动的文件夹(及其内容)时遇到了大问题。

文件夹当前显示为已修改(即带有感叹号的红色叠加层)。当我尝试提交它时,我被告知我需要先更新工作副本。

当我尝试更新它时,我得到“目标路径 '[location]' 不存在”。令人担忧的是,这是文件夹在我移动它们之前存在的结构中的位置。它似乎试图从错误的位置更新它们。

所以,我陷入了这个“无法提交,无法更新”的循环,我不知道如何摆脱它。

我认为必须发生的事情是我已将文件夹(包括其中的 .svn 文件夹)复制到新位置。 .svn 文件夹中的颠覆内容仍然认为在与存储库通信时需要与旧位置挂钩。

谁能帮忙?

谢谢

大卫

【问题讨论】:

    标签: svn tortoisesvn commit


    【解决方案1】:

    有时强制更新有效

    svn up --force .
    

    在命令行上

    【讨论】:

      【解决方案2】:

      在这种情况下,我通过删除文件夹中的 .svn 文件夹解决了问题。这意味着它们就像 Tortoise 的新文件夹一样,我能够提交它们。

      【讨论】:

        【解决方案3】:

        很高兴你能解决这个问题。我猜你必须在删除“.svn”文件夹后再次“svn add”文件夹。这会带来不幸的副作用,即会清除这些文件的历史记录。

        以后在使用 Tortoise 移动东西时,你应该记住它的most forgotten feature:右键单击-拖动。在使用 Tortoise 移动版本化文件和文件夹时,您应该养成使用右键单击拖动的习惯,因为右键拖动允许您“svn move”、“svn copy”或“svn add”您的文件/文件夹正在拖动。使用 Tortoise(以及所有 svn 客户端,就此而言)的关键是要记住标准的文件系统操作会使 svn 搞得一团糟。您对文件执行的任何操作都必须通过相应的“svn”操作完成,以便 svn 知道跟踪更改并保留文件/文件夹的历史记录。

        如果您在 IDE 中工作,我建议您使用 IDE 的 svn 插件,因为它们往往会为您很好地处理这些问题。在MS领域,有VisualSVN,在Java领域有Subversive

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-09-20
          • 2017-08-22
          • 1970-01-01
          • 2014-01-21
          • 1970-01-01
          • 2011-05-21
          • 1970-01-01
          • 2020-11-03
          相关资源
          最近更新 更多