使用git分支的多平台eclipse项目?

时间:2013-06-20 19:22:00

标签: eclipse git branch project

我有一个使用eclipse的相当简单的“C”项目。我使用它作为git的介绍并拥有eGit eclipse插件。该项目范围相当简单。这是一些独立于平台的源文件,然后是平台相关的源文件。我把它们组织成:

    src/
        core/      # platform independent code
            file1.c, ... fileN.c
        interface/ # platform dependant code
            fileA.c ... fileZ.c

代码最终应该在linux(至少是RedHat),osx和windows上运行。这些都是“命令行”可执行文件,但接口代码在平台之间真正不同。例如,如果我正在编写PAM(Pluggable Auth Modules)模块,Red Hat使用linuxPAM,OSX使用OpenPAM,而Windows根本不执行PAM(据我所知,没有理由)。 PAM包含文件和库是不同的,windows将做非PAM的事情。

我希望eclipse和git可以帮助解决这个问题。我的想法是为每个os类型使用git“branches”。我试过这个,但遇到了一个奇怪的情况,这就是我发布这个的原因。

我用RedHat版本作为git“Master”分支启动了这个。我从Master创建了三个分支:linux,osx和windows。我开始在windows分支上工作,然后去度假。当我回来的时候,我得到了linux分支,但它已被Windows更改“污染”了。我想到我在假期之前检查了所有窗户的变化。

问题:

  1. 是分支机构进行多平台项目的正确途径吗?
  2. eclipse“.project”文件和其他元数据文件应该受源代码控制吗?
  3. 感谢

2 个答案:

答案 0 :(得分:0)

分支机构不是进行多平台项目的方式。分支是一种管理具有不同发布周期的代码的方法。在多平台的情况下,所有代码都将同时发布。要对此进行管理,请创建一个使平台清晰的目录结构(每个平台都有一个目录)。

.project文件肯定需要检入源代码控制。

答案 1 :(得分:0)

Git相对较好地处理符号链接,如果您只想在一个分支中为一个平台更新代码,您可以定义一个主平台,在其中放置一个文件夹,其中包含您要共享的代码,然后在其他项目中使用符号链接到该文件夹​​。请注意,之后您无法为特定平台进行分支(当然,您可以使用实际文件夹的副本替换符号链接,可能需要出现)。