2008-08-27 62 views
16

Xung quanh đây, chúng tôi đã làm việc với một loạt các kho lưu trữ An toàn Nguồn trực quan trong khoảng 10 năm hoặc lâu hơn.Visual Source Safe -> TFS Migration

Bây giờ tôi muốn loại bỏ các nguồn an toàn và chuyển sang Team Foundation Server.

Bạn có bất kỳ mẹo hoặc thủ thuật nào cho tôi trước khi tôi bắt tay vào quá trình di chuyển này không? Những điều tôi phải cẩn thận là gì?

Tôi chắc chắn quá trình di chuyển này có nghĩa là thói quen làm việc của chúng tôi phải được sửa đổi theo một cách nào đó. Bạn có nghĩ rằng những thay đổi này có thể là một vấn đề cho tổ chức? Hãy suy nghĩ về một nhóm khoảng 20 nhà phát triển .NET trong một trang web.

Trả lời

2

Tôi chỉ googled, nhưng this walkthrough có vẻ như là một tài liệu tham khảo tốt, và nó đề cập đến công cụ VSSConverter mà sẽ giúp bạn làm cho việc di chuyển càng đau càng tốt.

Tôi muốn giới thiệu một điều mặc dù: Sao lưu. Sao lưu mọi thứ trước khi bạn làm điều này. Nếu bất cứ điều gì đi sai thì tốt hơn là an toàn hơn xin lỗi.

Liên kết của tôi không hiển thị. Đây là địa chỉ: http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx

+0

Với việc chuyển sang TFS2010 các thủ tục được trình bày chi tiết tại http://msdn.microsoft.com/en-us/library/ms253060.aspx – benophobia

11

Có một vài cách khác nhau mà bạn có thể di chuyển. Công cụ này sẽ kéo lịch sử của bạn, v.v., nhưng cách thực dụng hơn và đơn giản hơn là khóa VSS làm kho lưu trữ lịch sử và bắt đầu mới:

  1. Tất cả mọi người kiểm tra mọi thay đổi vào VSS, đảm bảo mọi thứ đều được xây dựng, vv
  2. Đặt tất cả các cơ sở dữ liệu VSS để "khóa" (quyền read-only cho tất cả người dùng)
  3. Nhận mới nhất trên toàn bộ cơ sở dữ liệu VSS thành một tập "sạch" các thư mục trên một máy trạm
  4. Kiểm tra tất cả các tệp vào TFS từ máy trạm

Đối với bất kỳ lịch sử nào trước khi chuyển đổi, mọi người cần phải đi đến VSS, nhưng sau một hoặc hai tuần nó thực sự không xảy ra thường xuyên. Và bạn biết rằng lịch sử trong VSS là chính xác và không bị hỏng bởi quá trình chuyển đổi.

8

Lưu ý rằng TFS không hỗ trợ chia sẻ tệp giữa các dự án khác nhau, như VSS thực hiện. Nếu bạn có bất kỳ tệp được chia sẻ nào như vậy thì liên kết giữa chúng sẽ bị hỏng trong quá trình di chuyển, kết quả là ban đầu giống hệt nhau, nhưng bây giờ là các tệp riêng biệt trong mỗi dự án. Các cập nhật cho một trong các tệp này trong TFS sẽ không còn lan truyền tới các bản sao trong các dự án khác.

+0

Thật thiếu điều này feat. :( –

2

Chúng tôi hiện đang trong quá trình thực hiện việc này vào công việc ban ngày của mình. Chúng tôi đang thực sự chuyển đổi trong khoảng một tháng. Tôi là một phần chính của quá trình di cư và một phần lớn lý do tại sao chúng tôi đang thoát khỏi SourceSafe. Để trợ giúp trong quá trình di chuyển, tôi đã sử dụng Visual Studio® Team System 2008 Team Foundation Server and Team Suite VPC Image. Nó rất hữu ích. Ngay từ dơi, hình ảnh chứa một bản cài đặt TFS hoạt động đầy đủ để bạn có thể chơi và giới thiệu. Nó cũng bao gồm Hands on Labs và một trong các phòng thí nghiệm đang chạy công cụ di chuyển VSS -> TFS. Nếu bạn có một thuê bao MSDN, một khi bạn đã chơi với hình ảnh, bước tiếp theo sẽ là cài đặt phiên bản TFS Small Team đi kèm với đăng ký của bạn.

Một điều cần lưu ý là đảm bảo bạn nhận Gói dịch vụ mới nhất cho Visual Studio 2008 và Khuôn khổ .NET được cài đặt trên hình ảnh. Các gói dịch vụ đã sửa một số lỗi gây phiền nhiễu và chắc chắn nó làm tăng khả năng sử dụng của hệ thống. Chúng tôi có một cơ sở dữ liệu SourceSafe rất lớn với khoảng 90 dự án và công cụ di chuyển mất khoảng 32 giờ để hoàn thành.Trước tiên, tôi đã sao lưu cơ sở dữ liệu nguồn an toàn của chúng tôi để thử nghiệm. Sau đó, tôi đã thực hiện di chuyển trên cơ sở dữ liệu nguồn thử nghiệm. Sau đó, tôi đã kiểm tra cây nguồn trong TFS và mọi thứ được chuyển tốt. Chúng tôi lưu giữ tất cả lịch sử cho các tệp nguồn của chúng tôi từ VSS. Không cần phải giữ cơ sở dữ liệu VSS hôi thối xung quanh sau khi chúng ta phát trực tiếp.

Chúng tôi đang thực hiện di chuyển theo các bước. Đầu tiên là kiểm soát nguồn và cho phép các nhà phát triển của chúng tôi sử dụng nó. Sau đó, chúng tôi sẽ di chuyển QA và các nhà phân tích nghiệp vụ sang sử dụng các tính năng theo dõi mục công việc.

Lời khuyên của tôi là thực hiện di chuyển theo các bước. Đừng làm quá nhiều cùng một lúc. Dành thời gian cho những người sẽ sử dụng hệ thống để đào tạo.

1

Hướng dẫn tốt từ Guy Starbuck cũ của tôi. Một thứ khác để thêm vào cách tiếp cận đó - bạn có thể đã quyết định theo thời gian mà bạn muốn cấu trúc lại cách ứng dụng của bạn được tổ chức (các thư mục vv) và điều này sẽ cho bạn một oppurtunity để làm như vậy.

Tôi đã ở trong các tình huống mà chúng tôi tổ chức một giải pháp một cách bất ngờ mà không cần suy nghĩ (hãy để những thay đổi lớn trong ứng dụng) dẫn đến mong muốn tổ chức mọi thứ khác nhau - và di chuyển từ VSS sang TFS là một khả năng tuyệt vời vì thế.

Theo như câu hỏi ban đầu:

Và: di cư này sẽ chắc chắn có nghĩa là thói quen làm việc của chúng tôi phải được sửa đổi một cách nào đó. Bạn có nghĩ rằng những thay đổi này có thể là một vấn đề cho tổ chức? Hãy suy nghĩ với một nhóm khoảng 20 nhà phát triển .net, trong một trang web duy nhất

Tôi sẽ nói - có thói quen làm việc của bạn sẽ thay đổi nhưng tốt hơn nhiều.

  1. Bạn không nên sử dụng khóa "Thanh toán" và "Nhận mới nhất khi trả phòng".
  2. Bây giờ bạn có thể hiệu quả Chi nhánh và Hợp nhất
  3. Bây giờ, bạn sẽ có "Thay đổi" tất cả các tệp đã đăng ký cùng một lúc sẽ được nhóm lại với nhau. Điều này làm cho việc theo dõi thay đổi lịch sử trở nên dễ dàng hơn nhiều - nhưng quan trọng hơn - việc khôi phục dễ dàng hơn nhiều (nghĩa là tìm tất cả các tệp đã đăng ký cùng lúc và cuộn lại)
  4. Liên kết đăng ký với mục công việc. Đừng bỏ qua các mục công việc! Sai lầm lớn nhất bạn có thể thực hiện là chỉ sử dụng TFS như là một thay thế VSS. Các tính năng Xây dựng và Quản lý dự án là tuyệt vời - bạn đã trả tiền cho chúng - SỬ DỤNG THEM!

Theo như thông tin chi tiết về cách kinh nghiệm của bạn sẽ thay đổi, một đồng nghiệp cũ của tôi (và Team System MVP) Steve St. Jean đã viết một bài viết chi tiết về sự khác biệt: From VSS to TFS

6

Nếu bạn chọn sử dụng công cụ VSSConverter.exe mà tàu với Visual Studio Team Foundation Server, sau đó bạn nên cài đặt TFS 2008 SP1 đầu tiên vì nó bao gồm một số cải tiến như chi tiết on this blog by the migration tools team.

Một số tính năng chính của việc phát hành bao gồm:

Loại bỏ namespace mâu thuẫn.Tôi trước đây đã viết blog về vấn đề này là "sự cố đổi tên " và chúng tôi đã sửa công cụ chuyển đổi để di chuyển chính xác các tệp bằng các không gian tên trùng lặp. Đây là điểm đau lớn nhất đối với hầu hết người dùng cố gắng sử dụng các phiên bản trước của công cụ .

Khôi phục giải pháp tự động. Trong phiên bản mới nhất này, giải pháp VS tệp sẽ được tự động nâng cấp lên phiên bản 9.0 và kiểm tra lại trong để kiểm soát phiên bản. Người dùng trước đây được yêu cầu thực hiện việc này theo cách thủ công.

Sửa dấu thời gian mâu thuẫn. Việc sử dụng của khách hàng timestamps bởi VSS có thể dẫn đến sửa đổi được ghi theo thứ tự ngược rằng họ thực sự xảy ra trong . Công cụ này bây giờ nhận ra vấn đề này và tiếp tục di cư thay đổi nơi nó trước sẽ thất bại.

Cải thiện ghi nhật ký. Mặc dù chúng tôi đã khắc phục được rất nhiều vấn đề, cung cấp nhật ký chi tiết hơn, chi tiết hơn sẽ giúp người dùng gặp sự cố chẩn đoán sự cố.

2

VSS Converter là một giải pháp hoàn hảo. Và có sự khác biệt đáng kể giữa phiên bản 2005 và 2008SP1 của trình biến đổi.

Ví dụ: trong VSS DB đã được sử dụng trong một thời gian dài, sẽ có một số lượng lớn người dùng đóng góp cho VSS. Nhiều người trong số những người dùng này sẽ rời khỏi tổ chức từ lâu và do đó sẽ không có tài khoản miền nữa. TFS yêu cầu ánh xạ người dùng VSS tới các tài khoản miền, vì vậy bạn sẽ phải quyết định liệu bạn có bản đồ người dùng cũ vào một tài khoản miền 'giả' hay một thành viên nhóm hiện tại hay không.

Ngoài ra, VSS Converter 2008 yêu cầu các tài khoản miền này là tài khoản TFS hợp lệ. Trong khi đó, trình biến đổi 2005 không thực thi điều này.

Nếu lịch sử VSS của bạn chứa các thư mục quan trọng Di chuyển, thì có khả năng bạn sẽ mất tất cả lịch sử trước Di chuyển này. Ví dụ, nếu bạn di chuyển một thư mục đến một vị trí mới, sau đó xóa cha mẹ trước đó, bạn sẽ mất tất cả lịch sử. Xem bài viết này để được giải thích thêm: http://msdn.microsoft.com/en-us/library/ms253166.aspx

Trong một lần di chuyển tôi đã tham gia, chúng tôi có cơ sở dữ liệu VSS 10 năm đã mất tất cả lịch sử trước 6 tháng trước. Điều này là do một sự dọn dẹp đáng kể đã diễn ra cách đây 6 tháng.

2

TFS conversion tool < - Sử dụng này

Tôi đã sử dụng công cụ này đối với một số lần rồi, kết quả là khá satisfatory như nó đi kèm với lịch sử của changesets từ SourceSafe nếu bạn mong muốn quá.

Dù sao, bằng cách sử dụng công cụ này, bạn nên luôn chú ý đến các lỗi và cảnh báo trong nhật ký và kiểm tra xem mọi thứ được xây dựng có ổn hay không.

Bạn nên thử chạy Phân tích về SS trước khi chạy.

Hy vọng nó giúp

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