私は主に git リポジトリ (ローカルとリモートの両方) を管理するために composer を使用します。Composer は、過去のすべてのコミットで composer.json のタグ付きインスタンスをすべて読み取ります。
Reading composer.json of tomekwi/composer-installers (v1.0.0)
Importing tag v1.0.0 (1.0.0.0)
Reading composer.json of tomekwi/composer-installers (v1.0.1)
Importing tag v1.0.1 (1.0.1.0)
Reading composer.json of tomekwi/composer-installers (v1.0.2)
Importing tag v1.0.2 (1.0.2.0)
Reading composer.json of tomekwi/composer-installers (v1.0.3)
Importing tag v1.0.3 (1.0.3.0)
Reading composer.json of tomekwi/composer-installers (v1.0.4)
Importing tag v1.0.4 (1.0.4.0)
Reading composer.json of tomekwi/composer-installers (v1.0.5)
Importing tag v1.0.5 (1.0.5.0)
Reading composer.json of tomekwi/composer-installers (v1.0.6)
Importing tag v1.0.6 (1.0.6.0)
Reading composer.json of tomekwi/composer-installers (1.x)
Importing branch 1.x (1.x-dev)
...etc
より大きなリポジトリには時間がかかります。さらに、github で問題が発生します ( https://circleci.com/docs/composer-api-rate-limit )
私の理解が正しければ、その目的は各 composer.json ファイルからバージョン番号を抽出することです。composer がタグ名だけを読み取って正しいバージョンを選択した場合、はるかに迅速になります。リクエスト"tomekwi/composer-installers": "~1.0"
は次のようになります。
Reading tags of tomekwi/composer-installers
- Picked matching tag (v1.0.6)
Reading composer.json of tomekwi/composer-installers (v1.0.6)
- Installing tomekwi/composer-installers (v1.0.6)
..そして、30 分ではなく 0.5 秒かかります。
そうすることは可能ですか?