2009-04-14 22 views
8

Tôi không nhận ra svn delete sẽ xóa bản sao cục bộ của mình, tôi chỉ muốn nó ra khỏi kho lưu trữ. Bây giờ tất cả các tệp của tôi đã biến mất và chúng cũng không nằm trong thùng rác. Có cách nào tôi có thể phục hồi chúng không?Hoàn tác SVN xóa ./* --force


Tôi nên làm rõ, những tệp này không bao giờ đặt trong kho. Tôi đã cố gắng để loại bỏ một số rác cũ trong kho để tôi có thể kiểm tra những thứ này.

Tôi đang chạy Ubuntu trên hệ thống tệp ext3. Mặc dù vậy .... Tôi đã cố gắng làm lại những gì tôi đã xóa trong khoảng 2 giờ.

+1

Ouch. Có một bản sao lưu bao gồm hoặc repo SVN hoặc bản sao địa phương của bạn? Thậm chí vô tình? Bạn có thể lấy lại các khối đĩa bằng một tiện ích phục hồi không? Trên tất cả, hãy thử đừng hoảng sợ ... – RBerteig

+2

Xin chào Mark, chỉ muốn đề cập đến rằng tôi vừa trải qua cùng một vấn đề, mặc dù tôi đã sử dụng 'svn remove' mà tôi nghĩ sẽ không làm giống như' svn delete' . Thậm chí còn có một tin nhắn hỏi tôi rằng tôi có thực sự muốn làm điều này không, nhưng thông báo này không chỉ ra rằng các tệp của tôi sẽ bị xóa cục bộ. Tôi nghĩ họ nên làm cho thông điệp đó phù hợp hơn. –

+1

@Brian: Vâng tôi biết eh !? Khủng khiếp! – mpen

Trả lời

3

Không.

Không trừ khi chúng vẫn đang được một số ứng dụng khác sử dụng, xin lỗi.

+0

Điều gì mang lại cho tâm trí, có ai khác trong dự án này không? Họ có thể có một bản sao. –

+0

Không, netbeans muốn đóng các tệp khi chúng bị xóa vì một số lý do chậm phát triển ... nếu không nó sẽ vẫn nằm trong bộ nhớ. – mpen

+0

Nhiều IDE có xu hướng tự động mở lại khi chúng được tiền cảnh, điều này chủ yếu là giúp quá trình phát triển cùng với quá trình từ xa sửa đổi một phần của tệp để bạn có thể tiếp tục làm việc để không nhận được một phiên bản trên đĩa và một phiên bản có trong bộ nhớ. –

1

Bạn không thể kiểm tra xem bạn đã làm việc gì trong thư mục mới chưa? Nếu bạn có bất kỳ thay đổi nào không được phiên bản bạn là SOL, bất cứ điều gì khác bạn chỉ có thể svn trở lại phiên bản mới nhất trong kho lưu trữ.

+0

Thật không may là không. Tôi đã cố gắng kiểm tra chúng vào kho lưu trữ, nhưng có một số xung đột với một số tệp cũ hơn nằm trong kho lưu trữ. Tôi đã cố gắng để xóa những người để tôi có thể kiểm tra trong những thứ mới ... cũng điều này thực sự thổi. – mpen

+1

đây là loại dữ liệu mà DVCS giúp - bạn cam kết cục bộ trước khi hợp nhất. đoán bạn sẽ phải đặt nó xuống như kinh nghiệm –

+0

@jk. Đã cho tôi một thời gian để quấn đầu của tôi xung quanh DVCS, nhưng tôi thực sự thích nó ngay bây giờ. – mpen

0

Bạn đã sử dụng lệnh 'svn delete' và xóa bản sao cục bộ. Nó có nghĩa là các phiên bản gốc của các tệp vẫn tồn tại trong lịch sử SVN. 'svn delete' không xóa lịch sử của tập tin từ kho lưu trữ. Bạn có thể khôi phục phiên bản mới nhất theo cách sau đây

  1. Kiểm tra nhật ký SVN và tìm số sửa đổi 'thao tác xóa'.
  2. Sử dụng 'thanh toán svn' để kiểm tra bản sửa đổi ngay trước 'thao tác xóa'. (ví dụ: nếu số phiên bản của hoạt động xóa là 100, hãy xem số bản sửa đổi 99) svn checkout --revision
+1

Thay đổi cục bộ mà anh ta thực hiện không có trong repo sửa đổi và do đó anh ta không thể khôi phục chúng. –

+0

vừa xem nhận xét "Tôi nên làm rõ, những tệp này chưa bao giờ được đưa vào kho lưu trữ." Bằng cách nào đó didnot nhận ra nó khi tôi đã viết câu trả lời –

0

Tùy thuộc vào máy khách SVN của bạn, bạn sẽ có thể nhận các tệp này từ bản sửa đổi trước đó bằng cách sử dụng "Hiển thị log" như nó được gọi là trong Rùa ...

Chỉ cần mở nhật ký tìm một phiên bản mà tập tin đó vẫn còn đó và 'trở lại phiên bản này'

0

Nếu bạn dưới cửa sổ, bạn có thể kiểm tra (một phần) tên công cụ miễn phí zero assumption recovery. Thực sự hữu ích khi bạn xóa các tệp trên cửa sổ!

Hoặc nếu bạn bật tính năng này và bạn đang sử dụng vista, bạn có thể kiểm tra "phiên bản trước" của thư mục trong thuộc tính của nó.

hy vọng điều đó sẽ hữu ích! chúc may mắn.

0

Bạn chạy lệnh nhật ký svn và nhận số sửa đổi của việc xóa không hài lòng. sau đó chạy svn merge -r2572: 2571 svn: // $ PATH_WHERE_YOU_DELETED_NUMBER_WAS_ON_SVN_SERVER & LOCAL_PATH_WHERE_TO_SAVE_FILE

nơi -r là những con số sửa đổi

dụ merge -r2572: 2571 svn: //www.jane16.com /var/opt/svn/mypoject/Start.java C:/ecplipse/không gian làm việc/myporject/Bắt đầu.java

1

Đi đến thư mục tập tin,

svn revert "filename" 

sẽ khôi phục bất kỳ tập tin bị xóa tại địa phương, nhưng không cam kết, nhưng đã thuộc phiên bản được kiểm soát.

+0

"không bao giờ làm cho nó vào kho" - nghĩa là, không kiểm soát phiên bản – mpen