subversion和Eclipse的使用

subversion和Eclipse的使用,eclipse,svn,Eclipse,Svn,这是一个关于基本subversion plus 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 fi

这是一个关于基本subversion plus 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签出删除和重建的项目树的情况。F5过程不仅繁琐,因为它必须对每个.java文件执行,而且对.properties文件也要执行,而且它似乎不支持对.properties文件执行F5(同步)

任何避免subversion或Eclipse投诉的见解都在寻求中,因为两者都会给另一方带来问题。(不,我暂时不想使用插件。我已经读到插件中有bug。看起来命令行应该足够了,而且更可靠。)


编辑:建议使用svn checkout--force。问题仍然是Eclipse仍然需要在所有文件上使用F5。我对hardmath的评论投了赞成票,如果将其作为答案发布,我会接受。

我会以这种方式更改我的流程:

完成一次:

  • 创建存储库
  • 在存储库中创建一个目录
  • 通过源签出该目录
  • 存储库中还没有文件,因此没有错误

    然后执行以下命令:

  • Svn添加/删除要放在Svn下或从Svn中删除的文件
  • 提交您的更改

  • 这项工作很顺利,而且无论如何都是在正常开发过程中必须使用的,因此为什么不从一开始就应用此过程呢。

    我将以以下方式更改我的过程:

    完成一次:

  • 创建存储库
  • 在存储库中创建一个目录
  • 通过源签出该目录
  • 存储库中还没有文件,因此没有错误

    然后执行以下命令:

  • Svn添加/删除要放在Svn下或从Svn中删除的文件
  • 提交您的更改

  • 这工作起来很顺利,而且无论如何都是在正常开发中必须使用的,所以为什么不从一开始就应用这个过程呢。

    我决定在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树。这三个选择对应于源代码和我认为类似于源代码的代码。“强制”选项处理“阻塞路径”。深度选项是一个限制,用于避免对某些Eclipse文件夹和Eclipse插件文件夹进行版本控制。Eclipse将要求在签出的文件上使用F5。

    我决定在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树。这三个选择对应于源代码和我认为类似于源代码的代码。“强制”选项处理“阻塞路径”。深度选项是一个限制,用于避免对某些Eclipse文件夹和Eclipse插件文件夹进行版本控制。Eclipse将要求在签出的文件上使用F5。

    您是否尝试过命令行中的--force标志/选项(用于svn签出)?请参见此处的类似问题:您是否尝试过从命令行使用--force标志/选项(用于svn签出)?请参见此处的类似问题: