美文网首页
Gerrit rest api 获取分支

Gerrit rest api 获取分支

作者: 喵_3067 | 来源:发表于2021-11-10 17:42 被阅读0次

    ```

    # pip install pygerrit2

    from pygerrit2 import GerritRestAPI, HTTPBasicAuth, HTTPDigestAuth

    url = {'url':'http://gerritIP:8080/', 'user':'userName', 'password':'passWord'}

    #password是Gerrit的账号密码,不是Gerrit-设置里面的http密码

    auth = HTTPBasicAuth(url['user'], url['password'])

    rest = GerritRestAPI(url['url'], auth)

    repo1 = "a_b_c"

    repo2 = "a%2Fa%2Fc"

    #如果仓库名有斜杠,需要写成url的特定字符:%F

    all_data = rest.get("/projects/%s/branches/" % repo1)

    for data in all_data:

         branch = data["ref"]

        print(branch)

    #会输出分支list,但是会连权限仓的一起输出,

    就是获取的仓库为A,A的权限仓为B,B里面对某一分支C做了权限设置,而A并没有这个分支,那么获取到的branch list,也会展示出这个分支C

    Gerrit 获取指定仓库的所有分支:

    rest api 的方式,获取到的branches是连带权限仓的,如果进行所有仓库分支盘点的时候,显然通过web端一个个看或者将代码获取下来,再通过git branch -a查看,也是比较麻烦的,那么还有一种方法,稍微简单一些,不用将代码下载下来:

    1. 新建空目录

    2.git init

    3. git add remote test <需要获取分支list的远程仓库> | 如:git remote add test ssh://test.gerrit.com:29418/test_repo

    4. git remote show test

    就可以看到这个仓库的分支了

    然后把这个分支删掉,再以同样的方式获取下一个仓库

    ![image.png](https://img.haomeiwen.com/i14259740/612ec602d0590106.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    或者,直接git add remote test2 <url2> && git remote show test2 也可以看到url2的分支,这样就不用删除的操作。

    ```

    更简便方法  在.git同级目录下,使用:git ls-remote RepoUrl

    相关文章

      网友评论

          本文标题:Gerrit rest api 获取分支

          本文链接:https://www.haomeiwen.com/subject/yglizltx.html