当我从svn版本控件上的projet中删除带有finder的文件或文件夹时,我总是收到警告:
file://localhost/Users/XXX/Documents/Projets/XXX/file.jpg:警告:缺少文件:工作副本中缺少/Users/XXX/Documents/Projets/XXX/file.jpg
如何正确删除文件? 该文件未显示在项目导航器中。
感谢。
答案 0 :(得分:26)
另一个答案是不必要的复杂,涉及从工作文件夹中删除所有源代码控制绑定 - 当有一个简单的修复可用时。
当您在Finder中移动文件或在Finder中删除文件,然后在Xcode中的缺失引用上点击“删除”时,通常会发生此行为。
这是因为Xcode自动将文件“添加”到SVN - 所以既然文件不再存在,SVN很困惑,因为它认为它应该在那里 - 当你在Finder中删除文件时你的SVN信息没有' t得到更新(你没有删除SVN中的文件)。
警告不是Xcode警告本身 - 而是更多的一般源控制/ SVN警告。
要修复警告(以及本地SVN工作文件夹的状态),请使用SVN客户端“恢复”之前的“添加”操作:
svn revert PATH
或者,不太优选,您可以强制“删除”丢失的文件:
svn delete --force PATH
为防止首先发生错误,请始终通过Xcode“删除”,或通过SVN客户端(但是,如果您通过SVN客户端删除它,则仍需要删除Xcode中缺少的引用 - 所以你不妨在Xcode中将其删除为。)
答案 1 :(得分:7)
有同样的问题,我刚刚解决了它:
希望这也适合你。
答案 2 :(得分:4)
从文件夹中删除文件后,我遇到了同样的问题,然后从XCode项目中引用。
我通过提交SVN解决了这个问题,然后再次从SVN更新了工作副本。
答案 3 :(得分:0)
对我而言,它就像更新Xcode(5)工作区一样简单。
答案 4 :(得分:0)
当您在Xcode上删除文件时会发生这种情况,但没有告诉svn服务器。
转到命令行工具,直接删除文件。
public class LockTester
{
public static void main(String[] args)
{
Lock myLock = new Lock();
int[] c={1,7,2,9};
myLock.push(c);
System.out.println(myLock.open());
System.out.println("Expected: false");
}
}
import java.util.*;
public class Lock {
private int combination = 1729;
private int input;
int[] code = new int[4];
public void push(int[] button){
for (int i=0;i<button.length;i++){
code[i]=button[i];
}
}
public boolean open(){
boolean results = false;
int boop = 0;
for (int i = 0;i < 4; i++){
System.out.println(code[i]);
}
if(boop == combination){
results = true;
}
return results;
}
}
并提交
svn delete missingFile.m
请注意,如果删除.svn文件夹,则警告消失,但您将失去与svn服务器的通信。