3

Cygwin bash で、現在のワークスペースで開かれているすべてのファイルを保留中のチェンジリストでグループ化して一覧表示するにはどうすればよいですか (空または棚上げされたチェンジリストを無視します)?

たとえば、次の変更リストで次のファイルを開いた場合、この (または同様の) 形式で表示したいと考えています。

1234: Changelist 1234's description
//path1/file1 1 add  text
//path2/file2 2 edit text

5678: Changelist 5678's description
//path2/file3 3 edit xbinary

p4 opened|sed "s/\([-#()]\|change\)/ /g"|column -t|sort -k 4sort-of はチェンジリスト番号でグループ化します:

//path1/file1 1 add  1234 text
//path2/file2 2 edit 1234 text
//path2/file3 3 edit 5678 xbinary

しかし、各チェンジリスト番号と説明をヘッダーとして表示したいと思います。

4

2 に答える 2

4

最も簡単なアプローチは次のようなものです。

p4 changes -s pending -c $P4CLIENT | awk '{print $2}' | p4 -x - describe -s

これにより、現在のクライアント (別名ワークスペース) と呼び出しのすべての保留中の変更が一覧表示されますp4 describe -s

于 2013-06-10T10:48:12.723 に答える
3

これは、同様の目標を達成するために p4pending エイリアスを作成する .bashrc の私のコードです。「p4 changes」を使用して各チェンジリストのヘッダーを生成し、「p4 open -c」を使用してチェンジリストで開いているファイルを一覧表示します。これにより、P4V で得た結果とほぼ同じ結果が得られます。

__desc_chg()
{
   echo "$1"
   num=`echo $1 | awk '{print $2}'`
   p4 opened -c $num 2>&1 | awk '{print "        "$1,$2,$3,$6}'
   echo 
}

__p4pending()
{
   __desc_chg "Change default by $P4USER@$P4CLIENT *pending*" 
   p4 changes -u $P4USER -c $P4CLIENT -s pending | sort -k2 -n | while read -r l; do __desc_chg "$l"; done
}

alias p4pending='__p4pending'  
于 2015-08-21T07:58:47.677 に答える