subversion和Eclipse用法

时间:2011-03-23 14:05:57

标签: eclipse svn

这是一个关于必要的颠覆加上Eclipse工作流程的问题。

当我第一次签入我的Eclipse(Java)项目时,

svnadmin create /home/jack/svnrepoz
svn import myfolder   file:///home/jack/svnrepoz/myfolder

然后继续结帐,会有投诉。

svn   checkout  file:///home/jack/svnrepoz/myfolder    myfolder
Failed to add file: 'myfolder/.classpath': an unversioned file 
of the same name already exists.

如何避免此错误?我想在结账前删除原始项目,在这种情况下我避免了这个投诉。无版本.classpath文件的后果是什么?不幸的是,在下次使用Eclipse时,程序会混淆并要求我按F5以“同步”项目中的每个文件。似乎Eclipse无法处理仅通过subversion checkout删除和重建的项目树的情况。 F5进程不仅繁琐,因为必须为每个.java文件而且对.properties文件进行处理,并且它似乎不支持.properties文件的F5(同步)。

正在寻求避免在subversion或Eclipse中避免投诉的任何见解,因为每个都会导致另一个问题。 (不,我暂时不想使用该插件。我已经读过它有错误。看起来命令行应该足够且更可靠。)

编辑:建议使用svn checkout --force。问题仍然是Eclipse仍然需要在所有文件上使用F5。我赞成了hardmath的评论,并且如果作为一个帖子发布,则会接受这个答案。

2 个答案:

答案 0 :(得分:1)

我会以这种方式改变我的过程:

要做一次:

  1. 创建存储库
  2. 在存储库中创建一个目录
  3. 通过源
  4. 结帐该目录

    存储库中没有文件,因此没有错误。

    然后按照以下命令:

    1. Svn添加/删除要放在svn下或从中删除的文件
    2. 提交您的更改
    3. 这很顺利,无论如何都要在正常开发中使用,所以为什么不从一开始就应用这个过程。

答案 1 :(得分:0)

我决定在bash脚本中使用以下过程:

svn import --depth=files projectPath/src/pathToJavaSource
svn import --depth=files projectPath/war
svn import --depth=files projectPath/war/WEB-INF

svn checkout --force --depth=files path

svn commit --depth=files path

导入到文件夹,因此它们是批量导入,但我避免不加选择地导入整个Eclipse树。这三个选项对应于源代码以及我认为与源代码类似的内容。 force选项处理“阻碍路径”。深度选项是一个限制,以避免版本化某些Eclipse文件夹和Eclipse插件文件夹。 Eclipse将要求在签出文件上使用F5。