37

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

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

Commit failed
Base checksum mismatch on....

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

它可能与提交挂钩文件有关吗?我认为应该可以提交到一个挂钩的文件,并且基本上分支了这个代码?

4

15 回答 15

51

方法对我有用:

  1. 复制有问题的文件。
  2. 恢复。
  3. 取消版本并添加以忽略项目。
  4. 犯罪。
  5. 从副本中改写忽略的文件。
  6. 将文件添加回 SVN。
  7. 犯罪。
于 2014-02-28T13:47:12.240 回答
11

将项目中的所有文件复制到临时备份文件夹。单击原始项目文件夹上的“还原”。将更改的文件与备份文件夹进行比较,将更改的文件复制到原始项目文件夹中。提交,您的原始文件夹恢复正常。

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

于 2013-02-03T21:55:25.073 回答
6

最适合我的方式是:

  1. 导出不会提交的整个文件夹(例如使用 Tortoise)
  2. 删除当前在 SVN 中的文件夹(也使用您的 SVN 客户端)
  3. 将您导出所有内容的文件夹放在与先前删除的文件夹相同的位置,最好使用相同的名称
  4. 添加并提交文件夹
  5. 您回到了原来的位置,没有丢失更改,也没有错误的校验和!
于 2013-04-29T15:56:14.890 回答
2

我这样做了。

  1. 删除了工作区中的 .svn 文件夹。
  2. 将项目签出到新的临时文件夹
  3. 从新的临时文件夹复制 .svn 文件夹
  4. 将 .svn 文件夹粘贴到工作区中。
  5. 毫无问题地承诺。
  6. 删除临时文件夹。
于 2020-09-08T14:33:43.067 回答
1

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

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

Clean / Revert / Update(删除文件后)什么也没做。

我正在运行带有 tortoisesvn 1.7.11 64 位版本的 Windows 7。

于 2013-06-04T09:30:09.817 回答
1

对我来说,一个新的结帐将非常耗时(几个演出数千个文件)。我做了什么:

  • 删除元数据损坏的文件(保留本地文件,或备份)
  • 它没有抱怨元数据不匹配
  • 犯罪
  • 将文件添加回工作副本
  • 犯罪 !
  • 利润!
于 2019-05-23T12:18:32.657 回答
1

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

  1. 备份文件
  2. 从 repo 中删除文件svn rm filename
  3. 提交它
  4. 从备份使用复制文件svn add filename
  5. 提交它
于 2017-12-19T09:30:39.977 回答
1

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

  1. 备份文件
  2. 通过 svn rm 文件名从 repo 中删除文件
  3. 提交它
  4. 从备份中复制文件使用 svn add filename
  5. 提交它
于 2016-05-19T13:39:08.840 回答
1

对我有用的是:

svn up --set-depth=empty

然后

svn up --set-depth=infinity

错误消失了!

于 2017-03-29T08:12:24.913 回答
0

您的工作副本可能已损坏。您可以尝试使用 SmartSVN 修复它(选择 Modify | Validate Admin Area)。如果这没有帮助,只有新的结帐会有所帮助。

于 2012-06-28T08:50:10.883 回答
0

什么对我有用:

  1. 复制当前版本的文件。
  2. svn rm '文件名'
  3. svn ci
  4. 将文件名改回原来的
  5. svn 添加“文件名”
  6. svn ci

在此之后,提交和更新似乎正常工作。

于 2015-05-20T10:03:31.177 回答
0

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

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

svn --version 

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

3. 提交文件。

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

于 2015-07-16T11:58:33.057 回答
0

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

于 2019-02-28T15:21:13.130 回答
0

我解决了如下问题
首先,备份问题为
2ns的文件夹,删除原始文件夹并提交。
第三,从备份文件夹中复制文件夹
第四,我可以毫无问题地提交这个文件夹

这可能不是一个好的解决方案,因为我删除了文件夹并提交,所以我认为如果我想在解决这个问题后我无法恢复它。

于 2019-01-11T08:25:20.810 回答
0

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

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

那行得通。

于 2019-10-23T21:46:24.740 回答