2009-05-13 36 views
7

Khi tôi cố gắng cam kết tệp trong SVN hiển thị lỗi của nó là "Cam kết không thành công" .Theo dõi sau .... cam kết svn: Dòng kết thúc dòng không nhất quán.Dòng kết thúc SVN

+2

Tôi có một biến thể đáng sợ của sự cố này: Tôi thấy thông báo lỗi này trong thư viện __streams__. Nhìn vào các tập tin cho lỗi, tôi thấy các tên như 'test/unicode_demo_utf8_crlf.txt'. Tôi nghi ngờ rằng những tập tin này đẫm máu tốt __supposed to__ có phong cách dòng kết thúc không phù hợp. Thật không may, việc thêm '--force' vào' svn import' không đủ để khuyến khích lật đổ và đọc các tệp. Bất kì giải pháp nào? '--double-secret-force' có lẽ? –

Trả lời

8

Kiểm tra thuộc tính svn của bạn trên thư mục/tệp. Nếu bạn đã định nghĩa kiểu svn: eol, nhưng tệp của bạn chứa các kiểu khác nhau (Unix vs DOS) thì cam kết sẽ thất bại, vì SVN không biết chuyển đổi thành.

tham khảo: http://svn.haxx.se/users/archive-2006-07/0702.shtml

1

Khi bạn nhận thức được những dòng kết thúc phong cách svn hy vọng, hầu hết các biên tập viên hiện đại sẽ có các tùy chọn để chuyển đổi nguồn của bạn hoàn toàn với một phong cách này hay cách khác. Bạn cũng có thể chạy các biểu thức chính quy để phát hiện và thay đổi chúng (tôi thích Perl cho điều này).

MSDOS EOL: "\ r \ n"

UNIX EOL: "\ n"

+3

DOS (và Windows) sử dụng "\ r \ n". Ngoài ra, Mac OS Classic (9 trở xuống) sử dụng "\ r". –

1

Kiểm tra EOLs trong cam kết thông báo riêng của mình: Nếu bạn vượt qua một cam kết thông báo từ tập tin với --file chuyển đổi, thực hiện đảm bảo kiểu EOL trong thông báo cam kết là nhất quán (tất cả DOS hoặc tất cả UNIX).

0

chọn phong cách dòng cuối thành công cụ của bạn (như kdiff) chính nó ... ngay phía dưới cùng (ngay bên trên dòng đầu ra)

1

cho tín đồ, dưới đây là cách thiết lập thủ công prop để một hay khác:

svn propset svn:eol-style LF path/to/filename 
+0

Đối với tôi sửa chữa là xóa thuộc tính – Charbel

+0

@Charbel Đó không thực sự là một sửa chữa, nó chỉ là bỏ qua vấn đề. Cho dù đó gây ra bất kỳ vấn đề thực sự sẽ phụ thuộc vào các công cụ khác/ngôn ngữ đang được sử dụng. – thelem

0

Tôi đang sử dụng TortoiseSVN trong môi trường Windows. Tôi đã nhận lỗi này khi cố gắng để cam kết các tập tin dự án, có lẽ được viết bằng Linux (một dự án AVR32). Tôi đã có thể nhận được xung quanh vấn đề này chỉ đơn giản bằng cách mở mỗi tập tin trong Microsoft Visual Studio, tại thời điểm đó VS nhắc tôi để bình thường hóa các kết thúc dòng. Chọn làm như vậy khiến Rùa ngừng phàn nàn.

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