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 に答える