2013-04-10 18 views

Trả lời

20

Có, bạn nên làm như vậy. Nếu tệp này không nằm dưới sự kiểm soát phiên bản, thì bạn không thể tạo các bản dựng có thể tái tạo của cùng một dự án, bởi vì nó không còn tự chứa, nhưng phụ thuộc vào cài đặt Eclipse cụ thể của bạn và các thiết lập của nó.

Nếu bạn nhập dự án này vào không gian làm việc khác (trên máy của bạn hoặc bất kỳ máy nào khác), nó có thể hoạt động hoàn toàn khác, như cài đặt tuân thủ trình biên dịch, cấu hình cảnh báo trình biên dịch và nhiều thứ khác đột nhiên bị thiếu hoặc khác. Rất có thể là một dự án đột nhiên cho thấy cảnh báo/lỗi trong không gian làm việc mới, trong khi nó đã hoàn toàn tốt đẹp trước đây.

Lưu ý: Tất cả điều này cũng yêu cầu bạn thực sự định cấu hình tất cả cài đặt liên quan đến Java trong thuộc tính Dự án. Không bao giờ sử dụng các thiết lập trình biên dịch Java trong Window -> Preferences nếu bạn muốn có các dự án tự chứa.

Chỉ cần đưa ra một ví dụ cụ thể: Nếu bạn đã cấu hình mức tuân thủ trình biên dịch dự án của bạn thành Java 6, vì bạn đang sử dụng các tính năng cụ thể của Java 6 (như ghi chú Override trên giao diện), thì dự án sẽ create a lot of compile errors trên các máy khác.Điều này là do mức tuân thủ trình biên dịch mặc định trong mọi không gian làm việc của Eclipse là Java 1.5 và trong Java 1.5, việc ghi đè ghi đè đơn giản là không được phép.

Điều này không liên quan gì đến việc bạn đang phát triển nguồn đóng hay nguồn mở, như được chỉ ra trong câu trả lời khác.

10

Trái với ý kiến ​​của @ nitind, không. Bạn không nên đặt bất kỳ cài đặt IDE cụ thể nào trong điều khiển phiên bản. Ngoại trừ bạn đang phát triển các tính năng hoặc plugin của IDE.

Trong trường hợp bạn thực sự có cài đặt IDE toàn nhóm bắt buộc, đặt chúng dưới sự kiểm soát phiên bản sẽ là một ý tưởng hay, nhưng IMO có cài đặt nhóm bắt buộc không phải là một ý tưởng hay.

Đối với tất cả các trường hợp khác, cài đặt IDE được chia sẻ không tốt cho các bản dựng di động, ngay cả với cùng một IDE và vô ích nhất cho người dùng các IDE khác.

EDIT: Tôi nên phân biệt, tùy thuộc vào nhóm mục tiêu của dự án của bạn. Nếu bạn đang phát triển một sản phẩm nguồn đóng trong một nhóm làm việc với nhật thực, thì việc giữ các tùy chọn này dưới sự kiểm soát phiên bản là hữu ích và là một ý tưởng hay. Nếu bạn đang phát triển một thư viện, nguồn đóng hoặc nguồn mở, hoặc một dự án nguồn mở, tôi xem xét bỏ qua các sở thích phù hợp và lịch sự hơn.

EDIT2: Tôi sợ @Bananenweizen là sự hiểu lầm những gì tôi đang cố gắng nói.

Tôi biết rằng các cài đặt này là cài đặt trình biên dịch eclipse. Chúng vẫn là IDE cụ thể theo nghĩa là chúng sẽ không có bất kỳ ảnh hưởng nào trong Netbeans hoặc IntelliJ vì chúng sẽ không có bất kỳ tác động nào đối với kiến ​​hoặc maven xây dựng từ dòng lệnh.

Có, để các cài đặt này ngoài tầm kiểm soát phiên bản có thể mang lại cho bạn nhiều đường lượn sóng màu đỏ trong nhật thực trên một máy khác. Nó sẽ không, nếu đó là một dự án maven với một mức nguồn thiết lập bằng cách này, tôi không chắc chắn về kiến.

Eclipse không tự xây dựng các dự án - nó xây dựng chúng với kiến ​​nếu nó là một dự án eclispe hoặc ant, hoặc với maven nếu nó là một dự án maven. Cả kiến ​​và maven đều có cài đặt cụ thể cho phiên bản nguồn không phụ thuộc vào IDE.

Và đây là nơi các cài đặt này phải là - trong tệp xây dựng. Và tệp xây dựng phải nằm dưới sự kiểm soát nguồn. Các trường hợp ngoại lệ tôi đã đề cập trước đó vẫn áp dụng.

+1

Tệp thực tế được đề cập kiểm soát mức tuân thủ mã và cài đặt lỗi/cảnh báo trình biên dịch cho dự án, chẳng hạn như nếu/làm thế nào để báo cáo người dân địa phương không sử dụng, thành viên riêng tư, các lớp không được sử dụng hoặc không có giá trị. Nó không phải là về các kiểu định dạng, đó là về cách nghiêm ngặt bạn muốn thực thi chất lượng trình biên dịch cơ bản có thể phát hiện cho bất kỳ ai làm việc trong dự án đó. EDIT: tập tin này đặc biệt chỉ tồn tại bởi vì bạn đã chọn để ghi đè lên các mặc định không gian làm việc trong trang thuộc tính của dự án. EDIT: trừ khi bạn đang sử dụng Facets. – nitind

+0

@nitind - Vâng, bạn nói đúng, nó không phải là một chiều như tôi nghĩ. Vui lòng xem chỉnh sửa – kostja

+0

Bài đăng của bạn cho thấy quan niệm sai: Đó không phải là cài đặt cụ thể của IDE. Chúng có thể ở định dạng IDE cụ thể, nhưng chúng là một nội dung dự án thiết yếu, giống như đường dẫn lớp nổi tiếng. – Bananeweizen

1

Dưới đây là vấn đề với việc đưa nó dưới sự kiểm soát phiên bản .... Nếu bạn nhập và mở một dự án, Eclipse khẳng định khi IProject.open (...) được gọi trên chạm các tập tin trong .settings folder ... và đây là trước khi bạn có thể đăng ký nhà cung cấp nhóm trên đối tượng IProject. Điều đó có nghĩa là validateEdit sẽ không cháy và bạn gặp phải lỗi gây phiền nhiễu cho dù bạn nhấp vào "có" hoặc "không" trên cửa sổ bật lên hỏi "bạn có muốn làm cho nó có thể ghi được không?" Đó là tất cả tốt và tốt cho các nhà cung cấp khóa tập tin lạc quan, nhưng không tuyệt vời cho những người "bi quan". Đối với chúng tôi, đây chỉ là một phiền toái khác.

Nếu tùy thuộc vào tôi, có không có cách nào Tôi sẽ đặt các điều khiển này trong kiểm soát nguồn.

0

Câu trả lời là "có" và ở đây bạn tìm thấy động lực cho nó và cách thích hợp để thực hiện: watch the talk "Cam kết các tệp meta IDE: quan niệm sai lầm, hiểu lầm và giải pháp". hoặc xem slides tương ứng từ EclipseCon Europe 2015 bởi Aurélien Pupier @apupier (Kỹ sư phần mềm cao cấp, chuyên gia Eclipse).

+0

"Liên kết thật tuyệt vời, nhưng chúng không bao giờ là thông tin duy nhất trong câu trả lời của bạn". xem https://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers –

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