2009-05-15 20 views
10

Tôi đã chơi đùa với SVN trong một thời gian ngắn và đã yêu thích sức mạnh và trải nghiệm của người dùng và chúng tôi có thể gắn nó vào hệ thống theo dõi lỗi để đơn giản hóa cuộc sống của mọi người. Vì vậy, nó đến thời điểm mà chúng tôi đã quyết định di chuyển thiết lập VSS 2005 của chúng tôi qua SVN và bây giờ tôi đến unstuck.Có ai di chuyển thành công VSS 2005 sang SVN không?

Dường như có một số công cụ để yêu cầu hoàn thành việc di chuyển từ VSS 2005 sang SVN, nhưng tôi không thể tìm ra cái nào tốt nhất hoặc cái nào sẽ cung cấp cho tôi chuyển đổi. Tôi cần một trong đó sẽ di chuyển lịch sử đầy đủ hơn là chỉ kiểm tra ra từ VSS và kiểm tra vào SVN.

Tôi tìm thấy trình nhập Polarion SVN có cả cấu hình mạnh mẽ và có cấu hình cao, tuy nhiên, tôi không thể làm việc chết tiệt, nó phàn nàn rằng nó không thể kéo danh sách tệp từ $/trong VSS. Nếu tôi chạy lệnh tương tự, nó bị vấp phải theo cách thủ công, mọi thứ có vẻ ổn, vì vậy tôi không thể hiểu được.

Có ai đã di chuyển thành công nguồn của họ từ VSS 2005 sang SVN và nếu bạn sử dụng công cụ gì và phát hiện của bạn là gì? Bất kỳ cảnh báo hay gotchas sẽ hữu ích nhất để biết cũng như bất cứ điều gì hữu ích/đáng ngạc nhiên hoặc là một sự thất bại hoặc chỉ đơn thuần xuyên tạc.

+1

Tôi muốn tính toán toàn bộ kho lưu trữ VSS và kiểm tra phiên bản mới nhất trong SVN như là một thành công lớn :) –

+0

Vì nó thất bại quá sớm trong danh sách tệp bằng $ /, có thể thử tài khoản không chỉ đọc hoặc một tài khoản đã biết khác. Ngoại lệ trông giống như lỗi tài khoản hoặc quyền. Hoặc có lẽ tài khoản người dùng đơn lẻ đang gây ra sự cố. – Ryan

+0

lol @Mehrdad - Tôi có khuynh hướng đồng ý; tuy nhiên yêu cầu mang lịch sử không phải của tôi. Tôi chỉ cần sớm lưu trữ kho lưu trữ hiện tại một số nơi cho nỗi nhớ và di chuyển trên. Có lẽ một ngày nào đó chúng ta có thể mở nó và nói "aww, chúng ta đã trở lại dễ thương như thế nào rồi" ... – BenAlabaster

Trả lời

6

Hãy thử bản sửa đổi cuối cùng (giao diện điều khiển ứng dụng) cho VssMigrate trên Codeplex để sắp xếp lại lịch sử của bạn và tạo lại các thay đổi từ kho lưu trữ VSS của bạn. Nó cũng sẽ ra lệnh cho các phiên bản của bạn một cách chính xác dựa trên thời gian họ đã được kiểm tra trong.

http vssmigrate.codeplex.com/SourceControl/changeset/view/16890

Tôi hy vọng điều này sẽ giúp. Nó có thể mất một số tinh chỉnh trên $/nhập khẩu.

P.S. lịch sử giúp bạn biết ai để đổ lỗi trong một bước duy nhất thay vì phải khám phá nếu chú thích là chính xác dựa trên một lần nhập, vì vậy tôi thấy nó khá hữu ích. Tốt hơn là có nó hơn là không có nó khi tìm lỗi trong mã cũ hơn.

P.P.S. Bạn thậm chí có thể sử dụng phiên bản mới của VssMigrate để nhập lại các bản sửa đổi cho một kho lưu trữ lật đổ và sau đó hợp nhất trong tất cả các sửa đổi sau bản sửa đổi nhập khẩu cuối cùng từ bản sửa đổi trước đó của bạn. Nhược điểm duy nhất là tất cả mọi người sẽ phải nhận được một check-out tươi từ kho vì số lượng sửa đổi sẽ được giảm đáng kể. Về cơ bản, perfom là một di cư mới; svnadmin dump hoạt động kho lưu trữ di chuyển trước đó từ rev migrated + 1 như gia tăng và sau đó tải svnadmin vào kho lưu trữ mới được di chuyển.

+0

công việc rất tốt đẹp trên các bản cập nhật cho VssMigrate jim0301. Một ngày trước khi bạn cam kết, tôi đã thêm chức năng tương tự. Khi tôi đến để cung cấp các bản cập nhật, tôi thấy bạn vừa mới cam kết họ. Và bạn đã làm tốt hơn tôi nhiều. Cảm ơn bạn đã cập nhật. Tôi đã di chuyển tất cả các kho lưu trữ VSS của tôi sang SVN bây giờ trong tuần qua và không có vấn đề gì. Tôi rất khuyên bất cứ ai muốn di chuyển VSS để SVN nên kiểm tra các cam kết mới nhất từ ​​nguồn tại codeplex. (thực sự vấn đề duy nhất tôi có là tôi phải tải lại log4net và gắn lại các libs, không chắc chắn tại sao) – devSolo

+0

Có ai biết nếu VSSMigrate tương thích với VSS 6.0d (Not VSS 2005) ?? - Lee –

3

Thời gian qua tôi đã thử cách đây nhiều năm. Bởi vì định dạng tệp VSS không được ghi lại, để có được một lịch sử hoàn chỉnh, chương trình chuyển đổi của bên thứ ba phải sử dụng API của VSS để lấy từng phiên bản của mỗi tệp. Tôi để cho chuyển đổi đó chạy qua cuối tuần, thấy số tiền đã hoàn thành (một vài phần trăm), và tính toán rằng sẽ mất vài tuần thời gian lịch để hoàn thành (chúng tôi đã có nhiều năm lịch sử).

Do đó, chúng tôi quyết định chỉ di chuyển một bản chụp mã mới nhất vào hệ thống kiểm soát phiên bản mới và lưu trữ cơ sở dữ liệu VSS vì mục đích lịch sử.

+0

Cảm ơn bạn đã nhập, chúng tôi có thể có vài năm lịch sử nhưng chúng tôi không có hàng nghìn dự án may mắn chỉ là một số ít vì vậy tôi hy vọng mọi thứ đã di chuyển về phía trước kể từ đó ... – BenAlabaster

2

Tôi đã di chuyển thành công VSS 2005 sang SVN vài tháng trước. Tôi đã sử dụng công cụ "VssMigrate.Tim2" hiển thị trên CodePlex ngay bây giờ là vssmigrate. Nó hoạt động tốt mà không có vấn đề lớn. Nó có vẻ như các bản sửa đổi và dấu thời gian không được đặt hàng như tôi mong đợi, nhưng nó không phải là một việc lớn. EDIT: Với vssmigrate, bạn có thể chọn di chuyển đường dẫn VSS cụ thể (ví dụ: $/GroupA/ProjectB) giúp giảm thời gian di chuyển riêng lẻ và làm cho quá trình tổng thể ít mong manh hơn. Tôi không tìm thấy quá trình này quá lâu mặc dù chúng tôi chỉ có khoảng sáu tháng dữ liệu trong VSS. Tôi đã hoàn thành việc di chuyển và thiết lập Apache + SVN vào cuối tuần. Tùy thuộc vào kích thước của kho lưu trữ VSS của bạn, bạn có thể muốn tạo nhiều kho SVN thay vì một kho lưu trữ lớn.

Tôi rất vui vì chúng tôi đã chuyển khỏi VSS, mặc dù việc định cấu hình Apache + SVN không quá thú vị (thử và lỗi). Tôi đã xem xét Git hoặc Mercurial, nhưng không có công cụ TortoiseXxx đáng tin cậy hoặc plugin VS SCC vào thời điểm đó. Mặc dù bây giờ mà Google code đã hỗ trợ Mercurial và TortoiseHg có vẻ tốt, tôi bị cám dỗ để thử Mercurial sớm.

+0

Bạn có thể giải thích về những gì không như bạn mong đợi? Đó sẽ là một cái nhìn sâu sắc để có ... – BenAlabaster

+0

Dường như các số sửa đổi được tạo trong SVN từ VSS không được sắp xếp từ cũ nhất đến mới nhất. Tôi mong đợi các số sửa đổi SVN mới để làm theo tuyến tính và tuần tự trong thời gian từ các phiên bản VSS, nhưng khi tôi nhìn lại nhật ký svn nó dường như không theo một mô hình. Nó đã được đơn giản để sắp xếp theo datetime trong TortoiseSVN mặc dù, vì vậy nó không phải là một việc lớn đối với tôi. Tôi cũng đã xem vss2svn nhưng quyết định thay vào đó là vssmigrate. – Ryan

4

Tôi đã thử cả Polarion và vss2svn khoảng một năm trước.

Chúng tôi đã có nhiều mã số trong 01 năm và sau khi quyết định chỉ cần bắt đầu với việc nhập mã mới nhất.

Đã có một vài lần trong năm qua, nơi tôi đã đi tìm lịch sử cũ, nhưng không thực sự nhiều. Một điểm cộng mới nữa là kho SVN mới của bạn sẽ rất nhanh!

+0

Đồng ý - Chúng tôi đã tìm thấy phương pháp này là 'an toàn nhất', có nghĩa là chúng tôi kiểm soát những gì xảy ra, v.v.Thêm vào đó, chúng tôi đã sửa đổi cấu trúc mà chúng tôi đang lưu trữ mã bên trong SVN để làm việc với công cụ CI của chúng tôi - đoán rằng điều này sẽ không dễ dàng khi sử dụng một công cụ tự động? –

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