用python脚本,获取svn中,同一一个任务的说所有提交记录
时间: 2024-03-23 07:39:26 浏览: 156
python获取SVN日志
5星 · 资源好评率100%
要获取同一任务的所有提交记录,您可以使用svn命令行工具来获取提交日志,并根据关键字或者正则表达式来筛选出符合条件的提交记录。以下是一个示例代码,可以获取指定任务的所有提交记录:
```python
import subprocess
import re
# svn路径和关键字
svn_path = 'svn://example.com/path/to/repo'
keyword = 'task123'
# 获取所有提交记录
svn_log = subprocess.check_output(['svn', 'log', '-v', '-r', 'HEAD', svn_path])
# 解析提交记录
commit_log = []
for line in svn_log.splitlines():
line = line.decode('utf-8')
if re.match(r'^r\d+ \|', line):
rev = line.split(' ')[0][1:]
commit_log.append({'rev': rev, 'msg': ''})
elif commit_log and line.startswith(' '):
commit_log[-1]['msg'] += line.strip() + '\n'
# 筛选符合条件的提交记录
filtered_log = []
for log in commit_log:
if re.search(keyword, log['msg'], re.IGNORECASE):
filtered_log.append(log)
# 输出符合条件的提交记录
for log in filtered_log:
print('Revision:', log['rev'])
print('Message:', log['msg'])
print('---')
```
这个代码会获取指定任务的所有提交记录,然后解析出每个提交的相关信息。接着,它会根据关键字或者正则表达式来筛选出符合条件的提交记录。最后,它会将符合条件的提交记录打印到控制台上。您可以根据需要进行修改和扩展,比如将符合条件的提交记录写入到文本文件中。
阅读全文