Subversion:基本校验和不匹配

时间:2012-06-27 16:25:35

标签: svn

我正在尝试将subversion的更改提交到文件。此文件属于通过外部链接到我的项目的目录,并且与某个版本挂钩。

当我提交时,我收到错误:

Commit failed
Base checksum mismatch on....

我试图再次检查目录以确保它是干净的并再次执行提交,但我仍然收到相同的错误。

是否与提交挂钩文件有关?我认为提交到挂起的文件应该是可能的,并且基本上分支这个代码?

15 个答案:

答案 0 :(得分:46)

这种方式对我有用:

  1. 复制有问题的文件。
  2. 还原。
  3. Unversion并添加到忽略项目。
  4. 提交。
  5. Owerwrite忽略了副本中的文件。
  6. 将文件添加回SVN。
  7. 提交。

答案 1 :(得分:10)

将项目中的所有文件复制到临时备份文件夹。单击原始项目文件夹中的“还原”。使用备份文件夹对文件进行差异更改,将更改的文件复制到原始项目文件夹中。提交和原始文件夹恢复正常。

在两个项目中遇到同样的问题并且该方法有效。

答案 2 :(得分:6)

最适合我的方式是:

  1. 导出未提交的整个文件夹(例如使用Tortoise)
  2. 删除当前SVN中的文件夹(也使用SVN客户端)
  3. 将您导出的所有文件夹放在与之前删除的文件夹相同的位置,最好使用相同名称
  4. 添加并提交文件夹
  5. 你回到原来的位置而不会丢失你的更改而且没有错误的校验和!

答案 3 :(得分:2)

对我有用的是:

svn up --set-depth=empty

然后

svn up --set-depth=infinity

错误消失了!

答案 4 :(得分:1)

我遇到了这个问题,但删除文件夹似乎没有做任何事情。

我设法通过将相同的源文件检查到另一个地方并复制存在这些问题的文件来解决这个问题。

清理/恢复/更新(删除文件后)什么也没做。

我正在使用tortoisesvn 1.7.11 64位版本运行Windows 7。

答案 5 :(得分:1)

刚出现同样的问题,我使用了控制台客户端来处理它:

  1. 备份文件
  2. 通过svn rm filename
  3. 从repo中删除文件
  4. 提交
  5. 从备份中复制文件使用svn add filename
  6. 提交

答案 6 :(得分:0)

您的工作副本可能已损坏。您可以尝试使用SmartSVN进行修复(选择“修改”|“验证管理区域”)。如果这不会有助于新的结账将有所帮助。

答案 7 :(得分:0)

对我有用的是什么:

  1. 复制当前版本的文件。
  2. svn rm'filename'
  3. svn ci
  4. 将文件名更改回原始
  5. svn add'filename'
  6. svn ci
  7. 在此之后,提交和更新似乎正常工作。

答案 8 :(得分:0)

检查服务器的SVN版本,它可能与您当地的svn 版本不匹配。

1.如果与服务器版本不匹配,请通过以下命令检查SVN版本并进行升级。

svn --version 

2。使用最新版本的SVN(即您的服务器svn版本)签出项目。

3.提交文件。

注意:它仅适用于SVN版本不匹配的情况。

答案 9 :(得分:0)

刚出现同样的问题,我使用了控制台客户端来处理它:

  1. 备份文件
  2. svn rm filename
  3. 从存储库中删除文件
  4. 提交
  5. 使用svn add filename
  6. 从备份中复制文件
  7. 提交

答案 10 :(得分:0)

我解决了以下问题
首先,备份问题所在的文件夹
2ns,删除原始文件夹并提交。
3,从备份文件夹复制文件夹
4,我可以提交这个文件夹而没有问题

这可能不是一个好的解决方案,因为我删除了该文件夹并提交,因此,如果我想解决此问题,我想我将无法还原它。

答案 11 :(得分:0)

恕我直言,最简单的方法是:
1.将存储库中的最后一个副本检出到某个目录(例如TTTT)。
2.将TTTT / .svn内容复制到您的常规源目录中(覆盖现有内容)。
您已完成-原始目录可能已提交。

答案 12 :(得分:0)

对我来说,新的签出将非常耗时(几千个文件成千上万个文件)。 我做了什么:

  • 删除具有损坏的元数据的文件(保留本地文件或将其备份)
  • 它没有抱怨元数据不匹配
  • 提交
  • 将文件添加回工作副本
  • 提交!
  • 利润!

答案 13 :(得分:0)

我只是从工作目录中删除了文件,然后做了svn。示例:

rm dir/bad-file.txt
svn up dir/bad-file.txt

那行得通。

答案 14 :(得分:0)

我做到了

  1. 删除了工作区中的.svn文件夹。
  2. 检出项目到新的临时文件夹
  3. 从新的临时文件夹中复制.svn文件夹
  4. 将.svn文件夹粘贴到工作区中。
  5. 提交没有问题。
  6. 删除临时文件夹。