Git PullRequest job failed. Couldn't find any revision to build. Verify the repository and branch configuration for this job

后端 未结 11 1562
你的背包
你的背包 2020-12-09 08:35

Yesterday my pullrequest jobs failed with the following output:

11:07:41  > git rev-parse origin/${sha1}^{commit}
11:07:41  > git rev-parse ${sha1}^{co         


        
11条回答
  •  天涯浪人
    2020-12-09 09:21

    I fixed this same error message by using the refs/heads/ syntax in the "Branches to build - branch specifier".

    For example, instead of origin/master, I put refs/remotes/origin/master as the branch specifier to fix the job.

    (In my case, I'm not sure what caused this error message to appear, as the job was previously working fine with just origin/master as the branch specifier. It may have been a related update or configuration change...)


    Note that you can use git show-ref command to list references in a local repository, e.g.

    git show-ref master
    28f1f186807d1316bf1c59631d6d8825a5087e27 refs/heads/master
    28f1f186807d1316bf1c59631d6d8825a5087e27 refs/remotes/origin/master
    

    Also, the "?" help documentation next to 'Branch Specifier' field also supports this answer as the safest option for specifying the branch specifier to make sure the expected branch is unambiguous:

    Specify the branches if you'd like to track a specific branch in a repository. If left blank, all branches will be examined for changes and built.
    
    The safest way is to use the refs/heads/ syntax. This way the expected branch is unambiguous.
    
    Possible options:
    
    
    Tracks/checks out the specified branch. If ambiguous the first result is taken, which is not necessarily the expected one. Better use refs/heads/.
    E.g. master, feature1,...
    
    refs/heads/
    Tracks/checks out the specified branch.
    E.g. refs/heads/master, refs/heads/feature1/master,...
    
    /
    Tracks/checks out the specified branch. If ambiguous the first result is taken, which is not necessarily the expected one.
    Better use refs/heads/.
    E.g. origin/master
    
    remotes//
    Tracks/checks out the specified branch.
    E.g. remotes/origin/master
    
    refs/remotes//
    Tracks/checks out the specified branch.
    E.g. refs/remotes/origin/master
    
    
    This does not work since the tag will not be recognized as tag.
    Use refs/tags/ instead.
    E.g. git-2.3.0
    
    refs/tags/
    Tracks/checks out the specified tag.
    E.g. refs/tags/git-2.3.0
    
    
    Checks out the specified commit.
    E.g. 5062ac843f2b947733e6a3b105977056821bd352, 5062ac84, ...
    
    ${ENV_VARIABLE}
    It is also possible to use environment variables. In this case the variables are evaluated and the result is used as described above.
    E.g. ${TREEISH}, refs/tags/${TAGNAME},...
    
    
    The syntax is of the form: REPOSITORYNAME/BRANCH. In addition, BRANCH is recognized as a shorthand of */BRANCH, '*' is recognized as a wildcard, and '**' is recognized as wildcard that includes the separator '/'. Therefore, origin/branches* would match origin/branches-foo but not origin/branches/foo, while origin/branches** would match both origin/branches-foo and origin/branches/foo.
    
    :
    The syntax is of the form: :regexp. Regular expression syntax in branches to build will only build those branches whose names match the regular expression.
    

提交回复
热议问题