2010-09-09 25 views
21

Tôi đã xem các mẫu cho các tệp bỏ qua Mercurial cho Visual Studio, trong số các tệp khác.Mercurial ignore-file để phát triển Eclipse và Android

Tôi vừa mới bắt đầu chơi xung quanh với phát triển Android và tôi cũng sử dụng thời gian này để thử nghiệm với Mercurial. Vì vậy, câu hỏi của tôi là: có ai có ví dụ hay về tệp .hgignore để sử dụng cho phát triển Eclipse và Android không?

Đối với người mới bắt đầu tôi đã có sau bản thân mình:

# use glob syntax 
syntax: glob 

# Ignore patterns 
.metadata\ 
bin\ 
gen\ 

Có bất kỳ khác bỏ qua mẫu mà nên được bao gồm? Ví dụ, các tệp Eclipse .classpath.project cũng bị bỏ qua khỏi điều khiển phiên bản?

- Chỉnh sửa bên dưới -

Tôi đã không hoàn toàn nhận được câu trả lời tôi hy vọng nào, vì vậy tôi sẽ đưa ra một tiền thưởng và cố gắng xác định rõ ràng hơn một chút những gì tôi đang tìm kiếm .

Sau khi thử nghiệm một chút, tôi dường như đã nhận thấy rằng đề xuất .hgignore được liệt kê ở trên dường như là đủ. Việc bổ sung duy nhất tôi đã thực hiện, là một dòng với .settings (đây là một thư mục xuất hiện sau khi tôi chạy Công cụ Android -> Sửa thuộc tính dự án). Tôi cũng thấy rằng (như đã đề cập bởi Ry4an) rằng các tệp Eclipse .classpath.project nên không bị loại trừ.

Tuy nhiên, tôi không chắc chắn rằng tệp bỏ qua nhỏ này sẽ đủ khi tôi nhận dự án lớn hơn một chút so với hướng dẫn cơ bản (nếu thực tế là tất cả đều tốt, vui lòng giải thích lý do và bạn sẽ nhận được tín dụng) . Vì vậy, để tóm tắt những gì tôi đang tìm kiếm:

  • Tôi muốn có một ví dụ cụ thể cho một tập tin .hgignore cho một dự án Android dưới Eclipse
  • Các bỏ qua tập tin nên để bất cứ khi nào tôi kiểm tra một bản sao của kho tại một vị trí mới, nó sẽ hoạt động ngay lập tức (tức là không cần phải gây rối với đường dẫn và tham chiếu, thêm các tập tin bị thiếu, vv)
  • Vui lòng giải thích lý do tại sao tệp bao gồm của bạn (tôi muốn hiểu tại sao nhất định các tệp/thư mục bị loại trừ (và tại sao một số phải được bao gồm))
  • Nếu bạn bao gồm không bao gồm cụ thể hệ điều hành, vui lòng ghi rõ như vậy (Tôi đang chạy trên Windows 7 btw.)
+0

Cập nhật câu hỏi ban đầu với thông tin thêm sau khi thêm tiền thưởng. – Nailuj

+0

Tôi sẽ không bỏ qua thư mục '.settings'. Nếu bạn thấy rằng plugin Android bao gồm những thứ cụ thể cho môi trường của bạn (ví dụ: đường dẫn được mã hóa cứng) trong một số tệp bên trong, thì hãy bỏ qua các tệp đó riêng lẻ. Tôi cũng không muốn tạo kho lưu trữ ngoài vùng làm việc của mình, và vì vậy tôi thường không có '.metadata' trong danh sách bỏ qua của mình (điều này mang lại cho tôi sự linh hoạt để nhập dự án từ nhiều kho lưu trữ, mặc dù tôi không chắc là quan trọng như thế nào đó là cho bạn). –

Trả lời

13

Các tập tin nhật thực chắc chắn sẽ được thêm vào.Các hướng dẫn chung là thêm:

  • tất cả những gì được viết tay/đánh máy
  • các tập con tối thiểu của mọi thứ khác cần thiết để xây dựng các dự án

Đó cuối cùng là nơi phán xét của bạn đến. Nó rõ ràng loại trừ các tệp .jar mà bạn xây dựng cho bản thân và tệp .apk cuối cùng của bạn, nhưng nó có bao gồm bên thứ ba .jar bạn sử dụng không? Một số người bao gồm chúng, nhưng tốt hơn là bao gồm một tệp cấu hình cho trình quản lý phụ thuộc như 'ivy', cho phép người xây dựng tiếp theo tải xuống các yêu cầu mà họ cần một cách tự động.

Sau khi tính năng tự động tạo ra một dự án trong các công cụ của tôi về sự lựa chọn, tôi sẽ chỉ làm một lệnh như thế này:

hg status --unknown --no-status >> .hgignore 

mà thêm vào danh sách của tất cả các file không biết đến .hgignore. Sau đó, tôi đi vào và loại bỏ những điều tôi muốn lưu (ví dụ: .project) và các tập tin ký tự đại diện mà sẽ phát triển anh chị em (ví dụ:. Lớp **)

+0

+1: Trạng thái 'hg --unknown --no-status >> .hgignore' có vẻ giống như một mẹo hay, cảm ơn :) Vì tôi khá mới với phát triển Android, tuy nhiên tôi hy vọng một ví dụ cụ thể và toàn diện - như bạn chỉ ra, điểm thứ hai của hai là phần cứng. – Nailuj

+0

Chỉ để tham khảo trong tương lai (và, nó sẽ là một sự xấu hổ đến cuối tiền thưởng đi đến chất thải;): mặc dù không hoàn toàn cụ thể, câu trả lời này cung cấp những gì tôi thấy là hữu ích nhất. Đối với một ví dụ đầy đủ, tôi đã kết thúc bằng cách sử dụng những gì tôi đã viết trong bài gốc (và dường như là đủ, sau một vài tuần thử nghiệm). – Nailuj

+0

Tuyệt vời, cảm ơn. –

1

tốt nếu dự án Android của mình hơn

local.properties nên cũng bị bỏ qua

+0

Tôi nghĩ rằng local.properties nếu từ Android Studio. –

5

Đây là hgignore tôi:

syntax: regexp 
\.DS_Store 
.swo 
.swp 
.metadata/ 
/bin/ 

Dù đó là một tốt một hoặc không phải là một vấn đề riêng biệt

+0

+1 cho một ví dụ cụ thể. Tuy nhiên, tôi sẽ chờ đợi một chút để có thêm câu trả lời/bình luận trước khi chấp nhận, để cho biết rõ hơn đó là một câu trả lời hay không;) – Nailuj

+1

Bạn không nên thoát khỏi các dấu chấm trong dòng 3-5? –

+1

Thư mục 'gen \' dành riêng cho Android ít nhất bị thiếu trong thư mục này, mà tôi chắc chắn. – Nailuj

1

tôi đã tìm thấy một ví dụ tốt về .hgignore. Nó làm việc cho tôi.

#Mercurial Ignore Rules for Android 
#Save as .hgignore in the repository base directory and add it to source control. 
syntax: glob 
*.class 
*.apk 
*.dex 
*.ap_ 
*.suo 

syntax: regexp 
^(.*[\\/])?gen[\\/].* 
^(.*[\\/])?bin[\\/].* 
^(.*[\\/])?obj[\\/].* 
^(.*[\\/])?log[\\/].* 
^(.*[\\/])?obf[\\/].* 
^(.*[\\/])?jars[\\/].* 
^(.*[\\/])?jar-sources[\\/].* 
^(.*[\\/])?javadoc[\\/].* 
^(.*[\\/])?\.svn[\\/].* 
^(.*[\\/])?\.metadata[\\/].* 
^(.*[\\/])?\.settings[\\/].* 

Nguồn: http://androidfragments.blogspot.ru/2011/11/hgignore-for-android.html

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