Eclipse,导入项目但不要复制

时间:2011-10-28 15:23:06

标签: windows eclipse git svn virtualbox

我使用Linux作为主要操作系统,我还必须在使用Eclipse 3.7的Windows虚拟机上工作。

我们正在使用颠覆但是使用Linux我很高兴使用git-svn和Emacs + magit,这非常有用。 所以我希望能够从两个操作系统处理相同的代码,并且只在Linux上进行真正的版本控制管理。

所以我有以下想法:
1.与virtualbox共享目录
2.创建指向共享目录的项目

嗯,这不起作用,因为愚蠢的事情想要复制一切。 所以我尝试使用虚拟文件夹,这似乎是一个好主意,但现在一些脚本严重失败,因为他们找不到硬编码路径。

所以我不知道该尝试什么,任何想法?

编辑:
我在上次编辑中的最后一次尝试不起作用,所以我有一个更简单的问题。 给定一个git / svn /任何存储库checkout,为什么我不能简单地告诉Eclipse创建一个项目那里而不触及文件?

Eclipse是否难以在该位置创建它的.project? 而且由于显然没有“支持”的方式来做,可能有任何解决方法吗?

3 个答案:

答案 0 :(得分:6)

根据我的经验,这些阶段如下(使用Indigo版本): 1.创建新的空项目 2.单击文件 - >导入 - >文件系统 3.在导入窗口导入文件系统中,检查所需文件到新项目文件夹中 4.在导入窗口中单击高级,然后勾选“在工作区中创建链接”

新项目应包含指向原始目录的链接。

答案 1 :(得分:4)

Eclipse在其工作空间中修改和编译源代码。工作空间的第一级是项目目录,+ .metadata,它只对该工作空间实例是本地的。传统上,工作区包含它所处理的项目。

Eclipse还支持2种链接模式。在一个方面,当您在工作区中创建项目时,您将为其提供到文件系统上其他位置的绝对路径。例如,如果你在git仓库中使用eclipse项目,那么这很方便。

在另一种模式下,您可以在本地工作区中创建项目。然后将文件夹(源,资源等)链接到文件系统上的其他位置。这对于不希望在其SCM中保存eclipse特定文件(.project,.classpath等)的项目非常有用。

您必须在每个操作系统上创建一个不同的工作区(没有办法解决这个问题)。但是你可以在每个工作区创建项目并链接到公共位置(我不推荐它,但它可以做到)。

答案 2 :(得分:4)

这里有同样的问题,最后得到了解决方案!

1)克隆您的仓库,但不是直接到您的工作区,在我的情况下,我使用workspace2而不是工作区。

2)在eclipse上,导入workspace2上的所有项目,但不要标记“将文件复制到工作区”,因此源代码保留在workspace2上。

3)在git上,您将看到在project.options文件(仅更改文件日期)和.path文件(某些行更改其顺序)中出现的更改。由于所有这些都是无关的更改,请重置本地分支以丢弃这些更改。

多数民众赞成,git看不到更多的变化,eclipse正确打开文件!

我遇到了一个值得评论的奇怪问题:导入后我转到“git gui”查看更改,第一个文件更改是“project.options”文件,只更改了日期但差异为空(因为内容没有变化)。 git上有一个bug让git gui进入无限循环:当它检测到文件的变化并且diff为空时,执行重新扫描,然后检测到相同的变化并进入重新扫描循环。

有一个补丁可以解决这个问题,但只是在这个唯一的文件上添加一个愚蠢的评论(而不是在你所有的project.options中)然后“git gui”再次开心并且我可以重置更改分支。