python-gitlab 之更改 merge_method

參考:html

https://docs.gitlab.com/ee/api/projects.htmlpython

https://python-gitlab.readthedocs.io/en/stable/gl_objects/projects.html#git

 

Project merge method

There are currently three options for merge_method to choose from:api

  • merge: A merge commit is created for every merge, and merging is allowed as long as there are no conflicts.dom

  • rebase_merge: A merge commit is created for every merge, but merging is only allowed if fast-forward merge is possible. This way you could make sure that if this merge request would build, after merging to target branch it would also build.gitlab

  • ff: No merge commits are created and all merges are fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.測試

 

 

 

測試

#!/usr/bin/env python3

import gitlab
import sys
import os
import subprocess
import xml.dom.minidom
from xml.dom.minidom import parse

url = "http://192.168.1.100:12345"
token = 'DFnkTaxn9sk382onzEzw'

if __name__ == '__main__':

    gl = gitlab.Gitlab(url, private_token=token)
    print("Connect to gitlab url: " + url)

    project = gl.projects.get("thirdpart/spdk")
    print(project)
    print(project.merge_method)

    project.merge_method = 'merge'
    project.save()
    print("======> set to 'merge'")
    project = gl.projects.get("thirdpart/spdk")
    print(project.merge_method)

    project.merge_method = 'ff'
    project.save()
    print("======> set to 'ff'")
    project = gl.projects.get("thirdpart/spdk")
    print(project.merge_method)

    project.merge_method = 'rebase_merge'
    project.save()
    print("======> set to 'rebase_merge'")
    project = gl.projects.get("thirdpart/spdk")
    print(project.merge_method)

    sys.exit(0)

 

Log

 

完。ui

相關文章
相關標籤/搜索