如何从Eclipse(通过Subclipse)将项目提交到trunk?

时间:2012-12-24 03:27:18

标签: java eclipse svn subclipse

我在Eclipse中有一个项目MyProject/,我要分享并导入我的SVN仓库:

MyProject/
    src/
    dist/
    lib/
    ...etc.

最终,我希望最终得到这个项目的SVN回购:

svn://mySVNrepo/
    MyProject/
        trunk/
            src/
            dist/
            lib/
        branches/
        tags/

但是,当我右键单击MyProject并选择Team >> Share并按照提示操作时,我最终会:

svn://mySVNrepo/
    MyProject/
        src/
        dist/
        lib/

所以它是:(1)不允许我创建主干,分支和标签dirs,以及(2)不允许我将我导入的项目“嵌套”到主干中。

然后我尝试从SVN Repo Explorer视图手动创建目录,并创建:

svn://mySVNrepo/
    MyProject/
        trunk/
        branches/
        tags/

然后,我尝试在以下位置分享我的项目:

svn://mySVNrepo/trunk

当我尝试运行这个初始导入时,我收到Eclipse的警告:

  

警告:存储库中已存在指定的文件夹。如果继续,该文件夹将签出到您的本地工作区,您的项目将连接到此现有位置。你想继续吗?

  • 想要覆盖我的本地副本(我正在尝试分享);它有很多工作要做!
  • 我真的不明白这个警告告诉我什么,基本上我不想弄乱任何东西!

所以我问:我的方法是错误的,如果是的话,我怎样才能将我的项目第一次提交到trunk/子目录中?如果我的方法是正确的,那么请帮我解读这个警告信息,并告诉我应该做什么。提前谢谢!

3 个答案:

答案 0 :(得分:2)

一种可行的方法是在SVN中保留手动创建的trunk / branches / tags目录。将empty / trunk检出到本地工作站的并行目录中(假设目录为#2,本地项目为#1)。然后将您的项目+代码从#1复制到该/ trunk目录并提交到SVN。

然后,您可以在本地创建第3个目录,并检出SVN副本并确保其正确编译/运行。如果是这样,您可以删除中间的#1 /#2目录,或者将您的初始项目保留为备份(但它将是非版本化的)。然后继续使用目录#3作为新的SVN监控工作区。

如果我不确定我的更改将如何影响我不想丢失的工作,我会尝试采用这样的方法,以便在出现问题时对我的代码造成最小的伤害(例如, SVN命令/操作我不熟悉等等。

答案 1 :(得分:1)

  1. 从菜单中选择 Window > Open Perspective > SVN Repository Exploring

  2. 右键单击存储库> 新项目结构> 单个项目或多个项目布局>输入'MyProject'作为名称。这将创建具有/trunk/branches/tags/项目结构的新项目。

  3. 创建后,右键单击项目并选择 Checkout

  4. 'MyProject'现在应该在您的导航器视图中。在那里,您可以将/src /dist/lib个文件夹复制到“我的项目” trunk 文件夹中。

  5. 右键单击您的项目,然后选择团队> 提交

  6. 修改

    您也可以尝试Eclipse的Subversive插件。此插件有一种更简单的方法可以将现有项目作为多项目布局(trunk/branches/tags文件夹结构)共享给svn。

    我在类似的thread中发布了这些步骤。

答案 2 :(得分:0)

经过一个小时的反复试验,我只是做了以下事情:

  1. 将其分享到错误的文件夹
  2. 进入SVN资源管理器并将文件夹(使用src等)重命名为trunk
  3. 将该中继移动到svn
  4. 中的正确位置(例如,项目/主干)
  5. 进入Eclipse中的Project Explorer,右键单击项目,团队,切换并选择新的主干。