2014-10-08 5 views
0

많은 경우 버그를 수정하거나 새로운 기능을 기여 항목으로 추가하기 위해 일부 저장소에서 분기를 만들었습니다. 이 경우 PR을 수행 할 때 마스터 리포지토리의 개발자가 가끔 병합 및 테스트를 수행하는 데 걸리는 시간이 걸리므로이 모든 변경 사항을 내가 필요할 때 테스트해야 할 때가 대부분입니다. 실행할 수 있는.원래 저장소 대신 포크 사용

포크를 만들고 수정 한 경우는 SpBowerBundle입니다. PR을했는데 개발자가 테스트를 수행하고 병합을 기다릴 수 없습니다. 유일한 해결책은 내가 수행 한 포크에 composer.json을 지정하는 것이지만 어떻게하지는 않는 것입니다.

이것은 forked repository이며 이것은 the commit입니다. 여기 또한 내 composer.json 내용이므로 :

{ 
    "name": "NewProject", 
    "license": "MIT", 
    "type": "project", 
    "description": "NewProject", 
    "autoload": { 
     "psr-4": { 
      "": "src/" 
     } 
    }, 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.5.*", 
     "doctrine/orm": "~2.2,>=2.2.3", 
     "doctrine/doctrine-bundle": "~1.2", 
     "twig/extensions": "~1.0", 
     "symfony/assetic-bundle": "~2.3", 
     "symfony/swiftmailer-bundle": "~2.3", 
     "symfony/monolog-bundle": "~2.4", 
     "sensio/distribution-bundle": "~3.0", 
     "sensio/framework-extra-bundle": "3.0.*@dev", 
     "friendsofsymfony/user-bundle": "[email protected]", 
     "friendsofsymfony/jsrouting-bundle": "2.0.*@dev", 
     "friendsofsymfony/rest-bundle": "1.5.*@dev", 
     "jms/serializer-bundle": "0.13.*@dev", 
     "jms/di-extra-bundle": "1.4.*@dev", 
     "jms/security-extra-bundle": "dev-master", 
     "knplabs/knp-paginator-bundle": "2.4.*@dev", 
     "knplabs/knp-menu": "2.0.*@dev", 
     "knplabs/knp-menu-bundle": "2.0.*@dev", 
     "stof/doctrine-extensions-bundle": "1.2.*@dev", 
     "nelmio/api-doc-bundle": "2.7.*@dev", 
     "genemu/form-bundle": "2.2.*@dev", 
     "misd/phone-number-bundle": "~1.0", 
     "liip/monitor-bundle": "dev-master", 
     "raulfraile/ladybug-bundle": "~1.0", 
     "sp/bower-bundle": "0.12.*@dev", 
     "h4cc/alice-fixtures-bundle": "dev-bug/30-command-reference" 
    }, 
    "require-dev": { 
     "sensio/generator-bundle": "~2.3" 
    }, 
    "scripts": { 
     "post-root-package-install": [ 
      "SymfonyStandard\\Composer::hookRootPackageInstall" 
     ], 
     "post-install-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles", 
      "Liip\\MonitorBundle\\Composer\\ScriptHandler::checkHealth" 
     ], 
     "post-update-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles", 
      "Liip\\MonitorBundle\\Composer\\ScriptHandler::checkHealth" 
     ] 
    }, 
    "config": { 
     "bin-dir": "bin" 
    }, 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-web-dir": "web", 
     "branch-alias": { 
      "dev-master": "2.5-dev" 
     }, 
     "symfony-assets-install": "symlink" 
    } 
} 

은 어떻게 갈래 저장소에 내 작곡가 포인트합니까? 이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

업데이트 나는이 composer.json 파일로 변경하지만 여전히 포크에서 업데이트되지 만든 @Cerad 제안 후

, 내가 무슨 일을하고 있어요?

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "https://github.com/Spea/SpBowerBundle.git" 
    } 
], 
"require": { 
    .... 
    "sp/bower-bundle": "dev-master", 
}, 
+0

완벽하게 해결 된 답변으로 생각하지 마십시오.하지만 자신의 패키지 버전을 packagist에 올려 놓은 다음 작곡가를 자신의 패키지로 지정하는 것이 좋습니다. 이렇게하면 작곡가 설정을 관리하고, 가장 최근의 변경 사항을 사용하고, 패키지 관리자가 기다리는 동안 자신의 일을 처리 할 수 ​​있습니다. – Chad

+0

또는 github 저장소에 직접 액세스 할 때 작곡가 설명서를 읽을 수 있습니다. – Cerad

+0

@Cerad 당신은 [this] (https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository)와 같은 것을 의미합니까? – ReynierPM

답변

2

는 원래 composer.json을 가지고 제공하는 repositories에 저장소를 추가하고, 대신 그것을 사용해야합니다.

{ 
    .... 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "https://github.com/paquitodev/SpBowerBundle" 
     } 
    ], 
    .... 
} 
관련 문제