2013-06-03 40 views
5

Tôi cần được thông báo khi kho git bị thay đổi. Đơn giản chỉ cần sử dụng móc là không đủ tốt: Tôi biết rằng một số thư viện như libgit2 không tôn vinh móc. Thay vào đó, tôi cần một cách để tự giám sát các tệp bằng các thay đổi bằng cách sử dụng inotify hoặc một số tương đương nền tảng.Làm thế nào để giám sát kho lưu trữ git để thay đổi?

CẬP NHẬT: Lý tưởng nhất là thư viện git-cụ thể cung cấp móc khi thay đổi git repo (thư viện mà chính nó sẽ cần sử dụng giám sát hệ thống tệp).

Trả lời

0

Watchman bởi Facebook: https://github.com/facebook/watchman

Họ đang sử dụng nó để cắt giảm xây dựng lần bằng cách tự động bắt đầu một xây dựng khi họ thay đổi một cái gì đó.

-1

Giám sát không liên quan đến git hoặc libgit2. Nếu những gì bạn muốn là để theo dõi các tập tin, sau đó bạn muốn chính xác inotify, hoặc bất cứ điều gì ngôn ngữ của bạn cung cấp để bọc nó.

Python có cơ quan giám sát, tuyên bố cũng hoạt động trên Windows. https://pypi.python.org/pypi/watchdog

Các ngôn ngữ khác sẽ có các thư viện khác nhau, nhưng không có thêm thông tin, bạn không thể cho bạn biết về một ngôn ngữ phù hợp với bạn.

+0

Giám sát không liên quan trực tiếp - nhưng những gì tôi muốn là thư viện theo dõi một repo git để thay đổi. Nó sẽ giống như githooks, nhưng dựa trên sự thật mặt đất (bản thân các tập tin). –

+0

Sau đó, nó sẽ không giống như móc của git ở tất cả; những gì bạn muốn là theo dõi, bằng lời nói của bạn ở đây, và bạn nên tìm kiếm một thư viện giám sát tập tin cho môi trường của bạn. –

+0

Phải. Ngoại trừ _file-monitoring_ sẽ cho tôi biết "repo đã thay đổi". Tôi muốn _git-monitoring_, sẽ cụ thể hơn như "HEAD ref được chuyển từ 12812ab .. sang 129baeef .." –

0

Jenkins là công cụ giám sát là nguồn mở. Nó hoạt động cho một số VCS. Bạn có thể get the source và xem nó hoạt động như thế nào.

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