我正在使用 SVN 版本。
我尝试提交并收到此消息:
提交失败(详细信息如下):“/Users/mike/Sites/mysite.com/astss-cvsdude/Trunk/cart/flashfile.swf”计划添加,但缺少
我想这是因为我已将文件添加到存储库,然后通过文件系统将它们删除。
我想让它简单地记下我的更改,并将更改应用于回购。
我怎样才能解决这个问题?
我不确定您要做什么:如果您通过添加文件
svn add myfile
您只在下一次提交时告诉 svn 将此文件放入您的存储库中。在您键入之前没有对存储库进行任何更改
svn commit
如果您在提交之前删除文件,svn
则将其保存在其记录中(因为您添加了它)但由于文件不再存在而无法将其发送到存储库。
所以要么你想将文件保存在存储库中,然后从你的工作副本中删除它:在这种情况下,尝试取回你的文件(从垃圾箱?),然后通过提交并删除文件
svn delete myfile
svn commit
如果你想撤消add
并把文件扔掉,你可以
svn revert myfile
它告诉svn
(在这种情况下)撤消添加操作。
编辑
抱歉,我不知道您正在使用 Max OSX 的“版本”GUI 客户端。因此,要么尝试使用 GUI 恢复包含目录,要么跳入冷水并启动隐藏的 Mac 命令外壳 :-)(在德语 OSX 中称为“终端”,不知道如何用英语显示它版本...)
我对显示相同消息的版本有同样的问题。我只是右键单击有问题的文件并从右键菜单中选择“还原...”,一切都很好。
基本上版本(实际上是 Subversion)认为你仍然想添加文件,但它找不到它,因为你在文件系统中删除了它。Revert 选项告诉 Subversion 忘记添加它。
添加文件,然后删除它是一种被认为是错误的操作 - 所以 SVN 告诉你。您告诉它期待一些文件数据,然后在您提交时不提供它,红灯闪烁并且警报器响起!
答案是撤消您的添加,或者提交文件,然后使用“svn rm”将其从文件系统和存储库中删除。
这解决了我的类似问题。我用它来恢复更改,然后我添加了所有内容并在终端中提交了更改
svn add folder_path/*
svn commit -m "message"
避免使用 Xcode 重命名文件夹引用中的文件。如果您使用 Xcode 重命名文件,它将被标记为提交。如果您稍后在提交之前删除它,您最终会遇到此错误。
如果您使用的是 TortoiseSVN……</p>
从“所做的更改”部分的提交窗口中,您可以选择所有有问题的文件,然后右键单击并选择删除。完成提交,文件将从预定的添加中删除。
我刚刚从 VS 中删除了文件,然后从“存储库资源管理器”中将文件复制到了工作副本。