2010-01-27 21 views
14

Tôi có một tệp trong kho lưu trữ Clearcase của mình. Tôi đã kiểm tra và sửa đổi nó, sau đó kiểm tra lại.Làm cách nào để cuộn lại tệp đã đăng ký vào Clearcase?

Tôi chưa thực hiện bất kỳ điều gì như tạo đường cơ sở hoặc rebase hoặc phân phối luồng/chế độ xem của tôi.

Tôi rất tiếc khi thực hiện các thay đổi đối với tệp này - Tôi phải hoàn tác việc thanh toán, khi nhìn lại.

Làm cách nào để khôi phục các sửa đổi? (Hoặc hoàn tác, hoặc hoàn nguyên hoặc bất kỳ danh pháp chính xác nào.)

Trả lời

20

What is described byskwllsp có thể được thực hiện trong một dynamic view thông qua việc sử dụng các extended pathnames

cd m:/myDynamicView/MyVob/path/to/file 
cleartool lsvtree myFile 
cleartool checkout -c "cancel co" myFile 
copy [email protected]@/main/xx myFile 
cleartool checkin -nc myFile 

với xx là số phiên bản mà bạn muốn khôi phục.


Nhưng nên bạn đã thực hiện nhiều Việc đăng nhập, trong đó có một số bạn muốn hủy bỏ, ClearCase cho phép bạn hủy bỏ một phần của checkins trước qua Subtractive Merge
Xem IBM "to remove contributions of some versions" (và merge man page)

Bạn có thể xóa tất cả thay đổi khỏi một loạt các phiên bản cùng một lúc. Ví dụ, lệnh sau đây loại bỏ các phiên bản với các phiên bản 14 thông qua 16 trên chi nhánh chính:

  • Trên hệ thống UNIX hoặc Linux:
cleartool merge -graphical -to opt.c -delete -version /main/14 /main/16 
  • Trên hệ thống Windows :
cleartool merge -graphical -to opt.c -delete -version \main\14 \main\16 

Bạn cũng có thể xóa các thay đổi khỏi một phiên bản cùng một lúc. Ví dụ, các lệnh sau chỉ loại bỏ các thay đổi trong phiên bản 14 từ phiên bản chọn.c kiểm tra ra giao diện hiện tại:

  • Trên hệ thống UNIX hoặc Linux:
cleartool merge -graphical -to opt.c -delete -version /main/14 
  • Trên các hệ thống Windows:
cleartool merge -graphical -to opt.c -delete -version \main\14 

Ngoài ra, trong bất kỳ ví dụ nào ở trên, bạn có thể bỏ qua đối số chuyển đổi nếu bạn sử dụng đường dẫn mở rộng phiên bản cho trình chọn cộng tác viên-phiên bản.


Cuối cùng, một điều để không làm là một rmver.
Lệnh này phá hủy thông tin một cách không thể tin được và điều này hiếm khi là một điều tốt.

+0

Khi bạn nói "phá hủy thông tin một cách không thể tin được", bạn chỉ đang nói về thông tin liên quan đến lần đăng ký mới nhất (dù sao không chính xác), phải không? Trong trường hợp đó, tại sao bạn nói nó hiếm khi là một điều tốt? Việc kiểm tra là một sai lầm sau khi tất cả, vì vậy những gì là tác hại trong việc loại bỏ sự tồn tại của các phiên bản? Hãy chia sẻ kiến ​​thức của bạn. –

+2

@ArvindhMani Tôi đang nói về bất kỳ phiên bản nào bạn sẽ 'rmver'. Và điều đó sẽ để lại các siêu liên kết lúng túng (hoặc loại bỏ chúng), có thể làm tổn hại đến tính toàn vẹn của các đối tượng khác (như một đường cơ sở UCM đầy đủ). Nếu phiên bản mới nhất không có siêu liên kết và không được tham chiếu bởi một đối tượng khác, thì có, 'rmver' là một giải pháp. – VonC

+2

@ArvindhMani Vấn đề là, trong khi nó có thể làm việc trong trường hợp của bạn, tất cả những gì bạn sẽ nhớ là "' rmver' works "... sẽ dẫn đến một ngày mà' rmver' sẽ được sử dụng bất cẩn, và sẽ làm thiệt hại nhiều hơn. Đó là lý do tại sao tôi thích giới hạn việc sử dụng nó. – VonC

1

Mở lịch sử phiên bản cho tệp này, sau đó mở trong trình chỉnh sửa của bạn một phiên bản thích hợp của tệp từ cây phiên bản, hãy kiểm tra tệp một lần nữa với nội dung của phiên bản chính xác trước đó và đăng ký. Đừng quên so sánh phiên bản trước và phiên bản cuối cùng.

+1

Đây có phải là điều tốt nhất mà CC có thể làm không? Oy. (Tôi mới sử dụng CC, đã sử dụng svn độc quyền trong 5 năm qua.) – JXG

+0

Tôi không chắc chắn nó là tốt nhất nhưng nó cho kết quả chính xác :) –

+2

Tôi biết đó là một cũ, nhưng tôi đồng ý với JXG (tôi cũng vậy đã được sử dụng SVN trong 6 năm qua và CVS trong nhiều năm trước đó) ... CC tốt nhất có thể làm gì? Giả sử bạn phải quay lại thay đổi và một số tệp 30 lẻ trong nhiều thư mục bị ảnh hưởng. Tại sao nó sẽ không có lệnh "hoàn nguyên thay đổi từ lần kiểm tra này"? – Jon

3

Clearcase có thể làm tốt hơn nhiều so với việc tạo một phiên bản mới, nơi bạn hoàn tác thay đổi! Mở lịch sử phiên bản trên tệp của bạn, tìm phiên bản bạn đã nhầm lẫn đã đăng ký và hủy phiên bản đó (chọn phiên bản để hủy và tìm lệnh thích hợp trong menu Phiên bản). Đây là những gì rmver làm quá, nếu bạn muốn sử dụng dòng lệnh. Như VonC nói điều này phá hủy sai lầm của bạn một cách không thể tin được. Tôi không thấy bất lợi cho điều đó.

+4

@Kathy: bạn không nhìn thấy một nhược điểm, nhưng đó là một giải pháp rất * rất * xấu. Người duy nhất bạn sẽ không bao giờ làm. Mặc dù có thể hoạt động trong trường hợp này, nhưng tốt hơn bạn nên ngăn người dùng của mình thực hiện ** rmver **. Không bao giờ. Bởi vì nó hoạt động ở đây có nghĩa là một ngày nào đó họ sẽ sử dụng nó một lần nữa trong một tình huống mà nó sẽ phá vỡ mọi thứ. Nghiêm túc: đừng làm thế. – VonC

+0

FWIW, trong trường hợp cá nhân của tôi, tôi không có quyền xóa tệp theo cách này. – JXG

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