非常感谢对这个问题的反馈
import subprocess
def main():
'''
Here's where the whole thing starts.
'''
#Edit this constant to change the file name in the git log command.
FILE_NAME = 'file1.xml'
#Do the git describe command to get the tag names.
gitDescribe = 'git describe --tags `git rev-list --tags --max-count=2`'
print ('Invoking: {0}'.format(gitDescribe))
p1 = subprocess.Popen(gitDescribe, shell=True, stdout=subprocess.PIPE)
output = p1.stdout.read()
#Get the first 2 tags from the output.
parsedOutput = output.split('\n')
tag1 = parsedOutput[0]
tag2 = parsedOutput[1]
print('First revision: {0}'.format(tag1))
print('Second revision: {1}'.format(tag2))
#Do the git log command for the revision comparison.
gitLog = 'git log {0}..{1} --pretty=format:"%an %h %ad %d %s" --date=short --topo-order --no-merges {2}'.format(tag1, tag2, FILE_NAME)
print('Invoking: {0}'.format(gitLog))
p2 = subprocess.Popen(gitLog, shell=True, stdout=subprocess.PIPE)
output = p2.stdout.read()
print(output)
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
...
bash-3.2$ python pygit5.py
Invoking: git describe --tags `git rev-list --tags --max-count=2`
First revision: 14.5.5.1
Traceback (most recent call last):
File "pygit5.py", line 31, in <module>
main()
File "pygit5.py", line 22, in main
print('Second revision: {1}'.format(tag2))
IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)
Dan*_*man 12
tag2只是单个值,tag1所以你不能引用项目[1].毫无疑问,你的意思
print('Second revision: {0}'.format(tag2))
Run Code Online (Sandbox Code Playgroud)
在使用格式化时,请记住,在大多数编程语言中,计数从零开始.因此,由于tag2只携带一个值,因此以下行:
print('Second revision: {1}'.format(tag2))
Run Code Online (Sandbox Code Playgroud)
真的应该是:
print('Second revision: {0}'.format(tag2))
Run Code Online (Sandbox Code Playgroud)
如果使用python 2.7+,您也可以将它留空以用于简单脚本:
print('Second revision: {}'.format(tag2))
Run Code Online (Sandbox Code Playgroud)
或者以命名变量的任何顺序提供它们:
print('Second revision: {revisiontag}'.format(revisiontag=tag2))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41160 次 |
| 最近记录: |