2010-11-02 28 views
6

Tôi đang viết một phần mở rộng Mercurial bằng Python và cần gọi lệnh "Pull" bằng cách sử dụng Mercurial API, nhưng tôi muốn chặn đầu ra của nó bằng cờ --quiet.Sử dụng thẻ --quiet khi mở rộng Mercurial

Về Hg, tôi muốn thực hiện đoạn mã sau, nhưng từ bên trong mở rộng của tôi:

hg pull --quiet 

Với tài liệu API Mercurial, tôi nghĩ nó sẽ là đơn giản như:

commands.pull(ui, repo, quiet=True) 

Thật không may, mặc dù điều này không tạo ra lỗi và sẽ thực hiện thành công lệnh "Kéo", cờ --quiet dường như không nhận được thông qua vì tôi vẫn thấy đầu ra tiêu chuẩn.

Tất cả các ví dụ chỉ hiển thị truyền cờ không toàn cầu, vì vậy tôi hơi lo lắng rằng điều này là không thể.

Tôi đang làm gì sai? Làm thế nào tôi có thể vượt qua cờ --quiet?

+0

Loại câu hỏi này phù hợp cho [email protected] nơi các nhà phát triển Mercurial hang out. –

Trả lời

8

Tùy chọn toàn cầu bị ảnh hưởng thông qua đối tượng ui. Nó cho phép bạn kiểm soát nhiều thứ bạn thường đặt trong hgrc của bạn (hoặc của kho). Trong trường hợp này, bạn muốn đặt tùy chọn quiet trong phần ui thành True.

ui.setconfig('ui', 'quiet', True) 
commands.pull(ui, repo) 
+0

Cảm ơn bạn, cảm ơn bạn, cảm ơn bạn !!! –

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