2011-04-14 28 views
8

Tôi đã có một dự án trên Mac và tải nó lên máy chủ thực thi. Khi tôi nhận được dự án từ PC, tất cả các kết thúc dòng đã được thay đổi và bây giờ nó không biên dịch trên PC. Có cách nào để tự động thay đổi kết thúc dòng như trước đây hay tôi phải gửi lại tất cả dự án từ Windows? Có cách nào để thực hiện perforce để giữ các tập tin của tôi AS THEY? Tôi thực sự không muốn có những sửa đổi ngu ngốc trong các tệp nguồn của mình.Lực lượng đã thay đổi kết thúc dòng

Cảm ơn!

EDIT:

Nó đã làm với cực chẳng đả, tôi chỉ thay đổi nội dung 10-20 tập tin trên MAC để thực hiện một dự án đa nền để biên dịch. Phần còn lại của các tệp 140k không được thay đổi và thậm chí không được mở trên máy Mac (chúng được trình biên dịch mở ra để biên dịch chúng: P). Nếu tôi sao chép dự án trên PC, kết thúc dòng là ok.

+0

Tôi không nghĩ rằng chẳng đả có bất cứ điều gì để làm với nó. Bạn nói rằng dự án của bạn là trên máy Mac. Có lẽ các trình soạn thảo văn bản MAC của bạn đã lưu các tệp có đuôi kết thúc MAC mà bạn đã đăng ký để thực thi. Bây giờ nếu bạn đồng bộ hóa chúng trên cửa sổ, chúng sẽ không thay đổi - ở định dạng Mac gốc. Bạn cần phải suy nghĩ về định dạng nào bạn thích - Windows hoặc Mac? và sau đó kiểm tra tệp của bạn một cách thích hợp. –

+1

Dòng kết thúc là ok, dự án đã được tạo trên PC và được sao chép trên Mac chỉ để biên dịch. Tôi không bao giờ thay đổi hầu hết các tập tin trên Mac. – Felics

Trả lời

8

Kết thúc dòng cho tệp văn bản được kiểm soát bởi cài đặt thông số khách hàng của bạn. Bạn cần đảm bảo rằng giá trị 'LineEnd' của khách hàng của bạn được đặt đúng. Nói chung, điều này nên được để lại 'địa phương' mà nên làm điều đúng cho bất kỳ hệ điều hành bạn đang sử dụng.

Điều đó nói rằng, tùy thuộc vào cách giá trị này được đặt trên máy Mac của bạn khi bạn tải lên tệp ban đầu, tôi cho rằng có thể có sự cố khi đồng bộ hóa các tệp đó với PC của bạn.

Tôi sẽ kiểm tra để đảm bảo rằng LineEnd được đặt thành 'cục bộ' cho khách hàng của bạn. Có một lưu ý trên trang Perforce Knowledge Base here nói sâu hơn về các cài đặt thích hợp cho các máy khách Macintosh. Đó có thể là một nơi để bắt đầu cũng như để đảm bảo rằng bạn có những thứ được cấu hình đúng trên máy Macintosh của bạn.

+0

Xử lý kết thúc dòng của Perforce bị hỏng hoàn toàn. Không có chế độ nào của nó thực hiện những gì được mô tả trong tài liệu hướng dẫn. Trong nhiều trường hợp, hành vi là biến "CRLF" thành "CRCRLF" – Richard1403832

0

Điều này không liên quan gì đến lực lượng thực sự, mặc dù nó không giải quyết được vấn đề.

http://kb.perforce.com/article/63

Kết thúc dòng trên UNIX, PC và máy Mac khác nhau. Đây là những gì bạn thấy. Việc chuyển cùng một tệp giữa PC và Mac trên mọi phương tiện sẽ có cùng kết quả. Bạn có thể có thể thiết lập trình soạn thảo của bạn trên máy Mac để lưu tệp với các kết thúc dòng cửa sổ nếu bạn muốn thực hiện theo cách này.

Tôi đã sai "Perforce xử lý tất cả các tệp văn bản bằng cách sử dụng dòng kết thúc LF kiểu Unix". Tôi muốn kiểm tra giá trị LineEnd của khách hàng p4 (phải là cục bộ trên cả hai máy tôi nghĩ) và đảm bảo bạn đang sử dụng phiên bản p4> = 2001.1

+1

Nó phải làm với lực lượng, tôi chỉ cần chỉnh sửa 10-20 tập tin trên MAC để thực hiện một dự án đa nền tảng để biên dịch. Phần còn lại của các tệp 140k không được thay đổi và thậm chí không được mở trên máy Mac (chúng được trình biên dịch mở ra để biên dịch chúng: P). Nếu tôi sao chép dự án trên PC, kết thúc dòng là ok. – Felics

+0

Vâng, xin lỗi. Chỉ cần đọc "Perforce xử lý tất cả các tệp văn bản bằng cách sử dụng dòng kết thúc LF kiểu Unix." Bạn đang sử dụng phiên bản perforce> 2001.1? Bạn đã kiểm tra xem giá trị "LineEnd" của khách hàng p4 của bạn là gì? – olan

1

Có thể. Sử dụng các kết thúc dòng Unix cho cả hai khách hàng của bạn sẽ cho các khách hàng tiềm năng để lại các tệp không thay đổi so với cách chúng được gửi. Bạn cũng có thể thiết lập một kích hoạt trên máy chủ để buộc nó theo cách này, hãy tham khảo câu trả lời của tôi cho câu hỏi này:

Setting Perforce line endings

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