0
------------------------------------------------------------------------
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

4

1 回答 1

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]}

不过,我会将其设为函数,而不是别名。

于 2013-07-04T10:23:26.540 回答