Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
232 views
in Technique[技术] by (71.8m points)

php - Can I pull a specific commit with composer?

Is it possible to fetch a certain pull request with composer? Like a specific commit from a fork? What would the directive look like?

edit: context This would be helpful so I don't have to wait for a new tag to be created. I am certain it will be merged, however I don't know if when then devs will get a chance and I'd rather not put off the work flow I am in...

edit 2: now that I think about it, surely when developers make a fork of a public package they might need to test their own fork within a project or two before even pushing a pull request

edit 3: example I'm trying to pull this https://github.com/valorin/dispatcher/commit/c566eb6902f378abd59943e7ea09f61e734c8960 to no avail, I tried:

    "valorin/dispatcher": "develop#c566eb6902f378abd59943e7ea09f61e734c8960"

and

    "indatus/dispatcher": "develop#c566eb6902f378abd59943e7ea09f61e734c8960"

edit 4: great success

"require": {
        "indatus/dispatcher": "dev-develop#c566eb6"
}

adding the dev- prefix did the trick

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can't reference a pull request directly, but you can always get hold of a specific commit. You just need to find the commit hash that the pull request introduces. (If you're using github it's in the commits tab).

Then you'll need to use something like this in your composer.json -

 "require": {
    "mysoftware/thesoftware": "dev-master#3f38376d"
}

Where mysoftware/thesoftware is the usual vendor/software name thing you would use, and the part after the '#' on the right-hand side is the specific commit hash you want.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...