2012-03-03 35 views
6

Tôi muốn thực hiện một nhiệm vụ Rake để tự động hóa một số nhiệm vụ mà tôi phải làm để chuyển những thay đổi từ phát triển sang sản xuất (và có, tôi biết có cái gì đó giống như Capistrano, và nó là quá nhiều đối với tôi) . Ở trung tâm, có một số lệnh tương tác như git add -i và một loạt các cam kết và đẩy. Về mặt sản xuất, sẽ có các nhiệm vụ kéo và tài sản để thực hiện.api ruby ​​tốt nhất để git là gì?

Thật là tẻ nhạt khi nhập vào mọi lúc các lệnh giống nhau nên tôi muốn tự động hoàn toàn. Những gì tôi không tìm thấy là API Ruby dành cho Git.

Nó sẽ làm việc trong môi trường Windows 7, và cho phép ít nhất các lệnh sau: git add, git status, git commit, git push, git pull.

+0

Nếu capistrano quá nhiều, bạn có nghĩ đến việc sử dụng cào thay thế không? – zsquare

+0

Vâng, mà tôi đã yêu cầu trong câu hỏi: Tôi muốn thực hiện một nhiệm vụ Rake ... Vì vậy, phần tôi thiếu là một API Git hợp lý cho Ruby. – mliebelt

Trả lời

5

This one có vẻ khá phổ biến. Nếu bạn quan tâm nhiều hơn đến GitHub thì bạn có thể muốn xem this one.

UPDATE:

Rugged dường như là mới nhất ra khỏi đó dù Gem cho nó chưa được xây dựng trong một thời gian. Có thể là tốt nhất để sử dụng nguồn từ Github.

+0

Nhưng nó là khá cũ (2,5 năm không có thay đổi ở tất cả). Kinh nghiệm của bạn với nó là gì. API có hợp lý không, bạn đã sử dụng nó trong Windows chưa? – mliebelt

+0

Xin lỗi, hãy xem bản cập nhật của tôi. Tôi đã không sử dụng bất kỳ của họ vì vậy nó sẽ là khó khăn để trả lời bình luận hợp lý. – ScottJShea

+0

Sau một số thử nghiệm, [Git] (https://rubygems.org/gems/git) có vẻ hợp lý: nó hoạt động trong giao diện điều khiển 'rails c' của tôi và có các tính năng mà tôi muốn. – mliebelt

10

tôi biết, thói quen xấu, nhưng tôi muốn ghi lại những kinh nghiệm của cuối tuần này:

  • Có một câu hỏi tương tự như trên https://softwareengineering.stackexchange.com/questions/62843/best-ruby-git-library rằng tên 3 ứng cử viên có liên quan: Git, GritRugged.
  • Git và Grit không được phát triển thêm nữa, Rugged hiện đang được phát triển nhưng chưa hoàn thành.
  • Git làm việc ra khỏi hộp, nhưng có một số thiếu sót: thiếu sót
    • Có được biết đến (xem issues).
    • Tôi gặp sự cố, các mục được thêm vào và thay đổi không phù hợp, chúng có thể chỉ ở một trong hai trạng thái (điều này không đúng với Git).
    • API là hợp lý và hoạt động tốt trong bảng điều khiển, tập lệnh Ruby hoặc tác vụ Rake.
  • Grit không làm việc cho tôi chút nào và tôi không tìm thấy lý do. Tôi đã nhận được dấu vết ngăn xếp (những người cấp thấp), và đã thử một vài bản vá có thể có liên quan để sử dụng trong Windows 7, nhưng không thành công.
  • Gồ ghề không thể cài đặt cho tôi, vì vậy tôi filed a bug để chắc chắn có một số phản hồi. Vấn đề có vẻ là gồ ghề chỉ hoạt động cho các hệ thống POSIX, vì vậy nó không phải là compilable với DevKit cho Ruby.

Vì vậy, tôi sẽ cố gắng tìm phiên bản được biên dịch của libgit2.dll dành cho Windows 7 và sẽ cố gắng sử dụng. Tôi đã làm điều đó trong quá khứ với sqlite3.dll, vì vậy có lẽ đó là thử tốt nhất. Đối với tôi, gồ ghề là giải pháp hợp lý nhất, bởi vì có những người đứng sau dự án đó, họ quan tâm đến việc cung cấp giải pháp hoạt động trên nền tảng chéo.

1

tháng 7 năm 2013 cập nhật:

Dường như Rugged là công cụ của sự lựa chọn vào lúc này.Nó đang được duy trì tích cực và có vẻ như hầu hết (tất cả) của các ủy ban cốt lõi làm việc tại github.

Mặc dù grit là phổ biến nhất và được tạo bởi một trong những người sáng lập github, nó chưa được xúc động trong 5 tháng và có ít hoạt động.

Xem Ruby-Toolbox để biết chi tiết.

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