2009-08-31 39 views
17

Tôi đang cố gắng nhập một kho lưu trữ lật đổ lớn vào git bằng git-svn (để tôi có thể làm việc trong git nhưng vẫn dcommit để lật đổ theo thời gian). Sau khi nhập hơn 4000 sửa đổi bây giờ tôi đang nhận được lỗi sau bất cứ khi nào tôi chạy git svn fetch hoặc git svn rebase, mà tôi không quản lý để thoát khỏi:gây tử vong: git-write-tree: lỗi xây dựng cây

$ git svn fetch 
error: invalid object 100644 1f2....742 for 'src/path/.../file.cs' 
fatal: git-write-tree: error building trees 
write-tree: command returned error: 128 

Những gì tôi đã cố gắng cho đến nay:

  • git fsck --full không báo cáo bất cứ điều gì, cũng như thế git fsck --unreachable hoặc git fsck --no-reflog
  • git gc --aggressive không giúp
  • di chuyển các tập tin gói duy nhất đi và reimporting nó với git unpack-objects không giúp
  • git svn reset -rXY với XY thấp hơn một chút so với số lần quay lại được nhập mới nhất dường như không giúp bạn, cũng không xóa thủ công các mục nhập mới nhất từ ​​reflog lên đến XY.
  • khởi động lại. Nghe có vẻ ngớ ngẩn, nhưng tôi đã quan sát một số vấn đề lạ khi nhập bản sửa đổi đầu tiên ~ 4000, như thể một thứ gì đó đã bị rò rỉ nhiều tài nguyên hạt nhân (rất có thể trong hệ thống phụ của windows), có thể liên quan đến msys/mingw (hoặc trình quét virus avira, mà tôi đã vô hiệu hóa để thử nghiệm).

Tôi cũng không tìm ra lỗi 128 thực sự là viết tắt của. Bất kỳ ý tưởng? Cảm ơn trước!

Có thể liên quan đến this question, đó cũng là lỗi 128 nhưng có các thông báo lỗi khác nhau và không có giải pháp.

msysgit phiên bản 1.6.4.msysgit.0 với bash trên xp sp3

+1

Hỏi về danh sách gửi thư git ([email protected]), bạn không cần phải đăng ký bài đăng (và có một vài giao diện web để đọc nó, bao gồm Gmane và MARC) –

Trả lời

34

git svn gc

(có thể git gcgit prune trước đó)

+0

Cảm ơn, điều đó đã hiệu quả! Không biết nếu gc/prune là cần thiết, tôi làm chúng như là một vấn đề của khóa học. – Tobu

+0

Đã thử tất cả chúng mà không cần giải quyết ... –

+0

Tôi gặp sự cố này.Chỉ chạy 'git svn gc' mà không có' git gc' và 'git prune' sửa nó cho tôi. – thakis

4

Câu trả lời ngắn: Cố gắng giải quyết mọi xung đột nhập, cam kết họ, và họ lấy/kéo lại .

Giải thích dài hơn: Tôi đoán bạn đã giải quyết vấn đề này, vì nó đã được đăng cách đây rất lâu. Tôi đang viết điều này vì xếp hạng của Google về các bài viết StackOverflow đủ cao để những người khác có vấn đề này rất có khả năng truy cập trang này nếu họ gặp lỗi này.

Tôi gặp phải lỗi tương tự khi cố gắng thực hiện "stit git", những gì hóa ra là vấn đề là xung đột hợp nhất đã xảy ra sau khi kéo. Tôi đã không giải quyết được xung đột, và điều này đã để lại kho lưu trữ trong trạng thái ngăn tôi không thể kéo/hợp nhất/...

Nếu bạn đảm bảo không có bất kỳ tệp chặn nào, hãy thử lại.

Chúc may mắn!

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