+ -
当前位置:首页 → 问答吧 → perl调用svn diff 用html输出 请教!!

perl调用svn diff 用html输出 请教!!

时间:2010-11-30

来源:互联网

请教一下大家
刚学perl
想用perl写一个 本地代码 与 SVN上的代码 版本比较
比较后的结果用html 将 修改过的部分 染色 ,并显示修改后的行数信息(增加,删除,改变)







diff文件格式:http://en.wikipedia.org/wiki/Diff

我没什么思路,麻烦大家指点!
谢谢!

作者: cllggg   发布时间: 2010-11-30

你是要自己实现diff还是用svn client的diff?

作者: wind_ch   发布时间: 2010-11-30

找个能导出html的编辑器导出一下不就行了?下面是kate导出的
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <meta name="Generator" content="Kate, the KDE Advanced Text Editor" />
  7. <title>lines005</title>
  8. </head>
  9. <body>
  10. <pre style='color:#181615;background-color:#ffffff;'>
  11. <span style='color:#0057ae;'>0a1,6</span>
  12. <span style='color:#0000ff;'>&gt; This is an important</span>
  13. <span style='color:#0000ff;'>&gt; notice! It should</span>
  14. <span style='color:#0000ff;'>&gt; therefore be located at</span>
  15. <span style='color:#0000ff;'>&gt; the beginning of this</span>
  16. <span style='color:#0000ff;'>&gt; document!</span>
  17. <span style='color:#0000ff;'>&gt; </span>
  18. <span style='color:#0057ae;'>8,14c14</span>
  19. <span style='color:#ff0000;'>&lt; compress the size of the</span>
  20. <span style='color:#ff0000;'>&lt; changes.</span>
  21. <span style='color:#ff0000;'>&lt; </span>
  22. <span style='color:#ff0000;'>&lt; This paragraph contains</span>
  23. <span style='color:#ff0000;'>&lt; text that is outdated.</span>
  24. <span style='color:#ff0000;'>&lt; It will be deleted in the</span>
  25. <span style='color:#ff0000;'>&lt; near future.</span>
  26. <b>---</b>
  27. <span style='color:#0000ff;'>&gt; compress anything.</span>
  28. <span style='color:#0057ae;'>17c17</span>
  29. <span style='color:#ff0000;'>&lt; check this dokument. On</span>
  30. <b>---</b>
  31. <span style='color:#0000ff;'>&gt; check this document. On</span>
  32. <span style='color:#0057ae;'>24c24,28</span>
  33. <span style='color:#ff0000;'>&lt; be added after it.</span>
  34. <b>---</b>
  35. <span style='color:#0000ff;'>&gt; be added after it.</span>
  36. <span style='color:#0000ff;'>&gt; </span>
  37. <span style='color:#0000ff;'>&gt; This paragraph contains</span>
  38. <span style='color:#0000ff;'>&gt; important new additions</span>
  39. <span style='color:#0000ff;'>&gt; to this document.</span>
  40. </pre>
  41. </body>
  42. </html>
复制代码

作者: 昭襄王   发布时间: 2010-11-30

回复 wind_ch


svn的diff

    调用svn diff  后,对结果进行新旧染色,例如 --   ++用颜色区分

作者: cllggg   发布时间: 2010-11-30

回复 昭襄王


   
在perl调用svn diff的命令,然后将匹配的结果用html显示
显示的时候用到正则表达式将  --   ++  这些增加或者更改过的的行进行染色

对perl不熟,只能说,不知道实际是怎么做
请教请教!!!

作者: cllggg   发布时间: 2010-11-30

那就是用perl做文本处理了.
匹配行, 修改成想要的html格式
稍微学下perl解决这个问题应该不难的.

作者: wind_ch   发布时间: 2010-11-30