102

我正在使用 SVN 版本。

我尝试提交并收到此消息:

提交失败(详细信息如下):“/Users/mike/Sites/mysite.com/astss-cvsdude/Trunk/cart/flashfile.swf”计划添加,但缺少

我想这是因为我已将文件添加到存储库,然后通过文件系统将它们删除。

我想让它简单地记下我的更改,并将更改应用于回购。

我怎样才能解决这个问题?

4

7 回答 7

127

我不确定您要做什么:如果您通过添加文件

svn add myfile

您只在下一次提交时告诉 svn 将此文件放入您的存储库中。在您键入之前没有对存储库进行任何更改

svn commit

如果您在提交之前删除文件,svn则将其保存在其记录中(因为您添加了它)但由于文件不再存在而无法将其发送到存储库。

所以要么你想将文件保存在存储库中,然后从你的工作副本中删除它:在这种情况下,尝试取回你的文件(从垃圾箱?),然后通过提交并删除文件

svn delete myfile
svn commit

如果你想撤消add并把文件扔掉,你可以

svn revert myfile

它告诉svn(在这种情况下)撤消添加操作。

编辑

抱歉,我不知道您正在使用 Max OSX 的“版本”GUI 客户端。因此,要么尝试使用 GUI 恢复包含目录,要么跳入冷水并启动隐藏的 Mac 命令外壳 :-)(在德语 OSX 中称为“终端”,不知道如何用英语显示它版本...)

于 2010-02-11T21:48:36.790 回答
26

我对显示相同消息的版本有同样的问题。我只是右键单击有问题的文件并从右键菜单中选择“还原...”,一切都很好。

基本上版本(实际上是 Subversion)认为你仍然想添加文件,但它找不到它,因为你在文件系统中删除了它。Revert 选项告诉 Subversion 忘记添加它。

于 2010-04-25T11:02:59.210 回答
9

添加文件,然后删除它是一种被认为是错误的操作 - 所以 SVN 告诉你。您告诉它期待一些文件数据,然后在您提交时不提供它,红灯闪烁并且警报器响起!

答案是撤消您的添加,或者提交文件,然后使用“svn rm”将其从文件系统和存储库中删除。

于 2010-02-11T21:46:25.740 回答
3

解决了我的类似问题。我用它来恢复更改,然后我添加了所有内容并在终端中提交了更改

svn add folder_path/*
svn commit -m "message"
于 2016-08-18T17:48:50.033 回答
2

避免使用 Xcode 重命名文件夹引用中的文件。如果您使用 Xcode 重命名文件,它将被标记为提交。如果您稍后在提交之前删除它,您最终会遇到此错误。

于 2013-03-25T05:12:23.530 回答
0

如果您使用的是 TortoiseSVN……</p>

从“所做的更改”部分的提交窗口中,您可以选择所有有问题的文件,然后右键单击并选择删除。完成提交,文件将从预定的添加中删除。

于 2020-01-03T21:52:49.947 回答
0

我刚刚从 VS 中删除了文件,然后从“存储库资源管理器”中将文件复制到了工作副本。

于 2018-12-23T10:36:29.817 回答