Linux Eclipse プロジェクトを会社の svn にチェックインしました。よく働く。
このプロジェクトは、Windows でクロス コンパイルすることを目的としています。
これまでは、OS 間でソース ファイルを移動するだけでした。しかし、私はsvnにこれをさせたいと思っていました。Eclipse linux src を VS プロジェクト ディレクトリにチェックアウトするだけです。違う!
正しいソースが svn からチェックアウトされ、正常に機能しました。しかし、チェックインしようとすると、「コミットが完了していないファイル名が競合している」というエラーが発生し続けました。私も何も変わっていませんでした!
少し確認しました。Linux の src ディレクトリはほとんどソースとヘッダーだけであることがわかりました。MSVS 側では、プロジェクト ディレクトリにはソースとヘッダーが含まれていますが、projname.vcproj などの名前で VS によって使用される一連のファイルも含まれています。
そこで、スクラッチ ディレクトリ .\fred にチェックアウトしました。.\fred をチェックインしました。問題ありません。.fred、xxx.xxx に新しいファイルを追加しました。報告されたチェックイン:
svn: E200009: Commit failed (details follow):
svn: E200009: 'C:\Projects\fred\xxx.xxx' is not under version control
これらのコミットされていない Visual Studio ファイルについて疑問に思います。
それで、それらのファイルは私の問題ですか?それらはコミット操作を壊していますか?
別の解決策として、VS ファイルを svn の src ディレクトリに追加することを考えています。linux/eclipse がそれらをチェックアウトする場合、eclipse にそれらを無視するように指示できます (私にとっては無視されるだけだと思います)。このアプローチに関する考えや推奨事項はありますか?
(ちなみに、Linux側にはまだ新しいソースがあったので、壊れたものは安全に復元できました。)