2010-03-06 28 views
25

Tôi đã có một thư viện tĩnh được biên dịch (có phần mở rộng "a"). Tôi muốn đưa vào kho SVN nhưng thêm nó không bao giờ hoạt động (không có vấn đề gì thêm các loại mục khác) . Nếu tôi thay đổi tiện ích mở rộng (ví dụ: "library.a" -> "library.b"), công cụ thêm sẽ hoạt động. Tại sao phần mở rộng "a" không thành công? Có cách nào xung quanh điều này mà không cần đổi tên tệp?SVN sẽ không nhập thư viện * .a

+2

"Trạng thái svn - no-ignore" cho bạn biết điều gì? Nó có thấy các tệp * .a không? – jtm

+2

Tôi ở phía trước nghĩa là tệp đang bị bỏ qua. Vì toàn cầu không bỏ qua bạn có một sự bỏ qua cục bộ. làm "svn propedit svn: ignore" – jtm

+0

Điều này cũng được thảo luận ở đây: http://stackoverflow.com/questions/2125303/svn-propget-svnignore-returns-nothing-but-svn-is-obviously-ignoring-my-files/2125487 # 2125487 – Ether

Trả lời

50

Bạn đã kiểm tra cài đặt bỏ qua chung của mình chưa. Trên Linux chúng được lưu trữ trong ~/.subversion/config

Giá trị mặc định trên máy tính của tôi là:

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo 

nên nó bỏ qua các tập tin * .a

chi tiết here

Bạn nên có thể thêm tệp bằng

svn add "file" --no-ignore 

để bỏ qua mọi lần bỏ qua quy tắc lại được đặt.

Nếu lệnh:

svn status --no-ignore 

lợi nhuận với tôi trước bạn có bỏ qua một địa phương. Chạy:

svn propedit svn:ignore 
+0

Cảm ơn vì điều này. Tôi đang sử dụng Mac OS X và trong tệp ~/.subversion/config của mình, tính năng bỏ qua toàn cục được đặt thành mặc định: 'global-ignores = * .o * .lo * .la # * #. *. rej * .rej. * ~ * ~. # * .DS_Store' không bao gồm * .a. – Jon

+4

'svn thêm" library.a "--no-ignore' đã hoạt động. Cảm ơn! – Jon

+2

Tôi đang sử dụng OS-X (10.8.latest) và toàn cầu bỏ qua của tôi là nhận xét ra, mà tôi đọc có nghĩa là "không có toàn cầu bỏ qua." Tuy nhiên, bất cứ khi nào tôi thêm một thư mục với một tệp .a thư viện (ví dụ: libs bên thứ 3, chẳng hạn như Flurry), nó luôn bỏ qua tệp .a. Sau đó, khách hàng của tôi không thể xây dựng, sau đó tôi quay trở lại và 'svn thêm somelib.a' một cách rõ ràng, sau đó tất cả là tốt. Có cách nào để ** tắt ** mặc định này "bỏ qua tất cả các .a-s" hành vi? Cảm ơn! – Olie

2

Trên Mac OSX (Sư tử) Tôi đang sử dụng SCPlugin (http://scplugin.tigris.org/).

Điều này cho biết thêm một cửa sổ bật lên tìm kiếm đẹp mắt với lệnh SVN trên nó và nó cho phép tôi thêm các tệp * .a khi svnx hoặc xcode không cho phép nó.

Tôi nghi ngờ nó thực sự là một lỗi vì nó rõ ràng bỏ qua các thiết lập bỏ qua chính xác (trớ trêu thay), nhưng đối với những người không muốn gây rối với thiết bị đầu cuối, nó chứng minh tiện dụng.

EDIT: SmartSVN cũng cho phép bạn xem các tệp bị bỏ qua để chúng có thể được thêm dưới dạng bất kỳ tệp thông thường nào. Chỉ cần kiểm tra các tùy chọn 'bỏ qua tệp' trong trình đơn chế độ xem.

1

Bằng cách này, nếu bạn đang sử dụng nhập khẩu SVN (tức là, không phải là một bản sao làm việc), bạn có thể ghi đè lên bỏ qua của toàn cầu với:

--config-option=config:miscellany:global-ignores=[new ignores] 
0

Tôi đã gặp câu hỏi này thời gian gần đây, đây là con đường của tôi :

svn import --no-ignore --force svn://destination 
1

Chúng ta có thể thêm các thư viện trên svn:

svn add library.a --no-ignore 

Sau khi add svn cần phải được cập nhật:

svn update 

Commit thay đổi nào trên svn sử dụng:

svn commit -m "library.a added on svn" 
3

Vì vậy, tôi khuyên bạn nên thực sự chỉnh sửa tập tin ~/.subversion/config để cho phép .a file một lần nữa:

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo 
#global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo 

Bởi vì tôi có rất nhiều tệp .a trong dự án của tôi.

+0

Tôi đã phải điều tương tự w/1.7. Ngay cả khi nhận xét, SVN đã quyết định bỏ qua toàn bộ tệp. Vi phạm nguyên tắc ít bất ngờ nhất định. Tôi không hiểu gì? –

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