From ebaeb7b4ea5d79bd67f029ae916f9753c730367b Mon Sep 17 00:00:00 2001 From: gongfuxiang Date: Mon, 21 Aug 2017 22:22:49 +0800 Subject: [PATCH] =?UTF-8?q?git=E7=89=88=E6=9C=AC=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mogui/common/function.py | 26 ++++++++++++++++++++++++++ mogui/controller/release.py | 6 +++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/mogui/common/function.py b/mogui/common/function.py index b8d2c70..2b6360e 100644 --- a/mogui/common/function.py +++ b/mogui/common/function.py @@ -10,6 +10,7 @@ from django.http import HttpResponse from django.conf import settings +import commands,re try : import json # python >= 2.6 except ImportError: @@ -21,6 +22,31 @@ reload(sys) sys.setdefaultencoding('utf8') +# git版本号大小判断 +# @author Devil +# @version 0.0.1 +# @blog http://gong.gg/ +# @date 2017-08-21 +# @param [list] [版本号(如: [1,3,6])] +# @return [boolean] [系统版本大于参数版本True, 则False] +def git_version_determine_size(ver_list) : + if len(ver_list) <= 0 : + return False + (status, output) = commands.getstatusoutput('git --version') + if status == 0 : + re_list = re.compile(r'[1-9]\d*').findall(output) + re_count = len(re_list) + print re_list + if re_count > 0 : + for index in range(len(ver_list)) : + if index < re_count : + if int(re_list[index]) < int(ver_list[index]) : + return False + else : + return False + return True + + # 获取项目临时操作地址 # @author Devil # @version 0.0.1 diff --git a/mogui/controller/release.py b/mogui/controller/release.py index 965763e..2432a20 100644 --- a/mogui/controller/release.py +++ b/mogui/controller/release.py @@ -172,7 +172,11 @@ def get_version_list(request) : return function.ajax_return_exit('git拉取分支代码失败', -13, [], output) # 获取版本列表 - (status, output) = commands.getstatusoutput('cd '+git_dir_address+';git log --pretty=format:"%h{|}%s{|}[%cd]{|}<%an>" --date=format:"%Y-%m-%d %H:%M:%S" -30') + if function.git_version_determine_size([2,4]) == True : + date_format = '--date=format:"%Y-%m-%d %H:%M:%S"' + else : + date_format = '' + (status, output) = commands.getstatusoutput('cd '+git_dir_address+';git log --pretty=format:"%h{|}%s{|}[%cd]{|}<%an>" '+date_format+' -30') if status == 0 : version_list = function.get_version_list(output) if len(version_list) == 0 : -- GitLab