2009-06-02 36 views
13

Trong CVS tôi có thể làm cácLàm thế nào để làm cho SVN thực hiện một lệnh mà không làm thay đổi

sau
cvs -n update 

Và nó sẽ nên tôi những gì sẽ xảy ra nếu tôi chạy một bản cập nhật nhưng không làm thay đổi bất cứ điều gì. Tôi chủ yếu sử dụng điều này để kiểm tra xem tôi sẽ nhận được rất nhiều xung đột.

Trong svn Tôi muốn làm như vậy nhưng với lệnh switch

ví dụ:

svn -n switch url1 url2 

hiểu biết của tôi là có một công tắc --dry ương mà đi qua các chuyển động nhưng không thực sự đưa ra bất kỳ đầu ra nào. Vì vậy, nó là một nửa của con đường đó :)

Làm thế nào tôi có thể lấy nó để làm một chạy khô hiển thị những gì kết quả sẽ là (các tập tin sẽ được thay đổi, trong đó cập nhật, xóa, thêm công cụ và mâu thuẫn).

Cảm ơn

Cập nhật: Về những người đã đề nghị tôi sử dụng --dry chạy Tôi đã thử những điều sau

svn switch url --dry hạn

và Tôi nhận được

Subcommand 'switch' doesn't accept option '--dry-run' 

Về lý thuyết, âm thanh tốt nhưng nó dường như không hoạt động, tôi có làm gì sai không?

+0

Tôi không hiểu tại sao bạn nghĩ rằng chuyển đổi svn sẽ tương đương với cập nhật cvs? Nó không phải. – lothar

+0

Tôi biết việc chuyển đổi trong svn là khác nhau từ cvs cập nhật. Điều đó khá rõ ràng. Câu hỏi. Trong CVS, chúng ta có thể sử dụng tùy chọn -n với bất kỳ lệnh cvs nào. Tương đương với svn, tôi muốn sử dụng nó với công tắc là gì? – hhafez

+0

Tại sao bạn muốn chạy khô bằng công tắc? Kiểm tra câu trả lời của Don, tôi nghĩ rằng 'hợp nhất' có thể là những gì bạn đang tìm kiếm. – simao

Trả lời

15

Sử dụng merge--dry-run với cùng URL bạn sẽ sử dụng cho switch. Nó sẽ cung cấp cho bạn thông tin bạn đang tìm kiếm mặc dù bạn sẽ sử dụng switch thay vì merge cuối cùng.

+9

Đó là một sự xấu hổ mà - chạy-chạy không hoạt động với cam kết. –

+7

@MikeMiller Nếu bạn muốn kiểm tra những gì tập tin sẽ được cam kết, không viết một tin nhắn với lệnh.Bằng cách này, một trình soạn thảo sẽ mở ra cho bạn để giới thiệu thư và danh sách các tệp sắp được cam kết sẽ hiển thị –

+0

Việc thêm - chạy thử vào một cam kết sẽ rất hữu ích, vì đầu ra (danh sách tệp) có thể được chuyển sang các lệnh khác (ví dụ: danh sách các tệp đã thay đổi để tải lên trang web để chúng có thể được xem trước TRƯỚC KHI svn ci được thực hiện). –

3

Sử dụng --dry hạn

--dry hạn
Goes qua tất cả các chuyển động của chạy một lệnh, nhưng không có sự thay đổi-một trong hai thực tế trên đĩa hoặc trong kho.

Từ: Subversion Complete Reference

Vâng câu hỏi của bạn đã (và vẫn là cho đến nay)

Làm thế nào để làm cho SVN thực hiện một lệnh mà không làm thay đổi

Câu trả lời là: Sử dụng - chạy thử

Thực tế các --dry ương không làm việc với các switch lệnh là khó khăn may mắn, nhưng @Don đưa cho bạn một workaround đẹp

Sử dụng hợp nhất và --dry ương với các URL giống nhau mà bạn sẽ sử dụng cho nút chuyển. Nó sẽ cung cấp cho bạn thông tin bạn đang tìm kiếm mặc dù bạn sẽ sử dụng công tắc thay vì hợp nhất vào cuối.

Tất nhiên bạn cũng có thể nộp bug/enhancement report with subversion.

+0

xem cập nhật của tôi về --dry-run – hhafez

+0

@hhafez Vui lòng đọc hướng dẫn tham khảo. --dry-run có thể không áp dụng cho tất cả các lệnh svn, nhưng hầu hết (chuyển đổi rõ ràng là một ngoại lệ) – lothar

+0

@lothar Thật không may, 'commit' cũng là một ngoại lệ. – Melebius

6

Trên cập nhật svn, bạn có thể sử dụng svn status --show-updates để hiển thị tất cả các mục bạn sẽ cập nhật.

Để hợp nhất, bạn có thể sử dụng --dry-run bất kỳ sự cố nào.

Các vấn đề liên quan