0

私はCVSステータス管理のためのこの現在の解決策を持っています:-

cvs -q status|awk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=1 a=9 s='(Locally Modified)|(Needs Patch)'

これにより、ローカルで変更されたファイルとパッチが必要なファイルが表示されます。これは素晴らしいことです。ただし、すべてのステータスをキャッチするより良い解決策は、ステータスが「最新」ではない場合です。s!= と s<> を試しましたが、= しか許可されていないようです。

4

1 に答える 1

0

少しの空白が大いに役立ちます...

の反対は$0 ~ sです$0 !~ sので、

cvs -q status | awk '
    c-- > 0
    $0 !~ s {
        if (b)
            for (c=b+1; c>1; c--)
                print r[(NR-c+1)%b]
        print
        c=a
    }
    b {r[NR%b]=$0}
' b=1 a=9 s='Up-to-date'
于 2013-10-23T16:16:37.243 に答える