[delphi-users:5245] モジュールのバージョン管理方法。

31 views
Skip to first unread message

高木太郎

unread,
Jul 25, 2019, 3:42:31 PM7/25/19
to delphi...@freeml.com
 こんにちは、イマジオムの高木です。 いつもお世話になっております。

 今回皆さんにお尋ねしたいことがありまして投稿いたします。 内容は
Delphi に限ったことではないのですが、モジュールの再利用性に優れた
Delphi のユーザにとって身近な問題なのではないかと思い、こちらに投稿
することにしました。 長文ですが、お付き合いいただけると嬉しいです。


 今回お尋ねしたいのは、皆さんが、どのようにモジュール(ユニット、クラス、
ライブラリなど)のバージョンを管理なさっているのか、あるいはモジュールの
バージョンを管理するのに良い方法はないのかということです。 ちょっと説明
しにくいので、下記のシナリオを例にお話しします。

  2010年に、モジュールa,b,cを使ってアプリケーション Foo を作成。

  2012年に、モジュールa,b,cを使ってアプリケーション Bar を作成。

    この際、モジュールaの機能が不充分だったことに気づいたので、
    モジュールaに機能を追加し、バージョンアップ。

  2014年に、モジュールa,b,cを使ってアプリケーション Hoge を作成。

    この際、モジュールbに仕様上の不良を発見したので、モジュールbを
    修正し、バージョンアップ。
 
以上の例で、バージョンごとのモジュールを別物と考え、数字の添え字を付けて
表すと、それぞれのアプリケーションは、最終的に次のような構成になっています。

  Foo …… a1,b1,c1

  Bar …… a2,b1,c1

  Hoge …… a2,b2,c1

ここでアプリケーション Foo・Bar・Hoge をすべて保守していく必要があるとして、
皆さんならモジュールa1とa2、b1とb2をすべて維持・保守なさいますか?


 ちなみに高木は、旧バージョンのモジュール(私の場合はユニット単位で
管理しています)を維持・保守することを嫌い、モジュールをバージョン
アップするたびに、既存のすべてのアプリケーションを最新モジュールで
再ビルドしていました。 しかしアプリケーションの数が増え、モジュールの
バージョンアップも頻繁に必要になると、再ビルドの手間が無視できなく
なってきました。 そこで「実際に再ビルドしなくても、その気になれば
いつでも再ビルドすることができる」管理方法を見つけて移行しようかと考え、
今回のお尋ねをした次第です。

 もし同様の課題をお持ちの方が多いようでしたら、管理用の専用ツールを作る
ことも考えています。 ぜひ皆さんのご意見をお聞かせください。 よろしく
お願いいたします。
――――――――――――――――――――――――――――――――――――
〒316-0024 茨城県 日立市 水木町 1-11-10 高木太郎
電話・ファクシミリ:0294-52-6787
電子メール:aaa1...@pop06.odn.ne.jp


MLホームページ: https://www.freeml.com/delphi-users

----------------------------------------------------------------------
スマホアプリ版で100万ダウンロード突破の
「キャプテン翼ZERO~決めろ!ミラクルシュート~」
HTML5ゲームプラットフォーム「ゲソてん byGMO」にて、
PCブラウザ版を好評配信中!
https://gesoten.com/games/genre/sports/tsubasa-zero
------------------------------------------------------[freeml byGMO]--

あなたの街のチラシがいつでも無料で見放題!
チラシをクリックしてチラシが拡大されたらポイントゲット♪
まずはかんたん登録♪ -ポイントタウン-
https://www.pointtown.com/ptu/rd.cgi?cid=8912
----------------------------------------------------------------------

7of9

unread,
Jul 25, 2019, 7:58:52 PM7/25/19
to delphi...@freeml.com

7of9です。

> 皆さんならモジュールa1とa2、b1とb2をすべて維持・保守なさいますか?

自分の管理コードではすべてのモジュール(ユニット、クラスファイル)それぞれにバージョンを付けて管理します。
バージョン管理はGitなどを使い、コミットメッセージでそれぞれのバージョン表記を含めます。
過去のバージョンのソースはGitから取得可能です。

また、ソースの先頭に変更内容を記載しています。バージョンごとの変更概要はここで確認します。
(Gitコミットを探すよりも確認時間がかからない、という理由です。Gitを探すきこともできます)。

ソフトへの適用は、ソフトのリリースをすることが決まった時点で適用し、しばらく動作検証をします。
出荷済で、再リリースタイミングがないソフトは古いままです。

最新版だけ管理、よりはバージョン管理をしておく方が将来のトラブル回避という点では大切ではないか、と考えています。
最新版でエンバグした場合、古いバージョンに一旦戻して動作テスト、もしやすいですね。
保守時間を短くできます。


7of9
【重要】必ずお読みください
■freeml byGMOサービス終了のお知らせ■
2019年12月2日(月)12:00をもちまして、
サービスの提供を終了させていただきます。
詳しくはこちら
http://ck.freeml.com/rd.php?cid=11272

7of9

unread,
Jul 25, 2019, 8:07:54 PM7/25/19
to delphi...@freeml.com
7of9です。


先程の方法で管理しているモジュール(ユニット、クラスファイル)は、一つのフォルダ(元)で管理しています。

そのフォルダからそれぞれのプロジェクトフォルダへ上書きして使用します。

こうした場合、「どのプロジェクトにどのバージョンのモジュールを使用している?」かを確認する必要があります。
ツールはC++ Builderで作りました。

ツールによって、各プロジェクトの使用モジュールのバージョンが数秒で確認できます。
ソフト変更前にツールでモジュールバージョンを確認し、古ければ管理フォルダから取得します。

7of9
スマホアプリ版で100万ダウンロード突破の
「キャプテン翼ZERO~決めろ!ミラクルシュート~」
HTML5ゲームプラットフォーム「ゲソてん byGMO」にて、
PCブラウザ版を好評配信中!
https://gesoten.com/games/genre/sports/tsubasa-zero

高木太郎

unread,
Jul 27, 2019, 12:47:57 AM7/27/19
to delphi...@freeml.com
こんにちは、イマジオムの高木です。 今回も長文になってしまいました。
皆さんすみません。

>>  今回お尋ねしたいのは、皆さんが、どのようにモジュール(ユニット、クラス、
>> ライブラリなど)のバージョンを管理なさっているのか、あるいはモジュールの
>> バージョンを管理するのに良い方法はないのかということです。

>>  ちなみに高木は、旧バージョンのモジュール(私の場合はユニット単位で
>> 管理しています)を維持・保守することを嫌い、モジュールをバージョン
>> アップするたびに、既存のすべてのアプリケーションを最新モジュールで
>> 再ビルドしていました。 しかしアプリケーションの数が増え、モジュールの
>> バージョンアップも頻繁に必要になると、再ビルドの手間が無視できなく
>> なってきました。 そこで「実際に再ビルドしなくても、その気になれば
>> いつでも再ビルドすることができる」管理方法を見つけて移行しようかと考え、
>> 今回のお尋ねをした次第です。

7of9 さん:
>> 皆さんならモジュールa1とa2、b1とb2をすべて維持・保守
>> なさいますか?
>
> 自分の管理コードではすべてのモジュール(ユニット、クラスファイル)
> それぞれにバージョンを付けて管理します。バージョン管理はGitなどを
> 使い、コミットメッセージでそれぞれのバージョン表記を含めます。
> 過去のバージョンのソースはGitから取得可能です。
>
> また、ソースの先頭に変更内容を記載しています。バージョンごとの
> 変更概要はここで確認します。(Gitコミットを探すよりも確認時間が
> かからない、という理由です。Gitを探すきこともできます)。
>
> ソフトへの適用は、ソフトのリリースをすることが決まった時点で適用し、
> しばらく動作検証をします。出荷済で、再リリースタイミングがない
> ソフトは古いままです。

 バージョン管理の具体的な方法を詳しく紹介してくださり、ありがとう
ございます。 とても参考になります。

> 最新版だけ管理、よりはバージョン管理をしておく方が将来の
> トラブル回避という点では大切ではないか、と考えています。
> 最新版でエンバグした場合、古いバージョンに一旦戻して動作
> テスト、もしやすいですね。保守時間を短くできます。

 こちらもうなづけます。 旧バージョンを捨てたり、現在きちんと
動いているアプリケーションのモジュールを差し替えたりするのには、
かなりの勇気が要ります。 実際私も怖いので、旧バージョンの
モジュールも、捨てずに全部取ってあります。

 7of9 さんの方法では、アプリケーションをバージョンアップ
する際、必要に迫られなければモジュールを最新版に差し替えないと
いうことかと理解しました。 裏を返すと、アプリケーションを
バージョンアップするたび、個々のモジュールごとに「差し替える
必要があるかどうか」を調べておられるものと思いましたが、
この作業は大変ではありませんか?


> 先程の方法で管理しているモジュール(ユニット、クラスファイル)は、
> 一つのフォルダ(元)で管理しています。そのフォルダからそれぞれの
> プロジェクトフォルダへ上書きして使用します。
>
> こうした場合、「どのプロジェクトにどのバージョンのモジュールを
> 使用している?」かを確認する必要があります。ツールはC++ Builderで
> 作りました。ツールによって、各プロジェクトの使用モジュールの
> バージョンが数秒で確認できます。ソフト変更前にツールでモジュール
> バージョンを確認し、古ければ管理フォルダから取得します。

 同じようなツール、私も作って使っています(笑) やはり皆さん工夫
されているんですね。

 高木のツールは、プロジェクトが使っている自作ユニットを網羅的に
調べ、最新でないものは「最新ユニット」フォルダに置いてある最新
ユニットで上書きします。 しかし上記の「差し替える必要があるか
どうか」を調べているわけではないので、場合によってはせっかく
動いているアプリケーションが動かなくなる心配もあり、ヒヤヒヤ
しながらこの作業を行っています。 この「ヒヤヒヤ」を避けることの
できる方法が見つかるといいのですが……
――――――――――――――――――――――――――――――――――――
〒316-0024 茨城県 日立市 水木町 1-11-10 高木太郎
電話:0294-52-6787
電子メール:aaa1...@pop06.odn.ne.jp


MLホームページ: https://www.freeml.com/delphi-users

----------------------------------------------------------------------
【重要】必ずお読みください
■freeml byGMOサービス終了のお知らせ■
2019年12月2日(月)12:00をもちまして、
サービスの提供を終了させていただきます。
詳しくはこちら
http://ck.freeml.com/rd.php?cid=11272

hosokawa

unread,
Jul 28, 2019, 10:23:54 PM7/28/19
to delphi...@freeml.com
高木さん

こんにちは、細川です。

弊社では Git (を使ったホスティングサイト GitHub / BitBucket) を使って管理して
います。

たとえば、今回のような場合は、ライブラリを管理するリポジトリを作ります。

そして、あるアプリケーション Foo でそのライブラリを使用する場合は、ライブラリ
の Master ブランチから Fork してローカルに Foo 用のブランチを作成します。

こうすると、Fork したブランチ上のライブラリは他からの影響を受けなくなるので、
その時点での Foo を永続的にビルド可能になります。

Git では、Fork したブランチで変更があった場合、元のライブラリに対して適用する
ことも可能ですし、逆に Master ブランチの変更を Fork したブランチに適用すること
も可能です。

ただライブラリの変更は多大な影響があるので、テストコード(Delphi であれば
DUnitX による Unit Test)も一緒に開発しておくと良いと思います。

Git については色々解説がありますが「マンガでわかるGit」が一番解りやすいと思い
ます(が、無料で読めるのは12話まで)。
https://next.rikunabi.com/journal/tag/webdesign-manga/page/2/


また先般のアナウンス通り、Delphi-ML は Goole Groups に移行していますので、今後
はそちらをご利用ください。

よろしくお願いいたします。
Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi

[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------

7of9

unread,
Jul 28, 2019, 10:58:32 PM7/28/19
to delphi...@freeml.com

> 7of9 さんの方法では、アプリケーションをバージョンアップ
> する際、必要に迫られなければモジュールを最新版に差し替えないと
> いうことかと理解しました。 裏を返すと、アプリケーションを
> バージョンアップするたび、個々のモジュールごとに「差し替える
> 必要があるかどうか」を調べておられるものと思いましたが、
> この作業は大変ではありませんか?

大変かもしれません。
対象数(ソースの数 * 変更回数)が多くなると確認する部分が多くなります。

ソース上部のバージョン履歴に(a) fix bug, (b) 機能追加や変更、の区別はつけています。
アップデートの対象検討の材料にします。

1個のソースにアップデートが5回あると、ソース上部のバージョン履歴の確認に2分はかかるでしょうね。
モジュールの数がN個になるとそのN倍(例: 15個だと30分)の時間を確認だけのためにかけます。
概要だけで分かりにくい場合は、VCSのコミットなどを探し、その5から10倍の時間かかりますが、
その状況は多くはありませんでした。


以下は確認手順の概要です。

1. 対象のソフトの出荷時期から対処内容を検討
(fix bugモジュールのみ適用 or fix bug + 機能追加モジュールも適用)
2. リリースまでのテスト期間を確認し、モジュール更新の順番+テスト期間を検討
3. 逐次適用して、エンバグしてないことを確認


> ヒヤヒヤしながらこの作業を行っています。 この「ヒヤヒヤ」を避けることの
>できる方法が見つかるといいのですが……

小さな機能であれば、実装しているテストを走らせながらエンバグしないことを確認します。
大きな機能になると、実際にテスト期間をきちんととって、エンバグしないことを確認します。

一方で、共有モジュールであるため、リリースが決まる以前に他のソフトでテストができています。
その点から、リリース直前に適用してエンバグする可能性は低いのですが、慎重に適用したほうがいいでしょうね。

適用については、メンテを長く続けるソフトの場合、いずれかの時点で適用していくことになりそうです。
適用インターバルが長くなると、適用時にトラブルも増えるでしょうね。
落ち着いた時期に対処できれば、失敗も減らせると期待しています。


余談ですが、下記の本はテスト関連の勉強に良いです。時間がありましたらご一読をおすすめします。
「テスト駆動開発による組み込みプログラミング ―C言語とオブジェクト指向で学ぶアジャイルな設計」
James W. Grenning


To: 細川さん
この回答は情報の継続性の観点からfreemlにて回答しています。

To: 皆さん
ML移行がすでに済んでいるので、新しい質問は「Google Groups」で投稿しましょう。
こちらで投稿が続くと、管理者様のタスクが増えます。


==============
【重要】必ずお読みください
■freeml byGMOサービス終了のお知らせ■
2019年12月2日(月)12:00をもちまして、
サービスの提供を終了させていただきます。
詳しくはこちら
http://ck.freeml.com/rd.php?cid=11272

高木太郎

unread,
Jul 30, 2019, 8:48:45 PM7/30/19
to delphi...@freeml.com
 こんにちは、イマジオムの高木です。 細川さん、7of9 さん、
大変詳しいお返事をありがとうございます。 長文になりがちなので
お返事はお時間のある時でお願いします。

 旧MLで投稿してすみませんでした。 次回のスレッドからは
新ML(Google Groups)を使いますが、今回はこのまま走らせて
ください。

 #このスレッドが秋まで続いたりして……

細川さん:
> 弊社では Git (を使ったホスティングサイト GitHub / BitBucket) を
> 使って管理しています。
>
> たとえば、今回のような場合は、ライブラリを管理するリポジトリを
> 作ります。
>
> そして、あるアプリケーション Foo でそのライブラリを使用する
> 場合は、ライブラリの Master ブランチから Fork してローカルに
> Foo 用のブランチを作成します。
>
> こうすると、Fork したブランチ上のライブラリは他からの影響を
> 受けなくなるので、その時点での Foo を永続的にビルド可能になります。

> ただライブラリの変更は多大な影響があるので、テストコード(Delphi で
> あれば DUnitX による Unit Test)も一緒に開発しておくと良いと思います。

 ありがとうございます。 [delphi-users:5245] の例(下記)で
書きますと──

#   Foo …… a1,b1,c1
#
#   Bar …… a2,b1,c1
#
#   Hoge …… a2,b2,c1

  1.リポジトリを設け、新旧のモジュールすべて(a1,a2,
    b1,b2,c1)を保存する。

     #どのプロジェクトでどのバージョンのモジュールを
      使っているか、プロジェクトごとにモジュールが改変
      されていないかは、GitHub の機能を使っていつでも
      確認することができる。

     #新旧のユニット間の変更内容は、ソースコードの差分を
      見ることによっていつでも確認することができる。

  2.新たにプロジェクト(Foo,Bar,Hoge)を起こす時には、
    リポジトリから最新のモジュールをコピーして使う。

  3.場合によってはプロジェクト単位でモジュールに手を
    加えることもある。 その場合、当該のプロジェクトや
    テスト専用のプロジェクトを使って充分なテストを行い、
    バグがないことを確認してから、最新バージョンとして
    リポジトリに追加する。

  4.プロジェクトごとに使用するモジュールのバージョンに
    ばらつきが生じるが、必要に迫られなければ最新版に
    差し替えることはしない(7of9 さんの方法と同じ)

──ということですね。

 この方法について、7of9 さんにお尋ねした内容と重なりますが、
4で「必要に迫られ、最新版に差し替える」場合には、やはり
「モジュールのバージョンアップによって既存のプロジェクト
コードが受ける影響」を入念にチェックする必要があるかと
思います。 この作業は大変ではありませんか?


7of9 さん:
>> 7of9 さんの方法では、アプリケーションをバージョンアップ
>> する際、必要に迫られなければモジュールを最新版に差し替えないと
>> いうことかと理解しました。 裏を返すと、アプリケーションを
>> バージョンアップするたび、個々のモジュールごとに「差し替える
>> 必要があるかどうか」を調べておられるものと思いましたが、
>> この作業は大変ではありませんか?
>
> 大変かもしれません。対象数(ソースの数 * 変更回数)が多くなると
> 確認する部分が多くなります。

 やっぱり大変なんですね。

> ソース上部のバージョン履歴に(a) fix bug, (b) 機能追加や変更、の
> 区別はつけています。アップデートの対象検討の材料にします。

 インタフェース仕様が変更されているかどうかを知るためですね。

> 1個のソースにアップデートが5回あると、ソース上部のバージョン
> 履歴の確認に2分はかかるでしょうね。モジュールの数がN個になると
> そのN倍(例: 15個だと30分)の時間を確認だけのためにかけます。
> 概要だけで分かりにくい場合は、VCSのコミットなどを探し、その
> 5から10倍の時間かかりますが、その状況は多くはありませんでした。

 インタフェース仕様の変更は、バグフィックスほど多くないという
ことですね。

> 以下は確認手順の概要です。
>
> 1. 対象のソフトの出荷時期から対処内容を検討
>   (fix bugモジュールのみ適用 or fix bug + 機能追加モジュールも適用)
> 2. リリースまでのテスト期間を確認し、モジュール更新の順番+
>   テスト期間を検討
> 3. 逐次適用して、エンバグしてないことを確認

 よくわかります。


>> ヒヤヒヤしながらこの作業を行っています。 この「ヒヤヒヤ」を
>> 避けることのできる方法が見つかるといいのですが……
>
> 小さな機能であれば、実装しているテストを走らせながらエンバグ
> しないことを確認します。大きな機能になると、実際にテスト期間を
> きちんととって、エンバグしないことを確認します。
>
> 一方で、共有モジュールであるため、リリースが決まる以前に他の
> ソフトでテストができています。その点から、リリース直前に適用して
> エンバグする可能性は低いのですが、慎重に適用したほうがいい
> でしょうね。
>
> 適用については、メンテを長く続けるソフトの場合、いずれかの
> 時点で適用していくことになりそうです。適用インターバルが長く
> なると、適用時にトラブルも増えるでしょうね。落ち着いた時期に
> 対処できれば、失敗も減らせると期待しています。

 これも同感です。


 お二方の意見を伺い──

 ‐モジュールのバージョンアップについて、(イ)バグフィックス
  なのか、(ロ)インタフェースの仕様変更なのかを管理する
  手段があるといい。

 ‐モジュールインタフェースの仕様変更に対し、プロジェクトの
  どの部分が影響を受けるかを検索する手段があるといい。

──ことがわかってまいりました。 いつか手の空いた時、ツール化にも
チャレンジしてみようかと思います。 ここまでありがとうございました。
――――――――――――――――――――――――――――――――――――
〒316-0024 茨城県 日立市 水木町 1-11-10 高木太郎
電話:0294-52-6787
電子メール:aaa1...@pop06.odn.ne.jp


MLホームページ: https://www.freeml.com/delphi-users

----------------------------------------------------------------------
スマホアプリ版で100万ダウンロード突破の
「キャプテン翼ZERO~決めろ!ミラクルシュート~」
HTML5ゲームプラットフォーム「ゲソてん byGMO」にて、
PCブラウザ版を好評配信中!
https://gesoten.com/games/genre/sports/tsubasa-zero
------------------------------------------------------[freeml byGMO]--

「WiMAX(ワイマックス)」ならおトクなGMOとくとくBB。
今なら高額ポイントがもらえます♪
まずはかんたん登録♪ -ポイントタウン-
https://www.pointtown.com/ptu/rd.cgi?cid=9533
----------------------------------------------------------------------

hosokawa

unread,
Jul 31, 2019, 2:21:00 AM7/31/19
to delphi...@freeml.com
高木さん

細川です。

>  旧MLで投稿してすみませんでした。 次回のスレッドからは
> 新ML(Google Groups)を使いますが、今回はこのまま走らせて
> ください。

はい
今後は新しい ML にお願いいたします。


>   2.新たにプロジェクト(Foo,Bar,Hoge)を起こす時には、
>     リポジトリから最新のモジュールをコピーして使う。

コピーというのが Clone なのか Fork なのかによって色々違います。

Fork であれば現状の機能を維持しつつ、↓のような状況でも最新のバージョンをキャッ
チアップ可能です。
https://next.rikunabi.com/journal/wp-content/uploads/2018/03/mwg-iq_006.png

>  ‐モジュールのバージョンアップについて、(イ)バグフィックス
>   なのか、(ロ)インタフェースの仕様変更なのかを管理する
>   手段があるといい。

Git を使う場合、バグフィックスのためのブランチと、インターフェースの仕様変更の
場合のブランチを切って、それぞれ個別に作業し、最終的にどこかのタイミングで
Master ブランチに Marge する、といった感じで作業します。

新たにツールを作る必要性をあまり感じませんが、いかがでしょう?
Regards,
HOSOKAWA Jun
Application Division 3 Manager
embarcadero MVP for Delphi

[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: https://www.freeml.com/delphi-users

----------------------------------------------------------------------
【重要】必ずお読みください
■freeml byGMOサービス終了のお知らせ■
2019年12月2日(月)12:00をもちまして、
サービスの提供を終了させていただきます。
詳しくはこちら
http://ck.freeml.com/rd.php?cid=11272

高木太郎

unread,
Jul 31, 2019, 7:27:01 AM7/31/19
to delphi...@freeml.com
こんばんは、高木です。 細川さん、お忙しいところ、お付き合い
くださいましてありがとうございます。

細川さん:
>>   2.新たにプロジェクト(Foo,Bar,Hoge)を起こす時には、
>>     リポジトリから最新のモジュールをコピーして使う。
>
> コピーというのが Clone なのか Fork なのかによって色々違います。
>
> Fork であれば現状の機能を維持しつつ、↓のような状況でも最新の
> バージョンをキャッチアップ可能です。
> https://next.rikunabi.com/journal/wp-content/uploads/2018/03/mwg-iq_006.png
>
>>  ‐モジュールのバージョンアップについて、(イ)バグフィックス
>>   なのか、(ロ)インタフェースの仕様変更なのかを管理する
>>   手段があるといい。
>
> Git を使う場合、バグフィックスのためのブランチと、インター
> フェースの仕様変更の場合のブランチを切って、それぞれ個別に
> 作業し、最終的にどこかのタイミングで Master ブランチに Marge
> する、といった感じで作業します。
>
> 新たにツールを作る必要性をあまり感じませんが、いかがでしょう?

 こちらの方は、おっしゃるとおり新ツールの必要性はあまり
ないと思います。

 しかしこちら──

>>  ‐モジュールインタフェースの仕様変更に対し、プロジェクトの
>>   どの部分が影響を受けるかを検索する手段があるといい。

──の方は、モジュールを使用するプロジェクト側の問題なので、
ちゃんと構文解析して──

  今使っているモジュールa1をa2に差し替えるのなら、
  プロジェクトのここを直しなさい(直さなくていいかどうか、
  確かめなさい)

──と網羅的に指摘してくれるツールがあれば便利であるように
思っています。
Reply all
Reply to author
Forward
0 new messages