gpt4 book ai didi

svn - 尝试重新创建曾经在我的存储库中的目录时,Subversion 出现奇怪的问题 - "File already exists"

转载 作者:行者123 更新时间:2023-12-03 05:25:30 24 4
gpt4 key购买 nike

所以 - 我曾经有一个名为 mysql 的目录,几次修订前。我删除了它,并决定重新开始 - 但是当我尝试创建新的 mysql 目录时 - 我不断遇到“文件已存在”错误:

support:/etc/puppet/modules# mkdir mysql
support:/etc/puppet/modules# svn add mysql/
A mysql
support:/etc/puppet/modules# svn commit -m " Test"
Adding modules/mysql
svn: Commit failed (details follow):
svn: File already exists: filesystem '/var/lib/svn/puppet/db', transaction '11-r', path '/trunk/modules/mysql'
support:/etc/puppet/modules# svn delete mysql
svn: Use --force to override this restriction
svn: 'mysql' has local modifications
support:/etc/puppet/modules# svn --force delete mysql
D mysql

我看到其他一些帖子建议强制更新

support:/etc/puppet/modules# svn status
support:/etc/puppet/modules# svn update
At revision 11.
support:/etc/puppet/modules# svn mkdir mysql
A mysql
support:/etc/puppet/modules# svn commit -m "Test"
Adding modules/mysql
svn: Commit failed (details follow):
svn: File already exists: filesystem '/var/lib/svn/puppet/db', transaction '11-s', path '/trunk/modules/mysql'

最佳答案

当我删除文件夹(和子文件夹)并从头开始重新创建它们时,我遇到了这样的问题。您会因手动删除并重新添加文件夹而出现此错误(而文件似乎可以解决此问题)。

经过一番令人沮丧的困惑后,发现我必须:
(在 Windows 上使用 TortoiseSVN)

  1. 将冲突的文件夹移出工作副本(这样我就不会丢失正在进行的工作)
  2. 执行svn update,将旧文件/文件夹添加回工作副本
  3. svn 删除文件夹
  4. 提交
  5. 将新文件夹复制回工作副本(确保删除其中的所有 .svn 文件夹)
  6. 提交

不幸的是,它(A)需要两次提交,并且(B)丢失文件修订历史记录,因为它只能追溯到最近的重新添加(除非有人可以解释如何解决这个问题)。解决这两个问题的替代解决方案是跳过步骤 3 和 4,唯一的问题是旧的/不需要的文件可能仍然存在于您的目录中。您可以手动删除它们。

很想听听其他人对此可能有的任何其他见解。

西蒙。

<小时/>

[更新] 好的,我刚才又遇到了同样的问题,但是有问题的文件夹不在上次提交中,所以 更新 没有恢复它。相反,我必须浏览存储库并删除有问题的文件夹。然后我可以添加该文件夹并成功提交

关于svn - 尝试重新创建曾经在我的存储库中的目录时,Subversion 出现奇怪的问题 - "File already exists",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1407973/

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