2011-12-21 11 views
5

私はSVNを初めて使用しているので、TortoiseSVNを使用してSVNにコードをコミットしたいと思います。私はC++ヘッダーとコードのソースを持っていますが、SVNにバージョンをアップロードする前に効率的な方法でフォルダを整理する方法がわかりません。人々が通常どのようにしているかについての示唆はありますか? C++やjavaなど、異なる言語のコード構造に違いはありますか?特定のルールに従うべきですか?C++コード用のSVNリポジトリを構成する方法

更新

したがって、回答を確認した後、私は物事を少しはっきりさせました。

/trunk 
/branches 
/tags 

しかし、私はまた、私は多くのことを気に入って同様の構造、見つから:通常のフォルダ構造は、1つのproyectのために、以下のあるマルチメディア・アプリケーション・コードの

/trunk     #Keep it to developement mode always. 
    /samples   #samples of use 
    /modules   #software modules 
     /project_modName 
      /include  # .hpp files 
      /src   # .cpp files 
    /test    #unitary tests 
/branches    #experimental developements (copies of trunk at various stages) 
/tags     #estable versions 
/extras 
    /3rdparty   #libs 
    /data    #necessary data for developement 
    /doc    #documentation 
    /resources   #for window applications 

少なくとも私はそれを好きに。

UPDATE 2

は、このアップデートはちょうど私が私のリポジトリを作成していますどのように説明することです。 structure_svnというフォルダを作成しました。内部で私は上記の構造を作りました。親フォルダを右クリックし、インポートを選択します。 URLにはフォルダパス(file:/// c:/ svn_repos)が書き込まれるので、構造体はsvn_repos、の下にstructure_svnというフォルダなしで自動的に作成されます。

インポートするために右クリックしたフォルダは決して表示されません。私はちょうど私がそれを試したときに気づいた、そしてまたtoturialsで説明されています。

次のステップは、作成した構造内で自分のコードを成功裏に分割することです。

+0

私の経験から、最もよく見られるのは、自動的に生成されたファイルとIDEユーザーファイルです。共有プロジェクトで作業するまでは気づかないことがあります。 –

+1

エラーログなどがありますか?実際には、私は主にフォルダ構造と息子について考えていました。どのように名前を付け、どのように整理するのですか? –

+1

例えば、.resxファイルから生成された* .designer.csファイルを意味します。また、プロジェクトのレイアウトやネーミングが必要だと知っていますが、5年後には自分自身でまだ苦労していますので、私が提案することができる最良の方法は、ほとんどのオープンソースプロジェクトでソース管理を見て、好きなものを見つけ出しますそこ。 –

答えて

9

は、私は(主にC/C++の観点から)プログラミングプロジェクトで私のツリーを構築方法は次のとおりです。

  • /
    • 自分で書かれたSRC —ソースとヘッダファイル
    • EXT —外部依存関係。サードパーティ製のライブラリ
      • libnameを-1.2.8
        • —ヘッダ
        • libにコンパイルされたlibにファイル
        • Donwloadなどが含まれています。バージョンをダウンロードするためのリンクが含まれています— TXT
    • を使用IDE —は、私はここでプロジェクトファイルを保存
      • VC10 —私はビン
    • IDE
    • でプロジェクトファイルを整理 —コンパイルされたバイナリはここになります
    • OBJ —コンパイラのビルドファイル
      • gccの —プロジェクトのサイズは、それを正当化する場合は、各コンパイラのファイル用に別のフォルダを作る
    • あらゆる種類のドキュメント—ドキュメント
    • README
    • INSTALL
    • コピー中
    • makefile — IDEプロジェクトファイルの生成を自動化するもの。私はCMakeを好む。

いくつかの注意事項:

  1. 私は、ライブラリを書いている(と私はC/C++を使用しています)私は最初の2つのフォルダに私のソースファイルを整理するつもりならば"src/include"と "src/source"と呼ばれ、次にモジュールによって呼び出されます。アプリケーションの場合は、モジュールごとに整理します(ヘッダーとソースは同じフォルダに格納されます)。

  2. 上記のファイルとディレクトリ斜体コードリポジトリには追加しません。

編集:私はMercurialのではなく、SVNを使用しているので、それ以上の構成は、そのバージョン管理システムに合わせ注意。とにかく、私はあなたのアップデートから、あなたが好きなものをすでに見つけたことを知っています。

+0

ありがとう、非常に便利です。 ideを使わないでsrcを –

+0

にしても特に便利ではないようです。どのプロジェクトファイル(Makefile/CMakeFile/cvprojであろうと)を使わずに巨大なプロジェクトを構築するにはどうすればいいですか? – stijn

+0

@stijnもちろん、メークファイルがあるはずです(個人的にCMakeが好きです)。混乱を避けるため、リストに追加します。 :) –

4

すべてのプロジェクトがソース外のビルドを行っていることを確認することは、一時的なファイルを$ TEMPに入れ、すべての出力ファイルを専用のbin/libディレクトリに置くことです。これが正しく行われると、ソースのみを含むソースディレクトリが残されます。 '純粋な'ソースファイルとは別に、ソースをビルドするために必要なすべてがリポジトリにあることを確認してください:プロジェクトファイル/ジェネレータ、リソース。

正しくインストールされたら、Visual Studioの* .suoのような典型的なプロジェクト生成ファイルをSVNの無視リストに入れればよいので、コミットの準備が整いました。ここで

4

基本的にあなたが望むだけsvnを入れることができます。ここでは、標準的なリポジトリレイアウトを参考にしてください:here

プロジェクト内にはいくつかのベストプラクティスがあります。そして、彼らは言語ごとに異なっています。たとえば、Javaパッケージは名前空間によって編成されます。

  • すべてのクラスをヘッダ(.H)と同じディレクトリ
  • ヘッダーとソース内のソースファイル( .CPP)に:C++の世界では、私はそれを整理する方法を主に二つの方法を見てきました分離されています(特にヘッダー用のフォルダがあります)。これは、このパスが上位レイヤーのプロジェクトで使用できるように、ライブラリに便利です。

次に、サードパーティのライブラリ用のフォルダと、ターゲットファイル用のフォルダと、ビルドファイルやドキュメントなどのフォルダが必要です。

+0

便利です。私は別のaproachesを試し、私が最も好きなものを決定します。 –

4

あなたはsvnとnoobならば、あなたは次のLinkの良い説明があります!

+0

ありがとう、私は感謝しています –

関連する問題