2010-02-12 46 views
68

Có cách nào để tìm sự khác biệt giữa số trunk và nói chi nhánh 0.4.x không?Tìm sự khác biệt giữa thân cây và nhánh?

Tôi cần phải tạo thẻ - tuy nhiên tôi không thể nhớ nếu các chỉnh sửa mới nhất của tôi đã được thực hiện trong thân cây hay nhánh.

Trả lời

104

Nếu bạn có một kiểm tra của các kho lưu trữ bên mình, bạn có thể sử dụng ^ (caret, tìm kiếm nó trong manual) ký hiệu để tham khảo các thư mục gốc của repo như thế này:

svn diff --old ^/branches/0.4.x --new ^/trunk 

tác phẩm này kể từ Subversion 1.6.

Nếu bạn có một lật đổ cũ hoặc không thanh toán tiện dụng của repo, bạn có thể sử dụng đường dẫn tuyệt đối, như mô tả trong bản gốc redbook:

svn diff --old http://.../repo/branches/0.4.x --new http://.../repo/trunk/ 

sẽ cho bạn câu trả lời bạn đang tìm kiếm.

Thay thế http://.../repo/ bằng URL thực của kho lưu trữ của bạn.

+1

Điều này không hoạt động với Mac OS X (sư tử núi) bao gồm lật đổ (1.7). Tôi nâng cấp lên phiên bản 1.8.1 với Homebrew và điều này đã làm việc. – Jason

+2

Với ký hiệu dấu nháy (SVN> = 1.6): svn diff --old ^/branches/0.4.x --new ^/trunk –

+0

@SteveKehlet: nơi '^' có nghĩa là "kho lưu trữ của thanh toán tôi hiện đang ở" ? –

2

Bạn có thể sử dụng công cụ meld để so sánh thay vì sử dụng dấu nhắc lệnh để thấy sự khác biệt. Nó đi một cái gì đó như thế này.

svn diff --diff-cmd='meld' --old http://.../repo/branches/0.4.x --new http://.../repo/trunk/ 
+0

Công cụ 'meld' là gì? – ceving

+2

@ceving: Tôi nghĩ anh ấy đề cập đến [Meld] (http://meldmerge.org/). Trong Ubuntu, nó đã có sẵn trong kho lưu trữ [Meld Diff Viewer] (https://apps.ubuntu.com/cat/applications/lucid/meld/) –

5
svn diff ^/trunkUrl/fileName ^/branchUrl/fileName 

này sẽ cung cấp cho bạn sự khác biệt giữa một tập tin trong chi nhánh và thân cây.

1

Nếu bạn chỉ muốn phân biệt với nhánh hiện tại, bạn chỉ có thể sử dụng dấu chấm.

svn switch ^/branches/branchName 
svn diff . ^/trunk 
Các vấn đề liên quan