Một tệp .hgignore
trong mỗi phụ trang sẽ đóng vai trò là chuyên ngành cho phụ đề đó. Sau đó, bạn có thể sử dụng repo chính của .hgignore
như một trong những chính bằng cách bao gồm này trong hgrc
tập tin mỗi subrepo:
[ui]
ignore.main = \absolute\path\to\mainrepo\.hgignore
Lý do tại sao làm ignore = .hgignore
không làm việc cho bạn trong toàn cầu .hgrc
(và sẽ không trong repo của bạn hgrc
) là chỉ đơn giản là .hgignore
là một đường dẫn tệp tương đối và độ phân giải của nó đến đường dẫn tuyệt đối phụ thuộc vào thư mục làm việc hiện tại được sử dụng khi gọi hg
. Ví dụ:
- Nếu bạn đang ở
\repos\main\
và gọi hg st
, nó sẽ tìm kiếm \repos\main\.hgignore
. Điều tương tự nếu bạn gọi hg st -R nested
, bởi vì thư mục làm việc hiện tại vẫn như cũ.
- Nhưng nếu bạn đang ở
\repos\main\nested\
và sau đó được gọi hg st
, cấu hình giờ đây sẽ xem \repos\main\nested\.hgignore
.
Nếu bạn muốn chỉ định một toàn cầu .hgignore
đó là trong thư mục chính của bạn, bạn sẽ cần phải xác định nó với một con đường phi tương đối (hoặc ít nhất là ít hơn nhiều so):
[ui]
ignore = ~\.hgignore
Nguồn
2011-10-17 19:12:37
tôi m không chắc về viên đạn đầu tiên của bạn ở đó. Nếu bạn gọi 'hg st -R nested' thì' \ repos \ main \ nested \ .hgignore' sẽ được sử dụng, vì đó là tệp '.hgignore' trong thư mục làm việc của repo' nested' - đó có thể là những gì bạn có nghĩa là, nhưng nó không đọc theo cách đó. – icabod
@icabod: Tôi không có máy * nix để thử nghiệm, nhưng đó là cách Windows hoạt động. Nếu tôi có các tệp 'extra.hgignore' khác trong' main' và 'nested' và đặt' ignore = extra.hgignore' trong 'nested \ .hg \ hgrc', làm' hg st' và 'hg st -R nested' cả hai kéo từ 'main \ extra.hgignore'. Chỉ khi tôi 'cd' thành' nested', nó sẽ thay thế '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' (Đối với thử nghiệm của tôi, tôi đã sử dụng 4 tệp trong cả hai 'main' và' nested', với 4 phần mở rộng khác nhau được phân phối trong số các tệp bị bỏ qua.) –
Ah, tôi nghĩ rằng tôi đã bỏ lỡ một phần câu trả lời của bạn khi tôi thử nó. Lỗi của tôi :) – icabod