Как найти файлы в данной ветке
Я заметил, что при просмотре кода люди здесь, в моей компании, обычно просто дают филиал, в котором его работа выполнена, и ничего больше. Поэтому я предполагаю, что должен быть простой способ узнать все файлы с версией в данной ветке, что является одним и тем же, чтобы найти все файлы
который был изменен.
Да, я не знаю ожидаемого "легкого способа" найти файлы в определенной ветке, поэтому вам нужна ваша помощь и спасибо заранее.
Ответы
Ответ 1
Вы можете быстро перечислить все файлы из определенной ветки:
cleartool find . -type f -branch "brtype(abranch)" -print
Я бы рекомендовал комбинировать это с:
-
-user
, чтобы ограничить конкретного пользователя, если несколько пользователей используют одну ветвь.
cleartool find . -type f -branch "brtype(abranch)" -user aloginname -print
-
-created_since
, чтобы найти все элементы, созданные с определенной даты, в случае, если они являются инкрементным просмотром для работы, выполненной в той же ветки.
cleartool find . -type f -branch "brtype(abranch)" -element "{created_since(10-Jan)}" -user aloginname -print
Ответ 2
Вот питон script, который делает трюк. Это может выглядеть намного сложнее, но копировать и вставлять. Не стесняйтесь менять CMD с помощью 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)