2012-09-13 27 views
8

Tại công ty của tôi, chúng tôi đang chuyển đổi (hoàn toàn) từ ClearCase UCM sang Git. Chúng tôi sẽ không sử dụng Clearcase sau một thời gian sử dụng Git.Lưu lịch sử từ Clearcase sang Git?

Trong quá trình chuyển đổi, có bất kỳ công cụ tốt nào sẽ đưa lịch sử từ ClearCase vào Git bằng cách nào đó không?

Ngoài ra, tôi đã đọc rất nhiều rằng một thành phần = một repo. Tuy nhiên, chúng tôi muốn tổ chức lại và chia thành phần hiện tại thành các phần nhỏ hơn. (Người thiết lập ClearCase không thực sự lên kế hoạch trước.) Có cách nào để làm điều này không?

Mọi nhận xét sẽ được đánh giá cao - bao gồm các câu trả lời và những điều khác cần lưu ý trong quá trình chuyển đổi.

Trả lời

6

Ít nhất, với ClearCase UCM, bạn có toàn bộ đường cơ sở để làm việc, đó là các nhãn được đặt trên tất cả các tệp của một thành phần nhất định.

Bằng kinh nghiệm, bạn bao giờ nhập khẩu toàn bộ lịch sử từ ClearCase vào một công cụ điều khiển phiên bản mà là dựa trên phiên bản trên các tham chiếu (xem difference between ClearCase and Git: ClearCase có một tập tin lịch sử thiết lập bởi tập tin, không phải "xem xét lại bởi phiên bản ")

những gì tôi thường làm, như tôi đã đề cập trong câu trả lời của tôi" Sync GIT and ClearCase "là:

  • một Git repo mỗi thành phần UCM
  • nhập khẩu chỉ có 3 hoặc 4 đường cơ sở cuối cùng cho việc hội nhập Suối
  • nhập khẩu một vài đường cơ sở từ tiểu Streams chỉ khi nó thực sự là cần thiết
  • Khóa các vob UCM và giữ ClearCase ở chế độ chỉ đọc cho lưu trữ
3

Tôi sẽ không nghỉ hưu ngay lập tức. Những gì bạn muốn làm là cam kết các mẹo của bất kỳ chi nhánh nào trong trường hợp rõ ràng và bất kỳ thẻ nào. Điều này nên được thực hiện trong một thời trang mà phản ánh những gì đã xảy ra trong trường hợp rõ ràng (bảo tồn các điểm chi nhánh hợp lý, vv). Sử dụng git từ thời điểm đó. Tham khảo trường hợp rõ ràng nếu bạn cần đào sâu vào lịch sử. Cuối cùng lưu trữ trường hợp rõ ràng và chỉ khôi phục nó nếu bạn đang ở trong một ràng buộc để xem một số cam kết cũ. Nhập lịch sử cũ không đáng để bạn gặp rắc rối trong trải nghiệm của mình. Nó thường rất tốn thời gian và dễ bị lỗi.

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