2011-10-17 8 views
5

Tôi có một thư có đính kèm N ở định dạng 000X-xxxx.patch. Tôi muốn áp dụng tất cả các bản vá lỗi trên đầu trang của chủ nhân của tôi, nhưng tôi muốn có tất cả các cam kết riêng biệt, như tác giả ban đầu cam kết chúng. Bao gồm cả thông điệp cam kết của khóa học.Cách dễ nhất để áp dụng chuỗi bản vá git từ Thunderbird

Phương pháp 1: Mở email, bấm Save as, xxx.eml và sau đó:

git am xxx.eml 

Kết quả là ok, nhưng tất cả mọi thứ được ép thành một cam kết. Không thể chấp nhận.

Phương pháp 2. Tất cả các file đính kèm được lưu trong một thư mục, sau đó:

git am 000*.patch 
Patch format detection failed. 
git apply 000*.patch 
(does nothing) 

này không hoạt động. Lời khuyên? Cảm ơn.

+0

Có đề cập đến tiện ích mở rộng xuất mbox tại: https://support.mozilla.org/en-US/questions/1131636 | https://addons.mozilla.org/en-GB/thunderbird/addon/importexporttools/ nhưng nó dường như không tương thích với Thunderbird 52.6.0 hiện tại. –

Trả lời

2

Đọc qua trang git am người đàn ông, có vẻ như thông điệp cam kết được hình thành từ các Chủ đề: dòng và nội dung thư, có nghĩa là bạn sẽ không có khả năng tái tạo chuỗi ban đầu của cam kết (có nghĩa là , không có phương tiện để khôi phục thư cam kết mà tác giả sử dụng cho từng cam kết cá nhân) ... mặc dù theo trang người đàn ông, git am có nghĩa là làm việc với các bản vá nội tuyến, chứ không phải các bản vá đính kèm, vì vậy tôi ngạc nhiên làm điều đúng ngay cả trong phương pháp 1.

Nếu bạn sẵn sàng hủy các thư cam kết, bạn sẽ có thể lưu các bản vá vào các tệp riêng lẻ và chỉ cần git apply ... chúng theo thứ tự.

+0

Hmmm nhưng git áp dụng không có gì cho tôi. – lzap

+0

Ok cả hai git áp dụng và git am làm việc trên tập tin đính kèm riêng biệt. Tôi đã có một ">" ở đầu dòng đầu tiên. Vì vậy, Thunderbird bằng cách nào đó đã làm hỏng nó. Giải quyết! – lzap

+0

Rất vui khi được nghe! – larsks

0

Theo như tôi đã có thể tìm thấy, Thunderbird không có cách hợp lý để lưu một số email dưới dạng tệp riêng lẻ cùng một lúc. Tuy nhiên, bạn có thể lưu chúng cùng một lúc và thao tác này không hoạt động đối với các tập bản vá nhỏ.

Trớ trêu thay, tôi vô tình phát hiện ra cách dễ nhất bằng cách gửi bản vá lỗi Linux cho một đồng nghiệp không theo dõi danh sách gửi thư. Chuyển tiếp chúng Cho chính bạn (dưới dạng tệp đính kèm).

  1. Chọn tất cả các email vá
  2. Chuyển tiếp họ với chính mình như file đính kèm
  3. Lưu tất cả file đính kèm đến một thư mục thích hợp
  4. áp dụng email. ví dụ: "git am my_patch_dir/[PATCH -v5 *"
+0

Ít nhất Thunderbird 52.1.0 có vẻ như có thể lưu nhiều email: Chỉ cần đánh dấu nhiều email và nói "Lưu dưới dạng ..." trong menu ngữ cảnh. Điều này cho phép chọn một thư mục mà tất cả các email được đánh dấu sẽ được lưu vào. – falstaff

+0

Trừ khi nó đã thay đổi, sử dụng "Lưu dưới dạng" trên nhiều email dẫn đến một tệp chứa tất cả các email, tệp lớn này không hoạt động với git am, AFAICT –