2008-08-04 14 views
14

Văn phòng của tôi có cài đặt Nguồn an toàn trung tâm 2005 mà chúng tôi sử dụng để kiểm soát nguồn. Tôi không thể thay đổi những gì văn phòng sử dụng trên máy chủ.Hệ thống điều khiển phiên bản phân phối khác nhau hoạt động cùng nhau

Tôi phát triển trên máy tính xách tay và muốn có kho lưu trữ kiểm soát nguồn cục bộ khác nhau có thể đồng bộ hóa với máy chủ trung tâm (nếu có) bất kể nhà cung cấp trung tâm là gì. Lý do cho yêu cầu là vì vậy tôi có thể duy trì một nhánh/xây dựng ổn định cục bộ cho các bài thuyết trình của khách hàng trong khi tiếp tục phát triển mà không cần phải nhảy qua các vòng lửa. Ngoài ra, với tư cách là một nhà tư vấn, khách hàng của tôi có thể yêu cầu tôi sử dụng nhà cung cấp kiểm soát nguồn và tính linh hoạt của họ ở đây sẽ làm cho cuộc sống dễ dàng hơn.

Có thể bất kỳ ứng dụng khách kiểm soát nguồn phân tán hiện tại nào xử lý điều đó không?

Trả lời

1

Vâng ... KernelTrap có something on this. Có vẻ như bạn có thể sử dụng vss2svn để đổi nguồn Repo an toàn nguồn thành một kho lưu trữ Subversion, sau đó sử dụng git-svn rất đẹp để kéo vào một repo git cục bộ.

Tôi cho rằng các cam kết quay lại VSS sẽ không phải là quá trình tự động, mượt mà bằng phương pháp này.

1

Bạn sẽ có thể kiểm tra phiên bản hiện tại của mã và sau đó tạo một kho lưu trữ git quanh nó. Cập nhật và cam kết nó vào kho lưu trữ git cục bộ của bạn sẽ không đau. Như nên nhân bản nó.

Điều duy nhất là bạn cần phải có cả hai bỏ qua lẫn nhau (tôi đã làm điều gì đó tương tự với SVN) bằng cách lộn xộn với các tệp bỏ qua thích hợp. Tôi đoán SourceSafe cho phép bạn bỏ qua mọi thứ. Và bạn sẽ cần thực hiện một số thao tác nhất định hai lần (như yêu cầu cả hai bạn đang xóa một tệp).

0

một ngày nào đó tôi làm việc trong một công ty sử dụng VSS (và trong các công ty khác sử dụng khác ít unknow SCM) nhưng tôi thích sử dụng SVN (một ngày nào đó tôi sẽ cố gắng GIT) cho sự phát triển tích cực, đối với tôi và nhóm của tôi. Trước hết, tình trạng này chỉ là ý tưởng tốt, nếu cam kết với VSS ít hơn một tháng, vì làm việc với SCM khác (hơn VSS) cung cấp cho bạn sự linh hoạt hơn, nhưng cam kết VSS từ SVN là tốn kém trong thời gian.

Giải pháp của tôi là:

VSS -> SVN: Tôi có kịch bản linux (hoặc kịch bản kiến, hoặc XXX script) mà sao chép từ việc cập nhật thư mục currrent của VSS để SVN hiện tại, sau đó làm mới SVN client và cập nhật/hợp nhất/cam kết với SVN. Với điều này, bạn đang cập nhật từ những thay đổi của phần còn lại của công ty sử dụng VSS.

SVN -> VSS: Bằng cách này, bạn cần thanh toán tất cả các tệp sửa đổi của bạn thành VSS, sau đó bạn có thể sử dụng tập lệnh ngược lại để sao chép từ thư mục SVN cập nhật hiện tại (bỏ qua thư mục .svn) và sao chép sang hiện tại cập nhật thư mục VSS, cập nhật và cam kết.

Nhưng hãy nhớ rằng, trong một vài trường hợp, bạn nên dành thời gian để thực hiện việc này.

1

This tập của HanselMinutes bao gồm chính xác những gì tôi đã hy vọng được nghe. Rõ ràng Git có thể được sử dụng cục bộ sau đó được gắn vào kho lưu trữ bên ngoài/vss bên ngoài khi cần. Họ nói về nó 14 ~ 15 phút.