2009-04-05 25 views
5

Tôi đã đẩy thành công repo này một thời gian, nó bắt đầu cho tôi lỗi sau từ đâu, bất kỳ ý tưởng nào tại sao nó xảy ra?lỗi git push: các đối tượng đóng gói đã chết với lỗi lạ

Ishaqs-Mac:source ishaq$ git push 
Counting objects: 68, done. 
Delta compression using 2 threads. 
Compressing objects: 100% (50/50), done. 
Connection to SERVER closed by remote host. 
error: pack-objects died with strange error 
error: failed to push some refs to 'SERVER:PROJECT.git' 

đánh giá cao thời gian và trợ giúp của bạn.

+0

Tôi đang sử dụng Mac OS X 10.5 Leopard với phiên bản Git 1.6.2 và tệp lớn nhất tôi có trong repo của tôi là bên trong .git/objects/pack -r - r - r-- 1 nhân viên ishaq 8.1 M Apr 5 18:20 pack-7feb0b56fcf48eb328f0d4f1a734064d15f9051c.pack –

Trả lời

4

Vài điểm kiểm tra:

  • vấn đề không gian đĩa ở phía đẩy (như "hết không gian đĩa" trong $ GIT_DIR hoặc $ TMP_DIR?)

  • đúng vấn đề (trong đó tài khoản được xử lý?)

  • Vấn đề cụ thể cho nền tảng: trên Mac OS, bạn có thể có MacPort configuration problem.

  • sự khác biệt của phiên bản giữa git ở phía đẩy và một trên trang web từ xa (có nghĩa là ví dụ nếu bạn cố gắng đẩy submodules trên ngang hàng từ xa, với git nhị phân mà không biết về submodule , bạn có thể có một số rắc rối như thế này)

Lưu ý: Kể từ khi là một error message associated with the pack_object() function, vì vậy kiểm tra xem git pack vẫn hoạt động.

static void pack_objects(int fd, struct ref *refs) 
{ 
    for (;;) { 
     int status, code; 
     pid_t waiting = waitpid(pid, &status, 0); 
     if (waiting < 0) { 
      if (errno == EINTR) 
       continue; 
      return error("waitpid failed (%s)", strerror(errno)); 
     } 
     if ((waiting != pid) || WIFSIGNALED(status) || 
      !WIFEXITED(status)) 
      return error("pack-objects died with strange error"); 
     code = WEXITSTATUS(status); 
     if (code) 
      return -code; 
     return 0; 
    } 
} 

Note-bis: có một số trường hợp gần đây cho thông báo lỗi này khi pushing to GitHub (cuối tháng Giêng 2009)

+0

Cảm ơn, - Tôi đã cài đặt git thông qua trình cài đặt (không phải cổng Mac) tôi vẫn có thể có vấn đề cụ thể về MacPorts này không? - kho lưu trữ có quyền tương tự như mọi repo khác - máy chủ có 1.5.4, nhưng nếu đây là vấn đề, nó phải có trước khi - git repack hoạt động tốt –

+0

Tôi chỉ nhân bản repo đến một vị trí khác, và cố gắng đẩy, nó hoạt động tốt. không biết những gì sai với bản sao hiện tại, nó có 7,8 cam kết địa phương vì vậy tôi không thể chỉ loại bỏ nó :( –

4

Thật không may, các thông báo lỗi không phải là rất hữu ích. Nhưng vấn đề của bạn không đến từ gói Git; thông báo lỗi đầu tiên là từ OpenSSH, đó là khả năng tiếp cận máy chủ từ xa nhưng không đăng nhập:

Connection to SERVER closed by remote host. 

Đây không phải là một vấn đề mật khẩu (trong đó có một thông báo lỗi khác nhau) nhưng có thể là một vấn đề cấp phép (như một nhóm không có quyền phù hợp, đôi khi tôi thấy trên OSX) hoặc tên tài khoản không được công nhận (trên một số hệ thống báo cáo này có vấn đề về mật khẩu) hoặc hết thời gian chờ. Bạn có thể thử đăng nhập từ dòng lệnh:

$ ssh [email protected] 

để khám phá loại sự cố bạn đang gặp phải. Bạn cũng có thể thử sửa các quyền; OS X có vẻ đặc biệt dễ bị các vấn đề về quyền truy cập định kỳ và chạy từ các nhóm lẻ.

Sidenote - vì bạn đang sử dụng Leopard, tôi khuyên bạn nên cài đặt SSHKeychain, quản lý nhận dạng SSH và sẽ tự động lưu trữ mật khẩu SSH của bạn trong hệ thống keychain. Nó sẽ không giúp vấn đề hiện tại của bạn, nhưng có thể ngăn chặn các vấn đề tương tự trong tương lai.

+0

Hi Paul, Tôi đã cài đặt keychain và tôi có thể đăng nhập vào máy chủ của tôi chỉ f thông qua các phím của tôi :-) đã sao chép vào một vị trí khác và cho phép tôi đẩy từ đó. cố gắng tạo và áp dụng các bản vá cho vị trí đó, không hoạt động, các lỗi khoảng trắng sau hôm nay tôi đã đẩy nó từ văn phòng của tôi –

+0

Thú vị. Tôi không thấy làm thế nào mà dẫn đến các thông báo lỗi, nhưng như tôi đã nói, các thông báo lỗi không giúp đỡ nhiều. Chúc mừng bạn đã được giải quyết. – Paul

-1

Nếu bạn tình cờ sử dụng công cụ đánh giá mã như gerrit và bạn nhận được điều này khi bạn cố gắng đẩy mã, có thể là do các chương trình java nói chung là tuyệt vời trong quản lý bộ nhớ. Và bạn sẽ không tìm thấy bất cứ ai trên internet có thể giúp bạn, cho đến khi bạn, trong tuyệt vọng, quyết định giết gerrit và khởi động lại nó. Và sau đó poof, sự cố của bạn sẽ biến mất ... cho đến vài ngày sau đó, khi bạn sẽ cần phải khởi động lại gerrit lần nữa cho cùng một vấn đề.

Java thật tuyệt vời.

+0

không, như tôi đã nói, điều duy nhất làm phiền tôi khi tôi đẩy từ bất kỳ địa điểm nào khác ngoài nhà của tôi (văn phòng, quán cà phê, vv), nó hoạt động tốt. không làm việc ở nhà. Tôi không phải trên java. –

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