コードビューを実行するとき、私の会社の人々は通常、彼の作業が行われるブランチを提供するだけで、他には何も提供しないことに気づきました。したがって、指定されたブランチにバージョンがあるすべてのファイルを見つける簡単な方法があるはずです。これは、変更されたすべてのファイルを見つけるのと同じことです。
はい、特定のブランチでファイルを見つけるために期待される「簡単な方法」がわかりません。事前に助けと感謝が必要です。
特定のブランチのすべてのファイルをすばやく一覧表示できます。
cleartool find . -type f -branch "brtype(abranch)" -print
私はそれを以下と組み合わせることをお勧めします:
-user
複数のユーザーが同じブランチを使用する場合に、特定のユーザーに制限します。cleartoolfind。 -type f -branch "brtype(abranch)" -user aloginname -print
-created_since
filter、同じブランチで行われた作業の増分レビューである場合に、特定の日付以降に作成されたすべての要素を検索します。cleartoolfind。 -type f -branch "brtype(abranch)" -element "{created_since(10-Jan)}" -user aloginname -print
これがトリックを実行するpythonスクリプトです。もっと複雑に見えるかもしれませんが、コピーアンドペーストです。コマンドをVonCのものと自由に交換してください。
import subprocess
import os
import sys
from optparse import OptionParser
def pipeCmd(Cmd):
pipe = subprocess.Popen(Cmd,
Shell = True,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE )
(stdout_data,stderr_data) = pipe.communicate()
return (pipe,stdout_data,stderr_data)
def main(br_name):
cmd = "cleartool find -vis -avobs -element 'brtype(" + br_name + ")' -exec 'cleartool describe -short $CLEARCASE_PN'"
pipe,data,err = pipeCmd(cmd)
if 0 == pipe.returncode:
print data
else:
print err
# Process cmd arguments
if (1):
if (len(sys.argv) <= 1):
print "Finds all branches in your view."
print "\nExamples:\n"\
"allBranches.py -b $BRANCH_NAME \n"\
"allBranches.py --branch=$BRANCH_NAME\n"
parser = OptionParser()
branchName = "Example: 'rs__BRANCH_NAME_int'"
parser.add_option("-b", "--branch", dest="BRANCH_NAME", help=branchName, metavar="BRANCH_NAME")
(options, args) = parser.parse_args()
if (options.BRANCH_NAME):
print "\nFinding " + options.BRANCH_NAME + " elements...\n"
main(options.BRANCH_NAME)
sys.exit(0)