题
我正在为这件事抓狂。
我有一个使用 Subversion 进行版本控制的网站。我使用 aptana (eclipse, subclipse) 来做 svn。我一直在签入和签出文件、更新等,一切都很好。然而,我们一直在构建的系统一直在添加自己的文件和文件夹。
当我尝试提交这些时,它告诉我 <path>
不是工作副本。如果我尝试进行清理,则会出现相同的错误。我发现我可以手动将每个文件添加到版本控制中,但这会引发相同的错误。进行更新没有帮助,刷新工作区也没有任何作用。错误后清理似乎停止,然后目录被锁定。
我知道您应该使用 SVN 添加文件,但是您到底如何处理生成的文件呢?我该如何解决这个问题”<folder>
不是工作副本目录”错误?如何让 Subversion 只查看文件并将它们添加到其存储库中?
解决方案
如果你想生成的文件被添加到SVN,使用svn add
递归添加他们 - 这将确保所有目录是工作拷贝的一部分,所有的文件和目录添加到SVN,并且将致力于作为下一个svn commit
的一部分。
然而,经常产生的文件和文件夹不应当被添加至SVN,因为它们所产生的从的源文件作为构建的一部分。在这种情况下,你应该标记与的svn:忽略,以便它们不工作拷贝的一部分。
其他提示
我们今天有这个问题时,我试图添加文件夹“A”中,我没有写权限(所以无法创建一个/ .svn文件夹)。
使用svn地位给了我一个“〜”旁边的文件夹A. 执行svn清理说,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 通过执行结算获取该项目的正常工作拷贝的项目
然后在检查出将创建项目的正确配置的工作副本。
我只是遇到了“不是工作副本”错误在我,啊哈,工作副本。这是一个JDeveloper项目,它原来是我刚刚安装了JDeveloper的升级(11.1.1.2.0)纳入SVNKit更高版本比我使用的命令行SVN访问(jsvn)。因此JDeveloper中已经悄悄升级的.svn文件的格式,这意味着该命令行客户端无法理解他们。 当jsvn抱怨我的项目的顶级目录文件丢失“的.svn /格式”一分钱下降。我发现这些堆子文件夹中,都在寻找相同的,只包含数字“9”。所以我复制一个到顶层文件夹,然后jsvn终于给了相应的消息:“使用svn:此客户端版本太旧,工作拷贝;请取得更新的Subversion客户端‘’”。 有一次,我已确定(通过谷歌)并安装了兼容的客户端SVNKit水平,改进后的新jsvn能够认识到,我的工作拷贝,其实是一个工作副本。 道德的故事:如果你得到这个错误和你在同一台机器上使用不同的SVN的客户,该问题可能是他们已经得到了同步
就遇到了这个现在使用TortoiseSVN清理一些死目录。我做了文件的备份,然后使用浏览器代表要删除故障目录(这算完了反正)。然后在项目清理工作,现在我可以保持我目前的文件去。
请尝试找出问题的所在。这是失踪的.svn文件或别的东西。 记住,当你与你签入完成创建的.svn文件。并包含相应的目录路径,用标记有一个唯一的数字代码名称。 转到您的项目,您认为在完全被检查的基本路径。 创建一个新的临时包,并在这条道路增加了一个样本Java代码。 加入版本并尝试提交。 如果你得到一个错误,指出该文件夹被锁定(试图锁定已锁定的文件夹),然后去的.svn文件夹并将其重命名锁定文件。 再次尝试签入和提交
如果它工作正常,那么你就完成了。 使用相同的基本目录和cleaing起来后,再次开始从该目录到您的文件夹级别签入你的代码。
“不是工作副本”是指当您的IDE是试图运行svn
到不被svn
本身(如不低于svn
在子目录添加文件)所控制的地方之一。我想说的IDE内检查您的路径。
因为我使用可视化工具完成每项任务,所以我无法告诉您需要执行哪些命令。
这是我的环境,Windows XP。tortoiseSVN 1.6.7 与 Subversion 1.6.9,Eclipse 3.5 与 Subclipse 1.6.10。存储库通过 Windows 上的可视化 SVN 服务器进行管理。
- 在视觉svn服务器中我 删除了文件夹 这是由其他工具创建的(这就是问题所在,就像凯尔蒂亚说的那样)。
- 在我的 Windows 资源管理器中右键单击我的项目并使用 tortoise SVN press 选项 更新. 。通过此操作,该文件夹已从我的工作副本中删除。
- 致力于 我所有的改变。
- 运行该工具 创建文件夹 (再次)。
- 与乌龟 SVN 我标记 添加到忽略列表.
希望这可以帮助。
在我的情况下,我移动Eclipse工作区处到另一处则问题发生。为了解决问题,我结账的项目形成了svn回购。然后,在旧的项目我清理所有SVN文件。 (简单的搜索.svn文件和删除),那么我将内容复制到刚刚签出一个我的变化变得可见,我的项目是最新的。这种方法可应用于其他恼人的错误。希望帮助别人
请move
在另一个位置的当前目录,并执行命令svn update
,然后用移动目录,点击替换目录
如果使用tortoisteSVN
,可以前运行svn更新,运行清除你根目录