私は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の「ブランチ」を使用することです。これを試してみましたが、奇妙な状況に遭遇したため、これを投稿しています。
これは、RedHat バージョンを git "Master" ブランチとして開始しました。Master から、linux、osx、windows の 3 つのブランチを作成しました。私は Windows ブランチで作業を開始し、その後休暇を取りました。戻ってきたとき、Linux ブランチを取得しましたが、Windows の変更によって「汚染」されていました。休暇前にすべてのウィンドウの変更を確認したと思いました。
質問:
- ブランチはマルチプラットフォーム プロジェクトを行う正しい方法ですか?
- Eclipse の「.project」ファイルとその他のメタデータ ファイルをソース管理下に置く必要がありますか?
ありがとう