OmniDiff là công cụ open source mới viết bằng Rust, giúp so sánh sự khác biệt giữa hai phiên bản của một tệp. Điểm đặc biệt là nó không chỉ so từng dòng chữ như lệnh diff truyền thống, mà còn hiểu nội dung của từng loại tệp.

So sánh theo nội dung, không chỉ theo dòng

Theo tác giả, OmniDiff xử lý được 99,95% các thay đổi trong mã nguồn và 98,8% thay đổi được so sánh bằng thuật toán riêng cho từng loại nội dung. Công cụ có thể nhận ra một ô trong sơ đồ PDF vừa được đổi tên, hay hai mươi biểu tượng trong một phông chữ web vừa được vẽ lại. Nó cũng so sánh được tệp OpenDocument, danh mục dịch thuật và cả hình ảnh, kể cả ảnh động.

Hãy hình dung bạn so hai bản hợp đồng: thay vì tô đỏ cả trang vì đổi định dạng, công cụ chỉ chỉ ra đúng chỗ ý nghĩa đã thay đổi.

Cài đặt và sử dụng

OmniDiff chạy trên Linux, macOS và Windows, cài qua Cargo, Homebrew, apt hoặc Nix. Giao diện terminal hỗ trợ màu 24-bit và nhiều giao diện sáng tối. Ngoài ra còn có tiện ích cho VS Code và Neovim. Với cộng đồng lập trình viên, đây là một bước tiến đáng chú ý trong công nghệ công cụ phát triển, đặc biệt khi các nhóm startup làm việc với nhiều loại tệp khác nhau mỗi ngày.