• ベストアンサー

subversion 共有ライブラリの管理

基本的なクラス群や関数群をいくつかのプロジェクトで共有する場合、 Subversionでは、それらのソースを皆さんどのようにで管理されているのでしょうか。 たとえば、以下のようにprojectAとprojectBでfolder_C以下にあるコードを共有する場合、 folder_Cを、独立したプロジェクトで管理してプロジェクトAやBから外部参照する方法でよいのでしょうか。 prjA-trunk-folder_A |-folder_B |-folder_C prjB-trunk-folder_E |-folder_F |-folder_C prjC-trunk-folder_C

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>他のプロジェクトと共有する(している)コードを修正した場合、 >のちほど、その変更内容を他のプロジェクトのものへ反映させる >ということでしょうか。 そういうレベルでの他のプロジェクトに流用するものではない。 というだけです。 複数のプロジェクトで共有するDLLですが、使用用途は限られているものです。(共有ライブラリの依存度などの問題…かと。) Visual Studioでのソリューション単位でリポジトリに登録する。というつもりです。 # あくまでも私の運用の予定…です。それが正しいというコトではありませんので。 # 全く別の開発グループが参照する。とか、共有ライブラリを使用しているプロジェクト内容は見せたくない。という場合などには外部参照の方が都合がよい…かと。 以下、私の運用で…  Visual StudioのソリューションA   |-共有DLLのプロジェクト   |-アプリAのプロジェクト   |-アプリBのプロジェクト をSubversionのリポジトリに丸ごと入れます。(ソリューション/プロジェクト内でリポジトリへの登録するもの/しないものは選択しますが) 共有DLLを使用するアプリCを追加する場合…全体をブランチ切って、ソリューションにアプリCのプロジェクトを追加し、Subversionリポジトリに追加します。 アプリCの目処がついたところでtrunkに戻してマージするでしょう。 公開するとしても成果物(共有DLLと各実行ファイル)だけで、Subversionのリポジトリまで公開するつもりはありませんし。 共有DLLの方の機能拡張などでブランチ切る場合は一番上から丸ごと切ります。 共有DLLのディレクトリ(プロジェクト)下だけブランチ切ることも可能でしょうが…管理が面倒になりそうなので。 外部参照ならば共有DLLのディレクトリ(プロジェクト)だけブランチ切っても全体には影響しない…んでしょうな。おそらく…。 開発停止されたようですが… Lhmelt、UNLHA32.DLL、UNARJ32.DLLの様な関係であれば、外部参照で管理するように作る…でしょうね。 # もっともこの場合、Lhmeltで必要なのはビルド後のバイナリだけなので外部参照にするかどうかも微妙?

moshimoshi_83
質問者

お礼

早速の回答ありがとうございます。 SubeversionやWinCVSの検索をかけても、ツールの使い方はたくさんでてくるのですが、 具体的にどのようにプロジェクトを管理しているかのポリシーみたいなものは あまりでてこないので、大変参考になります。 >そういうレベルでの他のプロジェクトに流用するものではない。 ツールの使い方うんぬんを考えるまえに、 ここをしっかり守るように意識したいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

用意されている機能ですし…外部参照なんじゃないですかね。 TortoiseSVNもSubversion自体は外部参照になってますね。 コミットするときとか、どういう動作になるのか…試したコトがないのでなんとも。 # 必要性があれば…まぁ試すんでしょうけど… 自由にいぢれるSubversionサーバもあるし。 私の場合、今後いぢる予定のモノは…複数纏めて1つのリポジトリで管理する予定です。 共用するDLLと、それを利用するEXEで…。 以降の取り扱い(できたものを公開するかどうか)も合わせてセットで取り扱う予定ですし。

moshimoshi_83
質問者

お礼

回答ありがとうございます。 追加の質問をさせて頂けないでしょうか。 >私の場合、今後いぢる予定のモノは…複数纏めて1つのリポジトリで管理する予定です。 他のプロジェクトと共有する(している)コードを修正した場合、 のちほど、その変更内容を他のプロジェクトのものへ反映させる ということでしょうか。 お時間がありましたら、教えて頂けると助かります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ネットワーク上の共有フォルダの管理

    よろしくお願いします。 ネットワーク上にA部店、B部店、C部店、管理部店があり、管理部店には 共有PCが1台存在している。 (各部店のPCユーザはすべて「管理者権限」でユーザ名は「USER」です。) 管理部店の共有PCの中に共有フォルダA、共有フォルダB、共有フォルダCがある。 A部店のPCからは共有フォルダAのみ閲覧できる B部店のPCからは共有フォルダBのみ閲覧できる C部店のPCからは共有フォルダCのみ閲覧できる という具合に設定したいです。 条件として A部店からは共有フォルダB及びCを見ることはできない。 B部店からは共有フォルダA及びCをみることはできない。 C部店からは共有フォルダA及びBを見ることができない。 どのように設定すればできるのか、また上記のように設定できるソフトが あれば教えてください。 よろしくお願いします。 プラットホーム:Windows7 Pro

  • Subversion ファイルのマージができない

    以下のページ等を参考にして TortoiseSVNでbranchからtrunkへのマージを試みましたがサブフォルダ以下のファイルのマージが行われません。 http://hide.xsv.info/tips/svnmanual/merge1/ 以下のようなフォルダ構成である場合、 Folder_A--File_A |----File_B |----Folder_B |-----File_C マージ元URLにhttp://localhost:8888/svn/branch/Folder_A を指定し、 マージ先URLにhttp://localhost:8888/svn/trunk/Folder_A を指定して マージを実行すると、File_A, File_Bはマージされるのですが、 サブフォルダ以下のFile_Cはスルーされてしまいます。 作業コピーのあるフォルダで、右クリック-[マージ]で表示される リビジョンの範囲をマージ 異なる2つのツリーをマージ で試してみましたがいずれもサブフォルダのファイルはスルーされてしまいました。 TortoiseSVNでは、サブフォルダのマージはできないのでしょうか。

  • ゲームライブラリプロジェクトの管理方法について

    現在C/C++(VisualStudio2008 academic edition)でライブラリのようなものを作成しているのですが悩んでいることがあるので相談させてください。 ライブラリの実装として、 ・ネットワーク ・ファイル入出力 ・描画系 ・オーディオ再生 ・数学系 ・アルゴリズム ・シーングラフ管理システム ・メモリ管理システム ・デバッグシステム&プロファイラー のようなものを1つのプロジェクトで管理しています。 しかし、いろいろあってファイル入出力のシステムだけ使おうとしても1つのプロジェクトに描画やらネットワークやらいらないシステムも芋づる式にくっついてきてしまいます。 「そういうふうに作ったんだから当たり前だ」と言われてしまえばそれまでなのですが、普通はこのようないろんなシステムが入ってくる場合、どのようにプロジェクトを管理するのが適切でしょうか? 私なりにいくつか考えたものでは 1:現状のまま使っていき不要なライブラリがあるのも承知でそのまま利用する 2:1つ1つのシステムごとにプロジェクトをわけてパスを通して別プロジェクトだが1つのシステムのように扱う(当然共有すべきヘッダーやクラスが出てきたりするし、ライブラリファイル(.lib)やDLLがたくさんできあがる) 3:1つ1つまったく別プロジェクト、別ソリューションとして作成し、共有するヘッダーを作らないようにする(同じことが書いてあるヘッダーが各ソリューションのフォルダに入ったりすることもある(当然1つを変えるとすべてを手作業で編集する作業が必要になる)) 以上です。 3番目以外は試してみたのですが、 1番は、いらないシステムまでくっついてくる(1つのシステムを利用するのにヘッダーの管理がべらぼうに大変) 2番は、パスの通っているプロジェクトから通っていないプロジェクトへの管理が大変 (たとえばプロジェクトがA,B,CとあったとしてBはAのプロジェクトにパスが通っていてヘッダーをincludeしていると仮定する、CはBのプロジェクトにパスが通っているとする。この時、CがBのプロジェクト内のヘッダーをincludeするとCからAに対してパスが通っていないためコンパイルエラーとなる) 表現方法があいまいで伝わらない個所もあるかもしれませんが、これ以外に適切な管理方法や、こんな方法でやると便利などといった情報があれば教えてください。 よろしくお願いします。

  • Subversionでのソース管理方法

    よろしくお願いします。 Subversionを新規に導入し、ソースを管理したいと思います。 そこで運用方法についてご相談をしたく思います。 具体的には、「trunk」と「tags」、および「branches」という用語(ディレクトリ?)についてです。 要件としては、先ず初期開発があり、開発したソースは「trunk」配下に格納します。 開発が完了し、納品したソース一式は、「tags」配下にVersion1.0として保管する想定です。 ・・・・ ところがその後、バグや機能修正があり、ソースを修正する要件が発生したとします。 その場合に修正は、「branches」配下に「trunk」配下のソースのコピーを作成し、 「branches」配下のソースを修正するのが一般的な作法なのでしょうか?。 また「branches」配下で修正したソースを、「trunk」に合流させる操作を「マージ」と 言うのでしょうか?。 (この場合、納品した断面は「tags」配下のみになるイメージです) 上記2点の認識について問題ないか、アドバイス頂けますと助かります。

  • Windows7の管理共有の設定について

    いつも参考にさせてもらっています。 ありがとうございます。 Windows7 の管理共有(隠し共有)の有効/無効について、教えてください。 2台のWindows7パソコン PC:A と PC:Bがあり、 AからBのD$参照が可能で、 BからAのD$参照が不可能 な状態です。 Windowx7の管理共有の設定はどうするのかな?と思い、 調べたところ、レジストリで無効にできる、という記事を見つけました http://news.mynavi.jp/column/windows/080/index.html これによると、 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ lanmanserver \ parameters のAutoShareWksで無効にするとのことなのですが、 であれば、Aのパソコンにこの値があるはず、と思って調べてみたのですが、見当たりません。 フォルダ参照する際のアカウント・パスワードに誤りはありません。 管理共有の設定で、レジストリ操作以外に方法・箇所があるのでしょうか? よろしくお願いします。

  • Subversionで1つのアプリを複数のプロジェクトに分割して管理する場合、リポジトリは複数に分けるのか?

    質問タイトルの通りで 1つのアプリをプロジェクト分割したときに、 以下の2つの場合、どっちが一般的なのでしょうか? ★1つめ案 /repos/path/svn/project/trunk/pj1                      /pj2                      /pj3 ★2つ目の案 /repos/path/svn/project1/trunk/pj1 /repos/path/svn/project2/trunk/pj2 /repos/path/svn/project3/trunk/pj3 そのほかにもありましたら、教えてください。

  • 共有フォルダについて

    我が家はXPのインストールされているパソコンが3台あるのですが、(A,B,Cとします)各パソコンにそれぞれ共有フォルダを作ってあります。 AのパソコンからBとCの共有フォルダにはアクセスできるのですが、BからもCからもAの共有フォルダにはアクセスできません・・・ BとC間では相互にアクセスできます。 画像にあるような表示が出てくるのですが、当方いかんせんパソコンにはさほど詳しくなく、管理者に問い合わせてくださいという指示の意味が全く・・・・ どうすればAの共有フォルダにアクセス出来るようになるでしょうか?

  • ネットワークドライブを共有設定

    パソコンAの共有フォルダを パソコンBのネットワークドライブとして設定していますが、 パソコンBのネットワークドライブを共有設定にして、 外部から参照できるようにしたいのですが、 ネットワークドライブには共有設定がありません。 つまり、 パソコンAの共有フォルダ | パソコンBのネットワークドライブの共有 | 他のパソコンから参照 と、経由的には面倒くさいことをしていますが、 技術的に可能でしょうか?

  • windowsのファイル共有について

    windowsのファイル共有について windowsのファイル共有について、検索をし調べたのですがうまく設定が出来なかったので助けてください。 ファイル共有するフォルダには以下のようにユーザーによって権限をかけたいのですが可能でしょうか? Aさん 共有フォルダをしている人 Bさん Aさんのファイルを読み込み・書き込みできる人 Cさん Aさんのファイルを読み込みだけ出来る人 windowsの設定情報 Aさん ユーザーログイン名 a-san Bさん ユーザーログイン名 no-bb Cさん ユーザーログイン名 f01-pc Aさんの共有フォルダを以下のような設定をしたいと思ってます。 Bさんはフォルダに対して、読み込み・書き込みが可能とし、 Cさんはフォルダに対して、読み込みのみ可能とする場合の共有フォルダの方法を教えてください。 パソコンは、windowsXPのProfessionalになります。

  • Strutsで他のプロジェクトへ処理を移す

    Strutsの制御についてお聞きします。 二つのプロジェクトがあった場合、一方のプロジェクトから別のプロジェクトへStrutsのActionMappingで処理を移すことは可能なのでしょうか? 例えば、ProjectA、ProjectBとあった場合、 A.jsp(ProjectA) ↓struts-config.xml(ProjectA) action_A.class(ProjectA) ↓struts-config.xml B.jsp(ProjectB) ↓struts-config(ProjectB) action_B.Action(ProjectB) といった処理です。 うまくいかなくて困っています。 宜しくお願いいたします。

    • ベストアンサー
    • Java