2011-10-01 23 views
6

Khi sử dụng một trình soạn thảo văn bản gui (ví dụ Komodo chỉnh sửa) như biên tập viên nòng cốt cho git (bài viết cam kết), mà quá trình biên tập phải không được chia hai hoặc khác git sẽ đảm nhận một thông báo cam kết trống rỗng, vì nó "nghĩ "trình chỉnh sửa sẽ được hoàn thành mà không trả lại văn bản để sử dụng làm thư cam kết. Nhưng tôi không thể tìm thấy bất kỳ tùy chọn dòng lệnh nào (dưới ubuntu) cho komodo chỉnh sửa để không rẽ nhánh khi khởi chạy và thậm chí không có gợi ý trên web cho đến nay. Đối với trình chỉnh sửa gVim ví dụ: tùy chọn dòng lệnh -f làm cho trình chỉnh sửa đó không chia rẽ, do đó quy trình sẽ chỉ trở về git sau khi trình chỉnh sửa được đóng lại. Vì vậy, ở đây đi câu hỏi của tôi: Có bất kỳ (đơn giản) khả năng sử dụng komodo chỉnh sửa một cách không forking để nó có thể được sử dụng như là trình soạn thảo lõi cho git cam kết tin nhắn?Có thể sử dụng chỉnh sửa komodo dưới dạng git core.editor (tức là không forking) không?

Trân trọng, Roman.

Trả lời

4

Vấn đề là, git không có cách nào để biết khi bạn hoàn tất chỉnh sửa tệp.

tôi sẽ đề nghị viết một kịch bản wrapper ít mà có thể đơn giản như thế này (không kiểm tra):

#!/bin/bash 
THE_FILE=$1 
komodo-edit -f $THE_FILE 
echo "Press Enter when you have finished editing the file" 
read 

này nên chặn git quá trình cam kết cho đến khi bạn nhấn enter. Vì vậy, bạn workflow sẽ là:

  1. git commit gọi bao bọc
  2. wrapper mở Komodo
  3. bạn chỉnh sửa tập tin trong Komodo và lưu nó
  4. Có thể quyết định chỉnh sửa một lần nữa, bởi vì bạn quên một cái gì đó
  5. Tab trở lại git commit và nhấn Enter
  6. git commit tiếp tục
+0

Xin cảm ơn, hoạt động mỗi đúng. nhưng lưu ý nhỏ: trong komodo-edit-7 người ta cần phải mở một tập tin với nó mà không có tùy chọn '-f', chỉ đơn giản là' path/to/komodo-executable $ THE_FILE' – user907860

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