как найти файлы в данной ветке

Я заметил, что при просмотре кода люди в моей компании обычно просто указывают ветку, в которой выполняется его работа, и ничего больше. Так что я думаю, что должен быть простой способ найти все файлы, которые имеют версию в данной ветке, это то же самое, что найти все файлы это было изменено.

Да, я не знаю ожидаемого "простого способа" поиска файлов в определенной ветке, поэтому нужна ваша помощь и заранее спасибо.

12 голосов | спросил Haiyuan Zhang 7 Mayam10 2010, 06:24:16

2 ответа


0

Вы можете быстро перечислить все файлы из определенной ветви:

cleartool find . -type f -branch "brtype(abranch)" -print

Я бы порекомендовал объединить это с:

  • -user для ограничения для определенного пользователя, если несколько пользователей используют одну и ту же ветку.
    найти -type f -branch "brtype (abranch)" -user aloginname -print
  • Фильтр -created_since, чтобы найти все элементы, созданные с определенной даты, в случае, если они подвергаются инкрементной проверке для работы, выполненной в той же ветви.
    найти -type f -branch "brtype (abranch)" -element "{made_since (10-Jan))" -user aloginname -print
ответил VonC 7 Mayam10 2010, 08:01:50
0

Вот скрипт Python, который делает свое дело. Это может выглядеть намного сложнее, но это скопировать и начать. Не стесняйтесь поменять 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)
ответил Dylan Kapp 24 FebruaryEurope/MoscowbWed, 24 Feb 2016 00:21:06 +0300000000amWed, 24 Feb 2016 00:21:06 +030016 2016, 00:21:06

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132