2011-01-14 35 views
5

Khi tôi cam kết tôi không có lỗi. Bây giờ tôi đã cố gắng để kiểm tra và tôi đã nhận lỗi nàySubversion Không thể đọc dòng chiều dài trong tập tin

Không thể đọc dòng dài trong tập tin 'c: \ svn \ db \ vòng quay \ 0 \ 14'

Tôi đã thử phiên bản cũ hơn nó không làm việc. Nó có nghĩa là tôi đã mất tất cả mọi thứ trong lật đổ?

+0

Tôi không thấy cách liên quan đến lập trình này. – unwind

+1

@unwind Từ [help -> Tôi có thể hỏi những chủ đề gì ở đây?] (Http://stackoverflow.com/help/on-topic) "các công cụ phần mềm thường được các lập trình viên sử dụng" –

+0

Tuyệt vời, vấn đề này vẫn xảy ra 3 năm một lát sau. May mắn thay, không phải trên một codebase thương mại lớn và không có quá nhiều lịch sử bị mất để lo lắng, vì vậy tôi bị cám dỗ để bắt đầu lại với git. – leetNightshade

Trả lời

1

Tôi đã có cùng một vấn đề và đây là sửa chữa đơn giản mà tôi tìm thấy mà không cần quản lý kho SVN.

  1. lỗi được tạo bởi một tệp cụ thể mà tôi phải cam kết.
  2. tôi cam kết tất cả các tập tin thay đổi khác Ok
  3. tôi sao chép các tập tin địa phương để các máy tính để bàn như một bản sao lưu
  4. SVN-> Xóa tập tin
  5. cam kết thư mục. Nó đã thành công
  6. thêm các tập tin từ máy tính để bàn trong thư mục địa phương
  7. svn -> thêm, svn-> cam kết

vấn đề cố định. Tôi nghĩ rằng cách này bạn mất các phiên bản trước của tập tin từ kho lưu trữ nhưng điều này không phải là một vấn đề đối với tôi.

Hy vọng thông tin này có thể giúp bạn.

+3

Cảm ơn rất đáng sợ rằng svn có thể làm hỏng các tập tin. – user310291

1

Có vẻ như cơ sở dữ liệu Berkeley đã bị hỏng, bạn nên sử dụng FSFS chương trình phụ trợ vào lần sau. Bây giờ, hãy xem Berkeley DB Recovery.

1

Điều này có vẻ là lỗi SVN hoặc một số lỗi H/W. Tôi sẽ bắt đầu tìm kiếm một bản sao lưu. Nếu bạn không có - bạn có thể cam kết bản sao làm việc tại địa phương của bạn trong kho lưu trữ mới.

2

Bạn có thể chạy

svnadmin verify /var/svn/repo 

để kiểm tra kho lưu trữ của bạn.

Trong trường hợp bạn sử dụng Berkeley db (bạn không nên),

svnadmin recover /var/svn/repo 

có thể giúp đỡ.

+1

Nó không hoạt động. – Dmitry

0

Dường như db đã bị hỏng đối với một trong các sửa đổi của bạn.

Vì vậy, lúc đầu bạn có thể nâng cấp lên phiên bản trước đó và thay đổi phiên bản cuối cùng trong db:

svn update -r99 
vi /var/svn/site/db/current 
[change number to "99"] 

Hơn bạn phải tìm hiểu những gì thư mục bị hỏng và thay thế nó trong kho. [bị hỏng] - tên của thư mục bị hỏng của bạn.

cd /var/www/site/ 
svn delete --keep-local [corrupted] 
svn ci [corrupted] -m "Remove corrupted directory from repository" 
rm -rf `find /[corrupted] -name .svn` 
svn add [corrupted] 
svn ci [corrupted] -m "Add fixed directory" 
Các vấn đề liên quan