135

Trong khi đánh giá Visual Studio 2010 Beta 2, tôi thấy rằng trong thư mục được chuyển đổi, các tệp vcproj của chúng tôi đã trở thành vcxproj tệp. Ngoài ra còn có các tệp vcxproj.filter cùng với mỗi dự án có chứa mô tả cấu trúc thư mục (\ Source Files, \ Header Files, v.v.).Tôi có nên thêm tệp .vcxproj.filter vào kiểm soát nguồn không?

Bạn có nghĩ rằng các tệp bộ lọc này nên được lưu giữ cho mỗi người dùng hay chúng nên được chia sẻ trên toàn bộ nhóm dev và được kiểm tra vào SCC?

suy nghĩ hiện tại của tôi là để kiểm tra chúng trong, nhưng tôi tự hỏi, nếu có bất kỳ lý do để không làm điều đó, hoặc có lẽ lý do chính đáng tại sao tôi chắc chắn nên kiểm tra chúng trong.

Lợi ích rõ ràng là các cấu trúc thư mục sẽ phù hợp nếu tôi đang nhìn vào máy của người khác, nhưng có lẽ họ muốn tổ chức lại mọi thứ một cách hợp lý?

Trả lời

49

Phiên bản trước của Visual Studio (ít nhất là phiên bản 6.0 và 2008) lưu trữ thông tin đó trong tệp dự án của riêng họ (tệp .dsp và .vcproj tương ứng), tất nhiên là tốt để thêm vào SCC.

Tôi không thể nghĩ ra bất kỳ lý do nào để không bao gồm tệp .filter này trong SCC

+0

Tôi đang ở bên bạn. Tôi đã kiểm tra nó. Cảm ơn! – jschroedl

90

Chúng tôi cố ý kéo .filter. thông tin tệp ra khỏi tệp .vcproj khi chúng tôi dịch sang định dạng MSBuild .vcxproj. Một lý do chính xác là những gì bạn đã chỉ ra, các bộ lọc hoàn toàn là một chế độ xem logic và các thành viên nhóm khác nhau có thể muốn có các chế độ xem khác nhau. Cách khác là đôi khi xây dựng được thiết lập để kiểm tra dấu thời gian của tệp dự án và kích hoạt xây dựng lại nếu nó đã thay đổi - vì điều đó có nghĩa là có nhiều tệp nguồn khác nhau để xây dựng hoặc cài đặt khác, v.v. t nhớ lại nếu chúng ta thực sự được vận chuyển với việc xây dựng trigging theo cách đó, nhưng ý tưởng là chúng tôi không muốn kích hoạt xây dựng lại đơn giản chỉ vì các bộ lọc thay đổi, vì chúng không ảnh hưởng đến bản dựng.

+1

để tự động xây dựng lại, bạn xây dựng nếu * bất kỳ * tập tin đã thay đổi (ví dụ như nguồn), vì vậy bây giờ không có gì thay đổi ngoại trừ chúng tôi có một tập tin khác để quản lý. – gbjbaanb

+0

Chúng tôi đã kết thúc việc kiểm tra chúng và đã hài lòng với sự sắp xếp đó cho đến nay. Nó trở nên đẹp hơn khi chúng ta làm việc với các nhà phát triển khác nếu họ có cấu trúc bộ lọc giống nhau. – jschroedl

+2

nói cách khác, bạn quản lý cả hai tệp như thể chúng là một. Tôi không nghĩ rằng bất cứ ai khác sẽ đối xử với họ một cách riêng biệt. Đó là một ý tưởng hay, nhưng một chút suy nghĩ về các thực tiễn trong thế giới thực sẽ có một chặng đường dài (như đặt thời gian chạy trong WinSxS) – gbjbaanb

3

Tôi chỉ thấy rằng nếu bạn sử dụng Git, bạn có thể đánh dấu các tệp .filter được coi là liên kết để hợp nhất để làm cho nó đơn giản hơn. Chỉ cần thêm dòng:

*.vcxproj.filters merge=union 

vào tệp .gitattributes của bạn.

Xem Using .gitattributes to avoid merge conflicts để biết thêm chi tiết.

+0

Liên kết được đề cập không cho biết tệp .filters này phải có "union" được đề cập trong tệp gitattributes. – ollydbg23

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