2011-01-05 32 views
6

Tôi đang sử dụng git svn cho repo svn. Đồng nghiệp của tôi cam kết repo một số thư viện có nguồn gốc và tôi không thể rebase thân của tôi sau đó:git svn: Nguồn Delta kết thúc bất ngờ

D  native/libVal.so.v8.0.38za 
    A  native/libHelpVAL.so 
    A  native/libValuation.so.v9.0.36l 

Incomplete data: Delta source ended unexpectedly at /usr/lib/git-core/git-svn line 5117

Tôi đã tryed để thiết core.autocrlf false (as suggested) và làm như clone, nhưng nó không giúp tôi. Tôi đang sử dụng git 1.7.3.3 dưới Cygwin (win xp).

Thx để được trợ giúp.

+0

Googled "Nguồn Delta kết thúc bất ngờ" và tìm thấy [this] (http://svn.haxx.se/dev/archive-2004-09/0006.shtml) ngụ ý đó là vấn đề ở phía svn. Có thể thử làm một 'git svn reset' thành một vài sửa đổi trước khi thay đổi đồng nghiệp của bạn thực hiện, và sau đó' git svn rebase'. – MatrixFrog

+0

@MatrixFrog Nhận xét của bạn nên được đăng dưới dạng câu trả lời ... – Donut

Trả lời

4

Tôi googled "Nguồn Delta kết thúc bất ngờ" và tìm thấy this ngụ ý đó là vấn đề ở phía svn. Có thể thử thực hiện một số git svn reset với một vài sửa đổi trước khi những thay đổi mà đồng nghiệp của bạn thực hiện, và sau đó git svn rebase.

+0

Điều này phù hợp với tôi, cảm ơn! – Christian

+0

Công việc này cho tôi cũng vậy, cảm ơn! – Nordin

+0

Làm việc cho tôi nữa, với 'git reset --hard ' sau khi 'git svn reset -r ' (trong đó git-commit <==> svn-rev) –

0

Here's cách tôi giải quyết vấn đề:

Bước 1: Tôi xác định các tập tin đó đã gây ra vấn đề. Có thể là tệp cuối cùng được đăng ký trước khi ngắt xây dựng.

Bước 2: Tôi đảm bảo rằng tất cả các tệp đã thay đổi trong thư mục tệp của vấn đề đã được cam kết với kho lưu trữ.

Bước 3: Tôi đã xóa thư mục tệp của vấn đề khỏi bản sao làm việc của tôi (không phải kho lưu trữ!). Nếu khó tìm ra tệp gây ra, chỉ cần xóa toàn bộ thư mục sau khi kiểm tra tất cả các sửa đổi.

Bước 4: Tôi đã cập nhật toàn bộ bản sao làm việc

1

Có vẻ như vấn đề của bạn nằm ở phía svn. Trong trường hợp của chúng tôi, một nhà phát triển đã hủy bỏ một lệnh cập nhật svn cho một thư mục. Trong trường hợp bạn không thể lấy xuống toàn bộ thư mục, bạn có thể thực hiện các bước này, mà làm việc cho tôi trong svn 1.6.11:

$ cd {directory_with_file} 
$ cd .svn 
$ vi all-wcprops 

Tìm kiếm tên tập tin vi phạm, bạn sẽ thấy tương tự như:

END 
{FILENAME} 
K 25 
svn:wc:ra_dav:version-url 
V 123 
/{URL}/!svn/ver/19811/{PROJECT}/trunk/{PATH_TO_FILE} 
END 

Xóa tất cả các hàng giữa 'END' cũng như một hàng 'END'. Lưu tệp chỉ đọc.

$ vi entries 

Tìm kiếm tên tập tin vi phạm, bạn sẽ thấy tương tự như:

^L 
{FILENAME} 
file 
{whitespace} 
2012-09-14T07:37:36.000000Z 
b32c5eec03f4be5c09fa7d9c71bac5ce 
2012-09-13T07:13:43.808544Z 
20167 
{COMMITTER} 
{whitespace} 
11157 
^L 

Xóa tất cả các hàng giữa '^ L', trong đó có một '^ L' hàng. Lưu tệp chỉ đọc.

$ cd text-base 
$ rm {FILENAME} 
$ cd ../../ 
$ rm {FILENAME} ; svn update {FILENAME} 
+1

phiên bản mới svn không có tệp all-wcprops – clevertension

0

Tôi đã nhận lỗi này khi chạy "git svn lấy" trên OS/X (Tôi đã sử dụng svn2git để nhập khẩu một repo svn lớn thành git). Vấn đề hóa ra là có hai chi nhánh chỉ khác nhau trong trường hợp, /branches/BUG-241/branches/bug-241, không hoạt động tốt với hệ thống tệp không phân biệt dạng chữ của OS/X.

Tôi đã làm việc xung quanh việc này bằng cách tạo hình ảnh đĩa phân biệt chữ hoa chữ thường với tiện ích đĩa (theo sau these instructions) và chạy nhập tại đó.

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