2

特定の貢献アクティビティがいつ統合ストリームに配信されるかについての詳細を取得する方法を知りたいのですが。以前は、あるベースラインから別のベースラインに作成されたアクティビティのリストを取得するため
に を使用diffbl -activity baseline1 baseline2していました。cleartool

diffbl今、新しい必要性は、出力としてリストされているアクティビティのいくつかが配信された日時を取得する必要があるということです。
を使用してみlsactましdescribeたが、" Activity not found" エラーが発生します。
おそらく、私が照会している活動が貢献活動であるためです。

貢献活動が配信された日時を取得する方法や、「diffbl -activity baseline1 baseline2」の出力をカスタマイズして活動日時の詳細も取得する方法を誰か知っていますか?

4

1 に答える 1

0

man ページを見てcleartool diffblも、書式設定オプションがありません。

つまり、そのコマンドの結果を解析し、必要なものを表示するためにfmt_ccase オプションcleartool describe -fmtの 1 つを使用して、各アクティビティを にフィードする必要があります。

このスレッドは、従うべきプロセスのアイデアを提供しますが、必要に応じて Windows に適合するように bash (unix) に含まれています。

for act in $(ct diffbl -act bl1@/vobs/apvob bl2@/vobs/apvob | grep ">>" | grep -v "deliver." | cut -f2 -d " "); do echo "Activity: $act"; cleartool desc -fmt "%d\n" activity:$act; echo; done

読みやすくするために複数行で:

for act in $(ct diffbl -act bl1@/vobs/apvob bl2@/vobs/apvob 
  | grep ">>" 
  | grep -v "deliver." 
  | cut -f2 -d " "); 
  do 
    echo "Activity: $act"; cleartool desc -fmt "%d\n" activity:$act; echo; 
  done

「 ClearCase UCM アクティビティに関連付けられたファイルを見つける方法は?deliver. 」で説明されているように、「 」アクティビティを除外することで、貢献アクティビティのみに注目していることに注意してください。


OP Laxは、アクティビティの名前の抽出に成功したことを次のように報告しています。

desc -fmt "%Nd\n" "activity:myActivityId" 

@\pvobすでにdiffblコマンドの結果の一部です。Laxは結果activityidからを解析diffblしてコマンドに入れていますdesc

彼は次のように付け加えます。

C# のコンテキストでこれが必要なので、解析は他の文字列の解析と同じです。正規表現を使用して、関心のあるアクティビティに出力を分離しています。元:

Regex.Matches(diffBlOutput, "myInterestedPattern"); 

そして、正規表現結果の一致ごとに、次のアクティビティを取得します

RegexMatch.Groups["activity"].ToString()

activityidactivtyid activityName結果は常に " " であるため、実際にはこの文字列の部分文字列なので、substring(0,result.indexOf(' '));アクティビティ ID を取得します。

于 2012-05-18T08:23:26.950 に答える