Den*_*aud 5 git github pull-request travis-ci
我想在travis上列出拉取请求中修改的所有文件.
我试过$(git diff --name-only $TRAVIS_PULL_REQUEST_BRANCH $(git merge-base $TRAVIS_PULL_REQUEST_BRANCH master))但git不知道TRAVIS_PULL_REQUEST_BRANCH,因为它是在一个分叉的回购.
我还尝试了git rev-list和$ TRAVIS_COMMIT_RANGE但它还包括主分支上的新提交.
知道如何获取由PR专门修改的文件吗?
你快到了.
$TRAVIS_PULL_REQUEST_BRANCH在此方案中没有理由使用环境变量.
travis中的源树将是您的pull请求合并回最近的目标分支($TRAVIS_BRANCH可能master).也就是说,HEAD您的拉取请求是否合并到$ TRAVIS_BRANCH中.
你想要的只是拉取请求和$TRAVIS_BRANCH可以检索的拉取请求之间的变化
$(git diff --name-only HEAD $(git merge-base HEAD $TRAVIS_BRANCH))
Run Code Online (Sandbox Code Playgroud)
点阵点符号或更短
git diff --name-only HEAD...$TRAVIS_BRANCH
Run Code Online (Sandbox Code Playgroud)
谢谢@ostrokach
如果要检查内容,只考虑修改和添加的文件也很有趣
git diff --name-only --diff-filter=AM HEAD...$TRAVIS_BRANCH
Run Code Online (Sandbox Code Playgroud)