5

ローカルのSVNリポジトリを使用してcomposerを実行しようとしています。必要なリポジトリをヒットできますが、composerは/branchURLの末尾にを追加し続けます。

これをオーバーライドするにはどうすればよいですか?

ドキュメントは次のとおりです。

私が持っているものの例

"repositories": [
    {
        "type": "vcs",
        "url": "http://host.com/externals/project",
        "trunk-path": "trunk",
        "branches-path": "branches",
        "tags-path": "tags",
        "reference": "symfony/symfony"
    }
],
"require": {
    "project/project": "svn-project"
}

出力は次のようなものです。

[RuntimeException]                                                                                                                                                      
Repository http://host.com/externals/project/version could not be processed, 
svn: URL 'http://host.com/externals/project/version/branches' 
non-existent in that revision 

これが私のSubversionレイアウトです:

http://host.com/externals/project/version
  • 外部はSymfonyのようなライブラリです
  • プロジェクトはSymfonyです
  • バージョンは2.1.2です

したがって、私のsvnリポジトリは次のようになります。

http://host.com/externals/symfony/2.1.2

何かご意見は?

これが私が使用している外部ライブラリのストアで働いている会社です

アップデート:

リポジトリを次のように変更しました:

http://host.com/externals/symfony/trunk/ <-- empty directory
http://host.com/externals/symfony/branches/ <-- empty directory
http://host.com/externals/symfony/trunk/2.1.2 <-- holds the Symfony 2.1.2 release code

今、私はこのメッセージを受け取ります:

Reading composer.json of http://host.com/externals/symfony/ (2.1.2)
Importing tag 2.1.2 (2.1.2.0)

しかし、それでも私のsvnリポジトリではなくgithubリポジトリからプルします。

Satisも読んだ

しかし、私がそこで行う場合、これをどこでホストしますか?

  • どのプロジェクトですか?
  • 私のSVNリポジトリでは?
  • 他の場所?
4

1 に答える 1

4

Composerは、、、、およびの一般的なリポジトリレイアウトに固執することを前提としているよう/trunkです。さらに、プロジェクトの完全なパスではなく、リポジトリルートへのURLを入力する必要があります。プロジェクト固有のパスは。で指定します。/branches/tagspackage-path

ドキュメントComposerを参照してください| Subversionオプション

Subversionにはブランチとタグのネイティブな概念がないため、Composerはデフォルトでコードが、、およびにあると想定$url/trunk$url/branches ます$url/tags。リポジトリのレイアウトが異なる場合は、それらの値を変更できます。

于 2012-10-24T07:58:10.370 に答える