我正在把这头发拉出来.
我有一个使用Subversion控制版本的站点.我使用aptana(eclipse,subclipse)来做svn.我一直在检查和退出文件,更新等一切都很好.但是,我们一直在构建的系统一直在添加自己的文件和文件夹.
当我尝试提交这些时,它告诉我
不是工作副本.如果我尝试进行清理,那么它会给出相同的错误.我发现我可以手动将每个文件添加到版本控制,但这会引发相同的错误.执行更新没有帮助,刷新工作区也没有做任何事情.错误后清理似乎消失,然后目录被锁定.
我知道你应该使用SVN添加文件,但是你如何使用生成的文件呢?如何绕过这个"
不是工作副本目录"错误?如何让Subversion只查看文件并将其添加到其存储库?
我今天遇到这个问题时,我试图添加一个文件夹"A",其中我没有写入权限(因此无法创建A/.svn文件夹).
运行svn status给了我一个文件夹A旁边的"〜".运行svn cleanup说A的父级被锁定了.
最终工作的是:
cp -r A A~ # backup, since A was not in the repo rm -rf A # removed locked directory svn rm A # remove A from pending commit mv ~A A # restore backup svn add A # re-add to pending commit svn cleanup # (had to cleanup several parent folders higher as well)
如果你想生成的文件被添加到SVN,使用svn add
递归添加他们-这将确保所有目录是工作副本的一部分,所有的文件和目录添加到SVN,并且将致力于为部分接下来svn commit
.
然而,往往生成的文件和文件夹不应该加入到SVN,因为它们生成从源文件作为构建的一部分.在这种情况下,您应该使用svn:ignore标记它们,以便它们不是工作副本的一部分.
该不是工作拷贝错误意味着当前文件夹尚未正确初始化通过SVN.
要修复错误,只需重命名当前文件夹,然后通过检查项目从SVN 获取项目的正确工作副本.
然后,签出将创建该项目的正确配置的工作副本.