From 73a8465bce41416dfa5a0a1aa5fb791a9ef6a0ed Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Thu, 26 Sep 2019 01:32:34 +0800 Subject: [PATCH] Add command to manage pull request * Add command to create pull request * Update * Update * Update --- .SpaceVim.d/autoload/SpaceVim/dev/pull.vim | 41 ++++++++++++++++++++++ .SpaceVim.d/init.vim | 2 ++ 2 files changed, 43 insertions(+) create mode 100644 .SpaceVim.d/autoload/SpaceVim/dev/pull.vim diff --git a/.SpaceVim.d/autoload/SpaceVim/dev/pull.vim b/.SpaceVim.d/autoload/SpaceVim/dev/pull.vim new file mode 100644 index 000000000..a757bf9ca --- /dev/null +++ b/.SpaceVim.d/autoload/SpaceVim/dev/pull.vim @@ -0,0 +1,41 @@ +function! SpaceVim#dev#pull#create(branch) + let title = input('title:') + call inputsave() + let username = input('github username:') + let password = input('github password:') + call inputrestore() + let pull = { + \ 'title' : title, + \ 'head' : 'wsdjeg:' . a:branch, + \ 'base' : 'master' + \ } + let respons = github#api#pulls#create('SpaceVim', 'SpaceVim', username, password, pull) + normal! : + if !empty(respons) && get(respons, 'number', 0) > 0 + echon 'Pull request #' . respons.number . ' has been created!' + elseif !empty(respons) + let msg = get(respons, 'message', '') + echon 'Failed to create pull request ' . respons.number . ':' . msg + endif +endfunction + + +function! SpaceVim#dev#pull#merge(id) abort + let commit_title = input('commit title:') + call inputsave() + let username = input('github username:') + let password = input('github password:') + call inputrestore() + let commit = { + \ 'commit_title' : commit_title, + \ 'merge_method' : 'squash' + \ } + let respons = github#api#pulls#Merge('SpaceVim', 'SpaceVim', a:id, commit, username, password) + normal! : + if !empty(respons) && has_key(respons, 'sha') + echon 'Pull request #' . a:id . ' has been merged!' + elseif !empty(respons) + let msg = get(respons, 'message', '') + echon 'Failed to merge pull request ' . a:id . ':' . msg + endif +endfunction diff --git a/.SpaceVim.d/init.vim b/.SpaceVim.d/init.vim index bf8ffb538..bae31902f 100644 --- a/.SpaceVim.d/init.vim +++ b/.SpaceVim.d/init.vim @@ -30,4 +30,6 @@ endfunction call SpaceVim#mapping#space#regesit_lang_mappings('vader', function('s:language_specified_mappings')) call SpaceVim#plugins#a#set_config_name('.projections.json') command! -nargs=1 IssueEdit call SpaceVim#dev#issuemanager#edit() +command! -nargs=1 PullCreate call SpaceVim#dev#pull#create() +command! -nargs=1 PullMerge call SpaceVim#dev#pull#merge()