Tôi muốn có nhiều khuynh hướng tìm ra những gì đang xảy ra với các thuộc tính và giải quyết vấn đề đó hơn là cố gắng bỏ qua chúng. Điều đó nói rằng, ở phần cuối của câu trả lời này, có một lớp lót sẽ tăng tốc quá trình hoàn nguyên của bạn nếu bạn đang sử dụng Linux.
Vì lợi ích của câu trả lời này, tôi đã đặt thuộc tính trên một tệp (window.c
) và sửa đổi một (window.h
).
svn status
M window.c
M window.h
Các lệnh chính svn sử dụng đối với tài sản là:
svn propset answer 42 window.c
property 'answer' set on 'window.c'
Thiết lập một 'trả lời' propety trong hồ sơ window.c để đánh giá 42. Bạn có lẽ không muốn sử dụng này.
svn proplist window.c
Properties on 'window.c':
svn:keywords
svn:eol-style
answer
Liệt kê tất cả các thuộc tính (không có giá trị) trên tệp.
svn propget answer window.c
42
Lấy giá trị của một thuộc tính cụ thể.
svn propedit answer window.c
Set new value for property 'answer' on 'window.c'
Mở trình chỉnh sửa (trên máy của tôi là nano tất cả mọi thứ) và cho phép bạn chỉnh sửa thuộc tính, sau đó đặt nó trên tệp đã cho.
svn propdel answer window.c
property 'answer' deleted from 'window.c'.
Xóa thuộc tính được chỉ định (điều này có thể sẽ không giải quyết được sự cố của bạn).
Bạn cũng có thể làm svn diff
để tìm ra các tài sản là khác nhau:
svn diff window.c
Index: window.c
===================================================================
--- window.c (revision 35712)
+++ window.c (working copy)
Property changes on: window.c
___________________________________________________________________
Added: answer
## -0,0 +1 ##
+42
\ No newline at end of property
này về cơ bản nói rằng sự thay đổi duy nhất ở đây là một 'trả lời' bất động sản đã được thêm vào, với giá trị 42 (và không có xuống dòng).
Vì vậy, những gì tôi muốn làm Bắt đầu với svn diff
và tìm hiểu những gì đang thay đổi:
svn diff controllers/database/udfs/searchForNameContSrch.sql
svn diff controllers/main
Có một google cho các tài sản đó đang thay đổi và xem nếu bạn có thể tìm ra những công cụ được thiết lập nó và tắt nó đi.
Bạn có thể thử sử dụng svn propdelete
để bỏ qua các thuộc tính, nhưng tôi không nghĩ điều đó sẽ hữu ích.
Không đó - một Revert kịch bản nhanh chóng
Ngược lại, nếu bạn đang sử dụng Linux, lót này sẽ phục hồi các tập tin có thay đổi tài sản, nhưng không sửa đổi nội dung.
XIN VUI LÒNG KIỂM TRA NÀY VỀ CẬP NHẬT KHÔNG CHÍNH XÁC LẦN ĐẦU TIÊN, CÓ?!?!?
svn status | grep "^ M" | sed "s/^.\{8\}//" | while read rv; do svn revert $rv; done
Đó là:
tình trạng svn
ống thông qua grep và bộ lọc cho dòng CHỈ bắt đầu bằng 'M' (vì vậy nó sẽ bỏ qua 'MM' - quan trọng).
tô nó qua sed và xóa 8 ký tự đầu tiên (tất cả các cột trạng thái trước tên tệp).
ống thành vòng lặp và hoàn nguyên tên tệp đã cho.
Đây là nó trong hành động:
svn status
M window.c
M window.h
svn status | grep "^ M" | sed "s/^.\{8\}//" | while read rv; do svn revert $rv; done
Reverted 'window.c'
svn status
M window.h
Đây có lẽ là gian lận và quá thanh nha là một câu trả lời, nhưng thỉnh thoảng tôi sao chép và dán các tệp tôi muốn vào vi, xóa cột chữ cái đầu tiên, sau đó giữ phím shift-J cho đến khi tất cả tên tệp trên cùng một dòng, sau đó thêm "svn ci -mBlahBlah" vào phía trước của dòng đơn đó và cuối cùng thực hiện dòng đó dưới dạng lệnh shell. –
:-) đó là loại giống như hoàn nguyên các tệp tôi không muốn cam kết. Họ không nên cam kết, chúng tôi không biết tại sao các tài sản đã được thay đổi anyway. – Radek
Q1: Bạn có thể sử dụng Tortoise để thực hiện loại công việc đó. Chọn trong hộp kiểm các tập tin bạn muốn cam kết. Q2: Cùng một công cụ phản hồi vào Q1, Rùa làm việc đó cho bạn, nếu bạn có nhiều tệp, bạn có thể xóa chúng bằng công cụ này. –