2010-05-07 32 views
10

Tôi nhận thấy rằng khi thực hiện chế độ xem mã, mọi người ở đây trong công ty của tôi thường chỉ cung cấp cho chi nhánh mà công việc của anh ta đã hoàn thành và không có gì khác. Vì vậy, tôi đoán có phải là một cách dễ dàng để tìm ra tất cả các tập tin có một phiên bản trong chi nhánh nhất định đó là cùng một điều để tìm tất cả các tập tin đã được thay đổi.cách tìm tập tin trong một nhánh cụ thể

Có, tôi không biết "cách dễ dàng" mong đợi để tìm tệp trong một nhánh nhất định, vì vậy cần sự giúp đỡ của bạn và cảm ơn trước.

+0

cũng ở đây http://stackoverflow.com/questions/5800926/how-to-find-the-files-modified-under-a-clearcase-branch – x29a

Trả lời

21

Bạn có thể nhanh chóng liệt kê tất cả các file từ một chi nhánh cụ thể:

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

Tôi muốn giới thiệu cách kết hợp điều đó với:

  • -user để hạn chế đến một người dùng cụ thể, trong trường hợp nhiều người dùng sử dụng cùng một chi nhánh.
 
    cleartool find . -type f -branch "brtype(abranch)" -user aloginname -print 
  • -created_since lọc, để tìm tất cả các yếu tố tạo ra kể từ khi một ngày nào đó, trong trường hợp của họ là xem xét gia tăng cho một tác phẩm được thực hiện trên cùng một nhánh.
 
    cleartool find . -type f -branch "brtype(abranch)" -element "{created_since(10-Jan)}" -user aloginname -print 
+0

sự khác biệt giữa các bộ lọc created_since là gì in -version (như đã nêu trong http://stackoverflow.com/questions/22300632/cleartool-finding-changes-from-specific-date) và -element được sử dụng ở đây? kết quả chắc chắn khác nhau. – x29a

+0

@ x29a nó chỉ là trên mục created_since áp dụng: phần tử (nghĩa là khi một tệp đã được "thêm vào kiểm soát nguồn" hoặc phiên bản của phần tử đó (nghĩa là tất cả các phiên bản được chọn từ một ngày nhất định) – VonC

+0

tôi đã tạo câu hỏi mới cho điều này: http://stackoverflow.com/questions/27959952/cleartool-difference-between-element-and-version - xin lỗi vì sự nhầm lẫn.chỉnh sửa của 5 phút đã cho tôi;/ – x29a

1

Đây là tập lệnh python thực hiện thủ thuật. Nó có thể trông phức tạp hơn nhiều nhưng nó là bản sao dán và đi. Vui lòng hoán đổi cmd với VonC's. biết thêm

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) 
+0

Nếu bạn đang sử dụng Windows ClearCase 'Báo cáo Builder 'có thể được sử dụng để tìm tất cả các phần tử có tên nhánh cụ thể, cũng như tùy chọn để tìm số phiên bản mới nhất (phần tử rõ ràng). –

Các vấn đề liên quan