根据文件路径、commit id、 批量获取patch
来源:互联网 发布:php从入门到精通 光盘 编辑:程序博客网 时间:2024/05/19 00:07
根据已知文件路径,和commit ID,遍历仓库,获取patch。文件路径和commit id以如下文件格式给出:
system / core / ecf5fd58a8f50362ce9e8d4245a33d56f29f142bframeworks / base / e739d9ca5469ed30129d0fa228e3d0f2878671acframeworks / av / 119a012b2a9a186655da4bef3ed4ed8dd9b94c26frameworks / av / 1e9801783770917728b7edbdeff3d0ec09c621ac
思路:以行的方式读取文件,获取字符串后分别解析出路径和commit id ; 通过python os库操作shell命令,切换文件目录,使用git format -patch生成patch
完整code如下:
#!/usr/bin/python# coding:utf-8import os# 分割字符串def deal_string(string): str_list = [] for i in string.split("/"): str_list.append(i.strip()) return str_list# 生成patchdef product_patch(str_list): length = str_list.__len__() directory = "/tmp/patches/2016_09/" # patch打包路径 code_dir = "/work/android/" # code 路径 commit_id = str_list[length-1] for i in range(length-1): # len-1前为路径,len-1为commit id directory = directory + str_list[i] + "/" code_dir = code_dir + str_list[i] + "/" if os.path.exists(directory) is False: os.makedirs(directory) # 生成patch目录 os.chdir(code_dir) # 切换到code工作区 command = 'git format-patch ' + commit_id + ' -1 ' # 生成patch os.system(command) os.system('mv *.patch ' + directory) # 移动patchif __name__ == '__main__': filename = '2016_09.txt' open_file = open(filename, 'r') for line in open_file: line_list = deal_string(line) product_patch(line_list) open_file.close()
阅读全文
0 0
- 根据文件路径、commit id、 批量获取patch
- git根据commit生成patch
- 根据文件名获取文件id
- delphi根据进程ID获取进程路径
- 根据进程ID获取exe路径
- 购物网站12:文件上传Service---根据ID获取文件的真实路径
- git根据commit生成patch And Git的Patch功能
- 通过进程ID获取执行文件路径
- 根据文件名称获取资源文件路径 pathForResource
- 根据窗口标题获取文件路径
- 根据文件路径获取剩余磁盘空间
- android根据Uri获取文件路径
- OC中根据文件路径获取文件大小
- 根据Url获取手机文件真实路径
- C++根据文件路径获取文件名
- 根据网络路径批量下载文件保存到本地
- 根据id获取bostype
- mybatis根据批量id查询批量信息
- Swift4.0 strtoul、strtod、strtof、strtol等字符串函数的改变
- 10/21 IP 与 GATEWAY
- 100G光模块之后,200G,400G谁将成为市场宠儿
- gouwucheITEM
- php开发微信
- 根据文件路径、commit id、 批量获取patch
- p60-4.3(1)
- GridSearchCV
- RecyclerView的简单适配
- 购物车
- 第二届「机器智能前沿论坛」强势来袭,众多机器学习大咖邀你共话AI未来!
- 报名 | AlphaGo Zero是如何实现无师自通的?
- 综述 | 知识图谱向量化表示
- 10个快速提升技术水平的方法