Sử dụng phép thuật để so sánh tất cả các thay đổi trong hai phiên bản


8

Có cách nào để gọi Ediff từ Magit để so sánh các thay đổi với tất cả các tệp giữa hai lần sửa đổi, không chỉ là những thay đổi trong một tệp không?

Trường hợp sử dụng của tôi là một đồng nghiệp sẽ yêu cầu tôi xem xét các thay đổi mà cô ấy đã thực hiện trong một chi nhánh, có thể chạy qua một số cam kết. Tôi có thể dễ dàng nhận ra rằng mã của cô ấy phân nhánh từ nhánh chính tại phiên bản M, nhưng tôi không chắc chắn làm thế nào để có được phép thuật để so sánh mọi thứ với tôi.

Có vẻ như tôi có thể làm M-x magit-logvà sau đó E r <M> <branch name>, nhưng sau đó nó yêu cầu tôi cho tập tin để so sánh. Trong trường hợp này, có khoảng 20 tệp đã thay đổi, vì vậy sẽ gây khó chịu khi liên quan đến E rchuỗi cho mỗi tệp . Ngoài ra, tôi sẽ phải nhớ những tập tin mà tôi đã xem.

Lý tưởng nhất, tôi muốn một trong hai:

  • một bộ đệm liệt kê từng tệp và cho phép tôi nhấp vào nó để bắt đầu ediff và hiển thị khi tôi đã bắt đầu ediff (hoặc cho phép tôi xóa tệp từ cuối cùng)
  • bắt đầu một phiên ediff cho mỗi tệp đã thay đổi, với một bộ đệm liệt kê các phiên và cho phép tôi đi đến chúng.

Tôi đang nghĩ về một cái gì đó giống như những gì ediff-directorieslàm.

Liệu khả năng đó có tồn tại?

Điều này khác với Làm thế nào tôi có thể so sánh hai lần cam kết trong phép thuật? : muốn xem xét những thay đổi trong hai phiên bản đó. Tôi muốn xem xét sự khác biệt trong tất cả các tệp khác nhau giữa hai bản sửa đổi đó, bất kể sự thay đổi xảy ra trong bản sửa đổi hay tổ tiên không phổ biến.

Câu trả lời:


7

Magit có thể cho thấy sự khác biệt giữa hai cam kết là một khác biệt . Có nhiều cách để làm điều đó bao gồm:

  • d r START..END RET. Bạn có thể nhập STARTkhi hoàn thành và sau khi bạn nhập, ..bạn cũng có thể nhập ENDkhi hoàn thành.
  • Trong một bản ghi sử dụng khu vực này để đánh dấu sự cam kết giữa STARTENDvà gõd d

Điều tương tự cũng được hỗ trợ khi sử dụng Ediff cho một số phần mở rộng, nhưng như bạn đã nhận thấy thì bạn cũng phải chọn tệp bạn muốn so sánh. Mặc dù Ediff cung cấp giao diện hỗ trợ "phiên", Magit chưa thực hiện điều đó.

Nhưng có một vấn đề mở về điều này. Nó không có ưu tiên cao mặc dù. Tôi không sử dụng Ediff cho mình và thực hiện điều này đòi hỏi nhiều kiến ​​thức về Ediff hơn là về Magit. Bất kỳ trợ giúp với nhiệm vụ này sẽ được đánh giá cao.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.