我只需要從CVS獲取最近更改的列表並解析它們。分析CVS歷史輸出
示例: CVS用戶「Lollerskates」在包含空格的文件中籤入。但空格是分隔符!然後「文件夾」在一個文件夾中以文件夾名稱中的空格進行檢查。
% cvs history -c -a -D 2011-03-14
A 2011-03-15 00:17 +0000 jschmoe 1.1 CoolCode.java Awesome/Source/Java/src/com/widgets/foo/ambiguous/abstraction == <remote>
M 2011-03-15 00:17 +0000 sumbody 1.2 MoreCoolCode.java Awesome/Source/Java/src/com/widgets/foo/ambiguous/abstraction == <remote>
A 2011-03-15 00:17 +0000 lollerskates 1.123 This File Name Has Spaces.html Awesome/Source/Java/src/com/widgets/foo/ambiguous/abstraction == <remote>
A 2011-03-15 00:17 +0000 jschmoe 1.1 MyAwesomeProject.java Awesome/Source/Java/src/com/widgets/foo/ambiguous/abstraction == <remote>
M 2011-03-15 00:17 +0000 skates 1.5 BlahBlah.java Awesome/Source/Java/src/com/widgets/foo/content/block type/cart == <remote>
什麼是解析這個可靠方式?
另外,是否有一個不同的CVS命令更容易解析的結果?
正常情況下,可能會有文件名沒有圓點和目錄路徑。所以文件名和目錄元組可以是**文件名模塊名/ bla.bla **。 – 2011-03-16 23:17:54
是的,這是我用這個正則表達式遇到的問題之一。我修改了它以便與我的特定應用程序一起使用,並添加了對點和破折號的支持:(?P \ d {4} - \ d {2} - \ d {2})(? (?P