2009-06-19 12 views
11

Có ai biết cách tốt để loại bỏ ràng buộc kiểm soát nguồn vss cho một studio hình ảnh 2005 và 2008 mà không cần mở nó trong studio trực quan?nguồn trực quan an toàn - làm thế nào để loại bỏ ràng buộc khỏi giải pháp w/o mở trong studio trực quan

Tôi từng sử dụng: del /s /f /a: *.*scc Sau đó, khi tôi mở studio trực quan, nó sẽ nhắc tôi và cho tôi tùy chọn "xóa vĩnh viễn ràng buộc".

Bây giờ khi tôi thử, nó sẽ tạo lại tệp .vssscc và cho tôi biết bản sao làm việc của tôi chứa phiên bản khác của tệp .vsscc. Không có tùy chọn để loại bỏ ràng buộc kiểm soát nguồn.

Vấn đề thực sự là tôi đang cố gắng làm việc trên một bản sao được dán nhãn cũ của giải pháp từ nguồn an toàn. Nhưng, nếu tôi mở giải pháp trong khi nó vẫn bị ràng buộc để kiểm soát nguồn nó sẽ nhận được phiên bản mới nhất của trang web. Nó thực hiện điều này mặc dù tôi có tùy chọn "Kiểm soát nguồn -> Môi trường -> Nhận mọi thứ khi mở một giải pháp hoặc dự án" không được chọn.

Trả lời

19

Tôi đã làm việc này bằng cách chỉnh sửa tệp giải pháp cũng như xóa tệp *. * Scc.

Dưới đây là những gì tôi lấy ra từ các tập tin giải pháp:

Trong phần:

ProjectSection(WebsiteProperties) = preProject 

tôi loại bỏ các 4 dòng sau:

 SccProjectName = ""$/HOS_amend.root/HOS", ENWBAAAA" 
     SccAuxPath = "" 
     SccLocalPath = ".." 
     SccProvider = "MSSCCI:Microsoft Visual SourceSafe" 

Cũng loại bỏ toàn bộ phần:

GlobalSection(SourceCodeControl) = preSolution 

Sau khi thực hiện điều này khi tôi mở giải pháp, tôi nhận được lời nhắc với tùy chọn "xóa vĩnh viễn các ràng buộc".

0

Tôi không chắc chắn câu trả lời "tốt nhất", nhưng tôi có thể cung cấp một số thông tin: Đầu tiên là cách duy nhất để tôi tách riêng dự án hoặc giải pháp VS2005/2008 và tạo VSS mới giải pháp và dự án với cùng cài đặt, trong thư mục mới, sao chép tất cả các mô-đun, lớp, biểu mẫu, vv thành viên tập tin hơn và sau đó thêm chúng vào dự án và cuối cùng, thiết lập lại tất cả các dự án và giải pháp thuộc tính để phù hợp.

Nếu ai đó có tốt hơn đáng tin cậy cách làm điều này tôi rất thích nghe, nhưng cho đến nay mọi thứ khác mà tôi đã thử đã dẫn đến phá vỡ cả dự án/giải pháp và tích hợp VSS.

AFAIK, nguyên nhân của việc này là ràng buộc giữa các dự án VSS và VS trong các giải pháp.SSC, solution.VSSSCC, solution.SLN, mssccprj.scc, vssver.ssc và *.% Proj tệp và có thể trong SUO (ugh!).

+1

Yikes! Tôi chắc chắn quá lười biếng cho tất cả những điều đó. –

+0

Tôi nghĩ rằng tôi cũng vậy, cho đến khi tôi phải làm điều đó ... :-( – RBarryYoung

3

Chỉ cần tìm kiếm dự án của bạn cho * .scc và .vss, xóa tất cả các, sau đó mở dự án của bạn trong Visual Studio 2008, mà sẽ hỏi bạn nếu bạn muốn loại bỏ các ràng buộc hoặc sửa chữa nó

3

Đây là file .cmd tôi sử dụng để loại bỏ tất cả các file kiểm soát nguồn:

:: *.scc 
:: =========================================================================== 

attrib /s -h -s "*.scc" :: Must get rid of system and hidden attributes 
attrib /s -r "*.scc"  :: at same time 
del /s "*.scc" 

:: *.vssscc 
:: =========================================================================== 

attrib /s -h -s "*.vssscc" 
attrib /s -r "*.vssscc" 
del /s "*.vssscc" 

:: *.vspscc 
:: =========================================================================== 

attrib /s -h -s "*.vspscc" 
attrib /s -r "*.vspscc" 
del /s "*.vspscc" 

:: *.vsscc 
:: =========================================================================== 

attrib /s -h -s "*.vsscc" 
attrib /s -r "*.vsscc" 
del /s "*.vsscc" 

Sau đó bạn có thể mở trong Visual Studio và được nhắc nhở để loại bỏ các ràng buộc kiểm soát nguồn (mà loại bỏ các dòng đề cập bởi Seth Reno, tức là.

SccProjectName = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 
    SccAuxPath = "x" 
    SccLocalPath = "xxx" 
    SccProvider = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 

)

Hoặc bạn có thể làm một số loại loại bỏ biểu hiện thường xuyên, nhưng tôi không có mã cho điều đó.

+0

Cảm ơn, điều đó thực sự hữu ích – TENNO

+0

Giải pháp tuyệt vời! Tôi đã tìm kiếm ban đầu là một tùy chọn menu trong VS. Và như đã nói trong câu trả lời khác, là một, nhưng nó không có vẻ như nó sẽ làm sạch các tập tin readonly/hidden/system.Vì vậy, làm điều đó đầu tiên chỉ là dễ dàng, và sau đó VS nhắc unbind có nghĩa là tôi thậm chí không phải tìm kiếm các lệnh menu ! :-) – Abacus

6

Trong Visual Studio

  1. mở dự án của bạn, sau đó goto
  2. File -> Source Control -> Change Source Control.
  3. chọn dự án và/hoặc giải pháp
  4. nhấp vào Hủy liên kết.

Bạn cũng cần thay đổi thuộc tính chỉ đọc của tất cả các tệp để đọc/ghi để có thể sửa đổi chúng sau này.