Tôi có một dự án nguồn mở mà tôi muốn đóng gói thành tệp .zip chứa các tệp nhị phân và nguồn. Dự án được lưu trữ trên CodePlex và sử dụng TFS làm điều khiển nguồn. Tôi không chắc chắn làm thế nào để xuất khẩu các dự án để loại bỏ tất cả các ràng buộc kiểm soát nguồn. Bằng cách đó mọi người có thể dễ dàng mở giải pháp cục bộ mà không nhận được lời nhắc đăng nhập. Chức năng này được gọi là Xuất trong Git, nhưng tôi không chắc chắn cách thực hiện điều tương tự trong Nhóm.Nhận giải pháp không được gửi từ TFS
Trả lời
This blog post chứa các kịch bản PowerShell sau đó có thể chạy trên thư mục kiểm soát nguồn của bạn và sẽ loại bỏ các ràng buộc kiểm soát nguồn từ các tập tin:
# Remove unnecessary files
get-childitem . -include *.vssscc,*.user,*.vspscc,*.pdb,Debug -recurse |
%{
remove-item $_.fullname -force -recurse
}
# Remove the bindings from the sln files
get-childitem . -include *.sln -recurse |
%{
$file = $_;
$inVCSection = $False;
get-content $file |
%{
$line = $_.Trim();
if ($inVCSection -eq $False -and $line.StartsWith('GlobalSection') -eq $True -and $line.Contains('VersionControl') -eq $True) {
$inVCSection = $True
}
if ($inVCSection -eq $False) {
add-content ($file.fullname + '.new') $_
}
if ($inVCSection -eq $True -and $line -eq 'EndGlobalSection') {
$inVCSection = $False
}
}
mv ($file.fullname + '.new') $file.fullname -force
}
# Remove the bindings from the csproj files
get-childitem . -include *.csproj -recurse |
%{
$file = $_;
get-content $file |
%{
$line = $_.Trim();
if ($line.StartsWith('<Scc') -eq $False) {
add-content ($file.fullname + '.new') $_
}
}
mv ($file.fullname + '.new') $file.fullname -force
}
Thông tin liên kết kiểm soát nguồn là một phần của tệp Dự án và Giải pháp VS và khó loại bỏ. Tuy nhiên, có hai tùy chọn tôi biết:
Nếu bạn "nhận" dự án, sao chép/di chuyển thư mục nguồn đến một vị trí khác, sau đó mở lại giải pháp, VS sẽ đề nghị xóa các ràng buộc kiểm soát nguồn .
Ngoài ra, để thực hiện việc này tại chỗ, bạn có thể mở giải pháp kiểm soát nguồn trong VS và sau đó nhấp vào Kiểm soát nguồn/kiểm soát nguồn/thay đổi nguồn. Cuộc đối thoại này có nút "Không liên kết" sẽ xóa các ràng buộc cho từng dự án.
(Nhớ lại: thử nghiệm trên VS2010; không chắc chắn bạn đang sử dụng phiên bản nào.)
Tôi đang sử dụng TFS 2010. Một trong những vấn đề với chỉ là không liên kết là tôi muốn tránh sao chép tạo ra obj/và bin/thư mục. –
Vâng, bạn có thể Nhận và không xây dựng trước khi bạn unbind. Có thể thiết lập một không gian làm việc thứ hai trên một máy tính duy nhất, và sau đó sử dụng nó chỉ để mở khóa. (Một chút kịch bản thông minh có lẽ sẽ tự động hóa dễ dàng như vậy.) –
bạn luôn có thể làm sạch chúng trước khi sao chép. Làm sạch trong Visual Studio sẽ nhận được một số các tập tin, nhưng nếu bạn muốn chắc chắn, bạn có thể thêm lệnh này sẽ thêm một tùy chọn nhấp chuột phải trong File Explorer để làm một đệ quy xóa trên bin và obj. Ví dụ này là dành cho các thư mục .svn, nhưng bạn có thể dễ dàng điều chỉnh nó theo nhu cầu của bạn. http://weblogs.asp.net/jongalloway//shell-command-remove-svn-folders –
TFS không hỗ trợ xuất mã nguồn mà không ràng buộc. Như Dan Puzey đã đề cập, bạn chỉ có thể tạo một bản sao của điều khiển nguồn và loại bỏ các ràng buộc kiểm soát nguồn.
Đối với dự án cụ thể của mình, tôi chỉ cần sao chép các tệp và xóa mọi thứ liên quan đến TFS. Tôi đã làm điều này như là một phần của cấu hình triển khai mà tôi đã sử dụng với TeamCity cho một dự án mã nguồn mở.
Tôi dự định chuyển dự án này thành Git ngay khi có ý nghĩa.
Dưới đây là một câu trả lời khác.
Tôi đã sao chép và dán giải pháp với các dự án từ vị trí này đến vị trí khác và tôi không được nhắc kết nối với điều khiển nguồn khi tôi cố mở nó ở vị trí mới.
Khi tôi đi đến tệp-> kiểm soát nguồn-> nâng cao-> thay đổi kiểm soát nguồn, tôi không có khả năng unbind. Vì vậy, tôi đã mở tệp giải pháp trong trình chỉnh sửa văn bản và xóa phần sau:
GlobalSection(TeamFoundationVersionControl) = preSolution
....
EndGlobalSection
Dường như đang hoạt động; Tôi hi vọng nó giúp ích cho ai đó.
- 1. Nhận "Không thể tạo bản đồ" khi thêm giải pháp vào điều khiển nguồn TFS
- 2. Nhận tất cả thư mục từ TFS bằng TFS SDK
- 3. Lỗi TFS: Không thể xác định không gian làm việc cho giải pháp này
- 4. Đảm bảo các dự án trong giải pháp từ cùng một chi nhánh TFS
- 5. TFS và các dự án được chia sẻ trong nhiều giải pháp
- 6. Làm thế nào để bạn nhận được thư mục giải pháp hiện tại từ VSPackage?
- 7. Giải pháp gửi email của Google Compute Engine (GCE)?
- 8. Email qua cổng SMS được gửi nhưng không nhận được
- 9. Nhận UIButton văn bản từ người gửi
- 10. Làm cách nào để cấu hình TFS hoạt động với Gmail để gửi Cảnh báo TFS?
- 11. Xuất bản giải pháp vs2012 từ TeamCity
- 12. "Thư viện kiểu không được chấp nhận", Whats là giải pháp thay thế tốt nhất?
- 13. Phương pháp S4 có được gửi chậm không?
- 14. Rollback toàn bộ giải pháp/dự án để changeset cụ thể trong TFS?
- 15. Làm cách nào để tự giải quyết xung đột và đánh dấu chúng là giải pháp khi sử dụng TFS?
- 16. Cách sửa lỗi: Không thể phân tích cú pháp thư nhận được từ máy chủ
- 17. Nhiều bản sao của giải pháp trên một người dùng/máy với TFS 2010
- 18. Cách ngắt kết nối giải pháp khỏi điều khiển nguồn trên TFS
- 19. Di cư từ TFS 2010 sang TFS 2012
- 20. Selector không được nhận gửi đến dụ UIViewController
- 21. Thêm dự án mới vào giải pháp hiện có trong TFS
- 22. Java Multicast Gửi dữ liệu, không nhận được
- 23. Nhận người gửi ip từ gói multicast
- 24. Sys.WebForms.PageRequestManagerParserErrorException: Thông báo nhận được từ máy chủ không thể được phân tích cú pháp
- 25. Tích hợp liên tục TFS Chỉ kích hoạt một dự án trong một giải pháp
- 26. Visual Studio dự án không được xây dựng khi tôi xây dựng Giải pháp từ msbuild
- 27. Chỉ chấp nhận yêu cầu nhận/gửi từ localhost
- 28. - [NSNull objectForKeyedSubscript:]: chọn không được công nhận gửi đến dụ
- 29. [__NSCFConstantString pointSize]: chọn không được công nhận gửi đến instanc
- 30. HttpClient tiêu đề xác thực không nhận được gửi
Woot Woot! Tôi đã sử dụng kịch bản này để giúp tôi kiểm soát nguồn TFS tốt. – hylander0
Những lời chỉ trích sau đây là nhằm vào MS: đây phải là một tính năng tích hợp.Không cần phải khóa như vậy. –
Kịch bản tuyệt vời! Cảm ơn –