如何解析SVN日志?

时间:2013-07-04 09:50:44

标签: bash svn sed awk

------------------------------------------------------------------------
rXXX | user1 | 2013-07-02 00:18:02 +0400 (Tue, 02 Jul 2013) | 1 line

commit1
------------------------------------------------------------------------
rYYY | user2 | 2013-07-01 18:24:44 +0400 (Mon, 01 Jul 2013) | 1 line

commit2
------------------------------------------------------------------------

以下是svn log -l 2 index.php输出,我将 XXX 视为最新版本, YYY 视为之前的版本。 问题:如何从此输出中获取 YYY 修订版?结果我想:

svn log -l 2 index.php | awk {'svn up -r $1 $2'}

(将文件$ 2更新为上一版本$ 1)

总的来说,我想创建一个像svn prev FILENAME

这样的别名

1 个答案:

答案 0 :(得分:0)

svn log -l 2将只生成最后2个版本,因此您可以执行以下操作:

#!/bin/bash

rev=( $(svn log -l 2 index.php | awk '/^r[0-9]+/ {sub(/r/,"",$1); print $1}') )
svn up -r ${rev[1]} ${rev[0]}

我认为这不是别名。