python 用于git的脚本

本文介绍了一个Python脚本,用于从Git仓库中提取指定版本标签之间的提交记录,包括提交标题、修复的问题编号及变更ID等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



'''
Readme

python commitmessage.py 19.3.A.0.12 19.3.A.0.13

oldtag:19.3.A.0.12 
newtag:19.3.A.0.13


'''




import os
import os.path
import string
import sys
import commands

class ParseCommit:
   def parse(self,alldms,commit):
       self.dms = -1
       self.changeid = -1
       title = " - "+commit[4].lstrip()
       if ( len(title) > 70):
           title = title + "<<<<<<<<too long"
       print " - "+commit[4].lstrip(),
       for line in commit:
           if line.find("FIX=") != -1:
                self.dms = line
                alldms.append(line.lstrip())
                #print line.lstrip()
                continue
           if line.find("Change-Id:") != -1:
                self.changeid = line
                print "   "+line.lstrip(),
                continue              

   



#oldtag="19.3.A.0.12"
#newtag="19.3.A.0.13"

oldtag=sys.argv[1]
newtag=sys.argv[2]
#print "oldtag:"+oldtag
#print "newtag:"+newtag
cmd_gitallsh1 = "git log --pretty=%H " + oldtag + ".." + newtag
cmd_gitalltile = "git log --pretty=%s " + oldtag + ".." + newtag
cmd_gitsh1 = "git log -1 "
alldms = []
count = 0


'''
stream = os.popen(cmd_gitallsh1)
allsh1 = stream.readlines()
parse = ParseCommit();


print cmd_gitsh1 + allsh1[0]
stream = os.popen(cmd_gitsh1 + allsh1[0])
commit = stream.readlines()
parse.parse(alldms,commit);
'''

print "Delivery of " + newtag
print
print "includes:"


stream = os.popen(cmd_gitallsh1)
allsh1 = stream.readlines()
parse = ParseCommit();
for sh1 in allsh1:
    #print sh1
    stream = os.popen(cmd_gitsh1+sh1)
    commit = stream.readlines()
    parse.parse(alldms,commit);


print 
print
print 

for dms in alldms:    
    print dms,

      

提取两个tag之间的commit message的信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值