2009-07-06 45 views
10

Sử dụng TortoiseSVN trên Windows, làm cách nào để xóa tệp khỏi kho lưu trữ đã bị xóa trên hệ thống tệp? Tôi hy vọng họ sẽ hiển thị như là "mất tích" hoặc "xóa" trên cam kết tiếp theo của tôi, nhưng điều đó dường như không phải là trường hợp.Làm thế nào để xóa các tệp khỏi SVN đã bị xóa khỏi FS?

Trên Linux/Mac, tôi chỉ cần chạy lệnh này:

svn st | grep ^! | cut -b7- | xargs svn delete 

-Chris

Trả lời

20

Bạn phải sử dụng "Rùa svn -> xóa" để xóa các tập tin.

Nếu bạn đã xóa trực tiếp do nhầm lẫn, làm một bản cập nhật svn để tải tệp trở lại và sau đó làm "rùa svn-> xóa"

:-)

1

tập tin hiển thị như "mất tích" trong hộp thoại cam kết của TortoiseSVN chỉ khi thư mục mà chúng bị xóa trong phiên bản và vẫn còn hiện diện. Nếu bạn đã xóa toàn bộ thư mục, thư mục đó sẽ không hiển thị dưới dạng bị thiếu.

1

Nếu bạn đã vô tình xóa tệp (không sử dụng svn), bạn có thể chỉ cần hoàn nguyên sửa đổi đó để lấy lại tệp, sau đó xóa nó bằng svn. Hoặc cài đặt dòng lệnh svn song song và sử dụng lệnh đó để xóa :)

+0

Nếu tôi nhớ chính xác, bạn thậm chí có thể chọn 'svn delete' từ menu ngữ cảnh trên hộp thoại hoàn nguyên. –

2

Nhấp chuột phải và mở trình duyệt kho lưu trữ TortoiseSVN. Bạn sẽ thấy tập tin trong repo và có thể xóa nó trực tiếp.

1

Tôi thường chỉ cài đặt cygwin trên cửa sổ và sử dụng svn từ dòng lệnh.

1

trên Linux, cũng xem xét các file với không gian trắng:

svn st | grep ^! | cut -b9- | sed 's/^/"/;s/$/"/' | xargs svn rm 

này làm việc trên cửa sổ cũng như nếu bạn cài đặt git cho các cửa sổ (msys), hoặc Cygwin.

0

Nếu bạn đã xóa tệp trước khi nó được cam kết lần đầu tiên, bạn không thể hoàn nguyên từ kho lưu trữ và sau đó lấy lại tệp để Tortise svn> delete theo gợi ý của Indhu.

Tôi vừa chạy vào trường hợp đó tôi đã sử dụng Tortise svn -> Thêm vào một vài tệp và sau đó xóa các tệp trực tiếp trước khi tôi đã cam kết. Có thể là một trường hợp không phổ biến, nhưng đây là cách tôi khắc phục sự cố của mình:

Trước tiên, tôi đã tạo tệp (trống) mới có cùng tên tệp như các tệp "bị thiếu". Sau đó, tôi đã làm một Tortise svn> Undo Add trên mỗi tập tin. Điều này gây ra svn ngừng cố gắng để cam kết các tập tin với những tên.

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