2008-12-28 22 views
8

Tôi sử dụng công cụ khác biệt bên ngoài với Subversion (Beyond Compare rules!), Và một trong những tính năng tuyệt vời là có thể sử dụng chương trình khác để thực hiện một số chỉnh sửa nhỏ cho tệp khi tôi đang xem xét các thay đổi mà tôi đã thực hiện .Tại sao svn diff đôi khi sao chép các tệp đang hoạt động sang tệp tạm thời?

Nhưng svn diff hoạt động khác nhau trên các dự án khác nhau của tôi. Trong tất cả, các tập tin bên tay trái là một tập tin tạm thời có chứa các phiên bản mới nhất được lưu trữ trong Subversion (người đứng đầu). Nhưng trong một số, tệp bên phải là tệp làm việc thực tế, trong khi ở những người khác, đó là bản sao tệp tạm thời của tệp đang hoạt động. Trong trường hợp đầu tiên, tôi có thể thực hiện các thay đổi trong chương trình khác và chúng ảnh hưởng đến bản sao làm việc. Trong trường hợp thứ hai, tôi đang chỉnh sửa một tệp tạm thời, vì vậy các thay đổi sẽ bị mất.

Tại sao Subversion đôi khi khác với tệp đang hoạt động nhưng đôi khi chống lại bản sao tạm thời của tệp đang hoạt động? Làm thế nào tôi có thể làm cho nó luôn luôn sử dụng các tập tin làm việc?

Trả lời

11

Bạn có bất kỳ từ khóa svn: nào được đặt trên các tệp đó không? Nếu có, thì Subversion sẽ tạo tệp tạm thời đầu tiên có tất cả các từ khóa mở rộng 'chưa được mở rộng' này. Điều này là để tránh việc tất cả các dòng từ khóa được hiển thị là khác nhau ngay cả khi chúng không bị thay đổi. Ví dụ, nếu bạn phân biệt một tệp trong bản sao làm việc của bạn với BASE, tệp BASE không có từ khoá nào được mở rộng (và cũng được lưu với dòng LF), trong khi tệp trong bản sao làm việc của bạn có tất cả các từ khoá được mở rộng (và có thể được lưu trữ với các tiêu đề CRLF). Nếu bạn không sửa đổi tệp cục bộ, 'svn diff' sẽ hiển thị tất cả các dòng khác nhau (nếu kết thúc dòng không khớp) hoặc ít nhất tất cả các dòng có từ khóa sẽ được hiển thị là khác nhau - không phải là những gì bạn mong chờ.

+0

Đó là thuộc tính svn: keywords! Cảm ơn. –

+0

Cuối cùng đã tìm ra! Đã có cùng một vấn đề với thuộc tính svn: eol-style. – ocarlsen

0

Có thể có một số sự cố truy cập. Hãy thử đặt một tệp thành chỉ đọc, nếu svn mở tệp tạm thời ngay bây giờ, đây là một câu trả lời có thể cho câu hỏi của bạn. Trong trường hợp này, có lẽ một số trình soạn thảo/IDE bạn sử dụng ghi bảo vệ tệp.

+0

Suy nghĩ tốt, nhưng dường như không liên quan gì đến quyền ghi hoặc người chỉnh sửa đang mở tệp. –

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