Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

"this operation is only valid for push"

Đang mở
#1,188 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
git, python
Lĩnh vực
backend, networking

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện hai chuỗi lệnh gọi bằng remote.ls_remotes(), remote.fetch() và remote.push(), sau đó kiểm tra connect_or_reset_options() và đường dẫn git_remote_push() được mô tả trong issue. Được xem là hoàn tất khi việc push trực tiếp sau ls_remotes() thành công mà không gặp lỗi GIT_ERROR_NET, kèm theo kiểm thử hồi quy cho chuỗi đó.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

The sequence of calls

remote.ls_remotes(...)
remote.fetch(...)
remote.push(...)

works, while

remote.ls_remotes(...)
remote.push(...)

doesn't, producing the GIT_ERROR_NET / "this operation is only valid for push" error.

I think this is because ls_remotes() explicitly calls connect(..., GIT_DIRECTION_FETCH), and fetch() implicitly calls disconnect() (within git_remote_fetch()). If fetch() is not called between ls_remotes() and push(), git_remote_push() encounters an existing connection with FETCH direction, and returns an error (from git_smart__get_push_stream()).

This could be addressed in several ways: either by disconnecting explicitly in ls_remotes(), or maybe by changing the implementation of connect_or_reset_options() and the functions it calls to handle the case where direction is changing.

Ngôn ngữ chính
Python
Star
1.7k
Fork
408
Merge trung bình
2 ngày 57 phút
Pull request đã merge (30 ngày)
7

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của libgit2/pygit2

Tất cả issue của libgit2/pygit2

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.