一个通用的“diff”补丁解析库。
parsedifflib的Python项目详细描述
parsedifflib包将任何类型的diff补丁解析为 修补程序指令的事件流。这些说明可以是 应用、着色、重新格式化、解剖、分析等。
警告
2013/12/09:目前只有svnlook格式和面向流 支持事件输出。最终,所有支持的格式 colordiff既要支持结构化输出,也要支持。
用法
importparsedifflib,subprocessdata=subprocess.check_output('svnlook diff /path/to/repos',shell=True)forevent,targetinparsedifflib.parse_svnlook(data,{'lineNumbers':True}):ifeventin(parsedifflib.Event.PATCH_START,parsedifflib.Event.PATCH_END,parsedifflib.Event.ENTRY_END,parsedifflib.Event.LINE_LOC,parsedifflib.Event.LINE_SAME,parsedifflib.Event.LINE_NOTE,parsedifflib.Event.PROPENTRY,):continueelifevent==parsedifflib.Event.ENTRY_START:printtarget.commentelifevent==parsedifflib.Event.LINE_DELETE:print' - deleted line %d: %s'%(target.oldnum,target.line)elifevent==parsedifflib.Event.LINE_DELETE:print' + added line %d: %s'%(target.newnum,target.line)