From 2bbe9d9877a40c2df830451c4b840e3097e31186 Mon Sep 17 00:00:00 2001 From: Jerome Reybert <jreybert@gmail.com> Date: Sun, 6 Dec 2015 23:06:58 +0100 Subject: [PATCH] autoload/git.vim: add git version functions --- autoload/magit/git.vim | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/autoload/magit/git.vim b/autoload/magit/git.vim index 6e5f12f..222c9b8 100644 --- a/autoload/magit/git.vim +++ b/autoload/magit/git.vim @@ -1,5 +1,21 @@ let s:git_cmd="GIT_CONFIG=/dev/null GIT_CONFIG_NOSYSTEM=1 XDG_CONFIG_HOME=/ git" +function! magit#git#get_version() + if ( !exists("s:git_version") ) + let s:git_version = matchlist(system(s:git_cmd . " --version"), + \ 'git version \(\d\+\)\.\(\d\+\)\.\(\d\+\)\.\(\d\+\)\.\(g\x\+\)')[1:5] + endif + return s:git_version +endfunction + +function! magit#git#is_version_sup_equal(major, minor, rev) + let git_ver = magit#git#get_version() + return ( ( a:major > git_ver[0] ) || + \ (a:major >= git_ver[0] && a:minor > git_ver[1] ) || + \ (a:major >= git_ver[0] && a:minor >= git_ver[1] && a:rev >= git_ver[2] ) + \ ) +endfunction + " magit#git#get_status: this function returns the git status output formated " into a List of Dict as " [ {staged', 'unstaged', 'filename'}, ... ] -- GitLab