2013-04-29 42 views
11

git help commit nói như sau:Sử dụng Git từ cam-msg móc

--cleanup=<mode> 
    This option determines how the supplied commit message should be 
    cleaned up before committing. The <mode> can be strip, whitespace, 
    verbatim, or default. 

    strip 
     Strip leading and trailing empty lines, trailing whitespace, 
     and #commentary and collapse consecutive empty lines. 

    whitespace 
     Same as strip except #commentary is not removed. 

    verbatim 
     Do not change the message at all. 

    default 
     Same as strip if the message is to be edited. Otherwise 
     whitespace. 

Tôi muốn để xác định chế độ làm sạch sẽ được áp dụng từ cam-msg hook (một cách chính xác bằng cách sử dụng commit.cleanupconfig value khi cần thiết). I run some validations on my commit messages và tôi muốn chắc chắn rằng tôi đang thấy chính xác những gì Git đang có kế hoạch sử dụng.

Hoặc, tôi sẽ chấp nhận một cách để lấy tin nhắn văn bản cam kết sau khi dọn dẹp (có lẽ tôi có thể lừa Git để dọn dẹp nó cho tôi?). Điều này sẽ là tuyệt vời cho trường hợp sử dụng của tôi, kể từ đó tôi sẽ không phải lo lắng về việc thực hiện lại bất kỳ chế độ dọn dẹp nào.

Trả lời

9

Thật không may, trong nguồn git hiện tại (ish), chế độ dọn dẹp không được truyền qua móc theo bất kỳ cách nào. Đối số cho --cleanup chỉ được lưu trữ trong biến số (static, cục bộ thành builtin/commit.c) cleanup_mode và không được xuất (ví dụ: làm đối số hoặc biến môi trường) cho các móc khác nhau.

(Nó phải là dễ dàng để thêm một biến môi trường có chứa các thiết lập Nếu bạn muốn thử nghiệm với điều này bản thân, xem builtin/commit.c chức năng parse_and_validate_options;.. Đưa vào một cuộc gọi đến setenv() với đối số thích hợp)

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