发布此信息是因为它可能有助于其他人。
我也遇到了同样的问题。 @ user714965鼓舞人心,但没有解决我的问题,因为我无法弄清楚如何让SVN认识到我将文件从原始文件夹移动到我工作副本中的新结构。
对于以下内容,您将需要TortoiseSVN或类似的SVN GUI客户端来执行此操作。
这是我做的:
- 将Eclipse项目的最后更改提交到SVN repo。
- 打开Android Studio并使用它导入Eclipse项目工作副本。
- Android Studio可以很好地将Eclipse项目转换为Android Studio / Gradle项目。我们称这个项目为“PrjGradle”。
- 打开已转换的Gradle项目文件夹窗口并将其保留在屏幕的一侧
- 进入您的项目所在的SVN仓库(使用TortoiseSVN)。
- 将当前主干备份到分支或标记中,并将其命名为“final_eclipse”或其他任何内容。
- 现在,直接在TortoiseSVN Repo Browser窗口中镜像本地计算机上新转换的Gradle项目的文件夹结构。这意味着,请查看目录在“PrkGradle”中的结构,并直接在主干存储库上创建/删除/重命名文件夹。如果你想保留你的SVN历史,这将是非常繁琐的,但你必须忍受它。
- 当你直接在repo上移动文件(而不是复制)时,文件的历史记录保持不变。
- 完成后,将重新构建的目录签出到本地计算机中。我们称之为“NewPrj”。
- 使用合适的文件夹比较程序(例如Beyond Compare)来同步丢失的项目(例如build.gradle,.iml文件等)
- 将转换后的项目重命名为“PrjGradle_old”,并将新签出的项目(NewPrj)重命名为“PrjGradle”。
- 在Android Studio中打开“PrjGradle”。就是这样!
醇>
希望它成功。
我不知道两种文件结构的差异。但它会这样尝试:
- 查看您的项目(也许最好使用像TortoiseSVN这样的客户端)
- 构建新文件结构(新文件夹)
- 提交
- 将文件从旧结构移至新
- 提交(如果只有移动操作,请检查提交对话框!)
- 删除您不再需要的旧文件夹
- 提交
醇>
SVN将识别这些移动操作。您将看到它是否适用于提交对话框中的操作。如果有"删除" /"新"行动出了问题应该只有"移动"动作。