2009-08-27 34 views
7

tôi biết làm thế nào để trở lại một phiên bản cụ thể của thư mục sử dụng những hướng dẫn này:Làm thế nào để khôi phục một thư mục vô tình xóa trong một kho lưu trữ svn

http://aralbalkan.com/1381

Tuy nhiên, tôi đã xóa toàn bộ thư mục và muốn nhận được thư mục đó trở lại mà không hoàn nguyên phần còn lại của kho lưu trữ.

Tôi đã thử tạo lại thư mục và sau đó hợp nhất các thay đổi lại, nhưng svn biết thủ thuật của tôi và nhận ra đó là một thư mục mới.

Tôi nên làm như thế nào?

Trả lời

21

Cách đơn giản nhất có lẽ là để svn copy cây mà bạn muốn, từ việc sửa đổi, nơi nó tồn tại cuối cùng:

svn copy [email protected] dest 

Xem Subversion Book để biết chi tiết.

+0

Điều đó có sao chép lịch sử sửa đổi không? Tôi có nghĩa là tôi có thể duyệt lịch sử của các tập tin trong thư mục sao chép? –

+0

Có - bản sao 'svn copy' với lịch sử. – Avi

+0

mẹo hay! cảm ơn. –

0

Bạn có thể kiểm tra bản sao làm việc mới, sau đó thực hiện xuất thư mục mà bạn quan tâm. Khi bạn đã xuất thư mục, nó sẽ không có siêu dữ liệu subversion trong đó. Sau đó, bạn có thể đặt thư mục vào bản sao làm việc mà nó đã bị xóa.

Chúc bạn may mắn.

0

Nếu bạn đã cam kết những thay đổi sau khi tái tạo lại thư mục có thể là bạn có cùng một vấn đề tôi đã:

tôi mất lịch sử của tôi cho các tập tin. Sau đó, tôi svn deleted thư mục một lần nữa, và khi thực hiện một

svn cp ^/path/to/[email protected] /path/to/directory 

tôi nhận được lỗi này:

svn: path "htttp://.../path/to/directory" not found for revision "revisionNumber". 

Trong trường hợp đó, bạn có thể sử dụng một thư mục phụ trợ (~/tmp /) để thực hiện một

cd ~/tmp; svn co -r revisionNumber /path/to/directory 

Nó sẽ tạo thư mục ~/tmp/directory/với tất cả các tệp chứa trong đó. giả sử rằng nơi bạn đã xóa thư mục là/địa điểm/của/my/trunk/path/to/

và sau đó phát hành một

cd location/of/my/trunk/path/; svn copy ~/tmp/directory/ to/ 

từ đó đường dẫn đến con đường nó phải ở trong cây của bạn .

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