使用Eclipse subversive插件替换svn中的文件夹的最佳方法是什么?

使用Eclipse subversive插件替换svn中的文件夹的最佳方法是什么?,eclipse,svn,replace,subversive,Eclipse,Svn,Replace,Subversive,我想在本地替换项目中的一个文件夹,该文件夹是使用Eclipse中的subversive插件从SVN服务器签出的。同时,我想保留在此更改之前在该文件夹中所做的所有更改的修订历史记录 例如,我有一个名为JDK的文件夹,其中包含JDK1.5文件夹,但我想用JDK1.6文件夹和文件替换它。许多文件夹名称保持不变,但内容不同 我试图删除JDK文件夹中的所有内容,并将JDK 1.6文件夹和文件放入JDK文件夹,但subversive问我是否要覆盖JDK文件夹中的所有内容。我担心如果我覆盖文件夹和文件,该文件

我想在本地替换项目中的一个文件夹,该文件夹是使用Eclipse中的subversive插件从SVN服务器签出的。同时,我想保留在此更改之前在该文件夹中所做的所有更改的修订历史记录

例如,我有一个名为JDK的文件夹,其中包含JDK1.5文件夹,但我想用JDK1.6文件夹和文件替换它。许多文件夹名称保持不变,但内容不同

我试图删除JDK文件夹中的所有内容,并将JDK 1.6文件夹和文件放入JDK文件夹,但subversive问我是否要覆盖JDK文件夹中的所有内容。我担心如果我覆盖文件夹和文件,该文件夹的历史记录将丢失。我的问题是,使用Eclipse替换旧JDK文件夹并保留历史记录的最佳方法是什么

  • 在eclipse之外,尝试删除JDK1.5文件夹的内容。(在eclipse SVN内部,丢失的内容将被视为丢失的文件,jdk文件夹上的恢复将使所有文件返回)
  • 在eclipse之外,将JDK1.6内容复制到旧的JDK1.5文件夹中
  • 编译代码,看看JDK1.6是否有效
  • 检查提交文件属性。 在Eclipse中,执行SVN->Commit。可能会发生三件事 (a) 如果新文件与旧文件同名,则SVN将其视为更新

    (b) 如果文件是新的,那么应该将其添加到存储库中,SVN将其视为新文件

    (c) 如果旧文件没有新的替换文件,则删除存储库中的文件。SVN将从存储库中删除它


  • 注意:SVN可能不允许您在没有SVN->update的情况下提交,因为.SVN文件夹可能已删除。但是,如果您更新它,那么上面所有的(c)文件都将返回。您可能需要记录所有不适用于JDK 1.6的文件,并手动删除它们。

    更新的最后一部分似乎非常危险,因为可能会有许多文件重新出现。我可以不进行SVN更新以避免冲突吗?根据我的经验,您可以尝试删除JDK 1.5内容,而不删除每个文件夹中的.SVN文件夹,或者需要跟踪更新后添加的内容。