2011-06-03 47 views
0

我在svn有点新手,尽管经过多次尝试,仍然无法解决我在我的环境中似乎遇到的问题。命令行与Subversive之间svn冲突?

我正在使用svn 1.6.15,并且我在Eclipse CentOS 5.5上使用了Subversion SVN连接器2.2.1和SVNKit 1.3.0的Eclipse 3.5.2。

当我第一次开始使用svn时,我已经从cmd行检查了一些东西,现在是我所有项目的父目录。当我开始使用Eclipse/Subversive时,我认为我已经摆脱了所有这些东西,但其中一个原始项目的条目仍然保留在父目录的.svn/entries文件中。如果我从父目录中的cmd行执行一个svn列表(不带参数),则会显示该旧项目的单个源文件。如果我执行一个svn列表并指定存储库的URL,那么列出我的所有项目(但不是那个旧的源文件)。

如果我从父目录中的cmd行执行svn status -u,我的所有项目都会列出状态为? (不是在源代码控制下),尽管在Eclipse中项目连接到存储库,我可以看到历史记录和提交等。另一个区别是我可以在Eclipse下创建新的SVN项目,但是当我尝试从命令这些新项目是在旧的,不正确删除的路径下创建的,而不是在实际上仍然存在的路径下。

我可以看到在条目中的差异文件在父目录中的目录的.svn,其中显示:

的svn:// our_SVN_url/SVN/IFX/removed_directory
的svn:// our_SVN_url/SVN/IFX

在条目文件为我在Eclipse显示创建的项目之一:

的svn:// our_SVN_url/SVN/IFX/project_directory
的svn:// our_SVN_url/SVN

我已经尝试过各种svn命令来清理,更新和删除旧目录,但提交总是因为某种原因失败。旧的,不正确移除的项目的目录结构保留在父目录中。我厌倦了将旧项目的源文件重新提交到存储库(希望我可以删除该项目),但由于svn抱怨找不到该文件而失败了。

对不起,这个冗长的描述,但我不知道我明白发生了什么事情足以提供一个更简洁的描述。

在此先感谢任何有关我如何停止追逐我的尾巴的建议。

回答

0

我怀疑svn的命令行版本不同于Eclipse插件版本。如果两者使用不同的svn规格,那么管理下的项目不能从另一个管理。

目前您是否已将所有代码签入?如果是这样,最简单的解决方法是删除所有本地代码,然后重新进行结账。如果您仍需要签入某些文件,但这些签入目前失败,请将您的本地代码移至其他位置,然后重新签出。替换需要更新的所有单个文件,然后签入。(请注意,您不希望移动整个文件夹,因为不应复制.svn文件夹。)