Làm cách nào để xuất ra sự khác biệt giữa hai bản sửa đổi cụ thể trong Subversion?


120

Tôi đang sử dụng Subversion thông qua giao diện dòng lệnh Linux.

Tôi muốn xem sự khác biệt giữa bản sửa đổi 11390 và 8979 của một tệp cụ thể được gọi fSupplierModel.phptrong thiết bị đầu cuối của tôi. Làm thế nào tôi có thể làm điều đó?


Thêm vào đây là cách áp dụng nó trở lại: stackoverflow.com/questions/10333712/…
Vadzim

Câu trả lời:


171

Xem svn difftrong sách hướng dẫn:

svn diff -r 8979:11390 http://svn.collab.net/repos/svn/trunk/fSupplierModel.php

3
Nếu bạn muốn đầu ra đẹp, hãy cài đặt colordiff và thêm `| colordiff` vào cuối lệnh trên để chuyển mọi thứ qua nó.
William Turrell

56

Để so sánh toàn bộ các bản sửa đổi, chỉ cần:

svn diff -r 8979:11390


Nếu bạn muốn so sánh trạng thái cam kết cuối cùng với các tệp đang làm việc đang lưu của mình, bạn có thể sử dụng các từ khóa tiện lợi:

svn diff -r PREV:HEAD

(Lưu ý, không có bất kỳ điều gì được chỉ định sau đó, tất cả các tệp trong các bản sửa đổi được chỉ định sẽ được so sánh.)


Bạn có thể so sánh một tệp cụ thể nếu bạn thêm đường dẫn tệp sau đó:

svn diff -r 8979:HEAD /path/to/my/file.php


2
đặt ĐẦU: PREV dường như có ý nghĩa hơn đối với tôi trong đầu ra khác, có lẽ sẽ giúp đỡ người khác
Fonix

@Fonix bạn có ở trong mô hình "cam kết khác khác với trạng thái hiện tại của tôi như thế nào" không? Nếu vậy, tôi đồng ý. Tôi thường nghĩ về các cam kết thay đổi theo thứ tự thời gian, vì vậy những thay đổi được thực hiện trong HEAD sẽ là những thay đổi mới / được thêm vào từ PREV, đó là mô hình tôi thường nghĩ đến. Có những trường hợp và lập luận được đưa ra cho cả hai mô hình.
ahnbizcad
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.