2009-07-22 3 views
52

Tôi sử dụng ứng dụng Tortoise để thanh toán/cam kết các thay đổi của tôi đối với SVN. Nhưng tôi thấy điều này ít khó khăn vì tôi không thể tìm thấy Danh sách tất cả các tệp được thay đổi trong bản sao cục bộ của tôi. Có vết cắt ngắn hay thứ gì đó mà tôi bỏ qua không?danh sách tệp svn được sửa đổi trong bản sao cục bộ

Tôi mới tham gia SVN. FYI.

Trả lời

25

Lệnh "Kiểm tra sửa đổi" trong rùa sẽ hiển thị danh sách tất cả các tệp đã thay đổi trong bản sao làm việc. "Cam kết" cũng sẽ hiển thị tất cả các tệp đã thay đổi (bạn có thể cam kết). "Hoàn nguyên" cũng sẽ hiển thị các tệp đã thay đổi (mà bạn có thể hoàn nguyên).

+0

Ah! Tôi đã quên thử "kiểm tra sửa đổi" –

+0

TIL Tortoise có chức năng "kiểm tra sửa đổi" :) Rất cám ơn. –

108

Tôi không quen thuộc với con rùa, nhưng với lật đổ để linux tôi sẽ gõ

svn status 

Một số googling nói với tôi rằng con rùa cũng hỗ trợ kích commandline, hãy thử tình trạng svn trong thư mục có chứa các kho svn.

+2

Tôi sử dụng cửa sổ bro! –

+8

Máy khách dòng lệnh của Windows có cùng lệnh, vì vậy bạn có thể sử dụng lệnh này nếu bạn thậm chí sử dụng cmd. – DeadHead

+22

Để hiển thị * chỉ * các tệp đã sửa đổi trong thư mục: svn status -q –

42

Tôi không thể nhận được svn status -q để hoạt động. Giả sử bạn đang ở trên một hộp linux, để chỉ xem các tập tin bị sửa chữa, chạy: svn status | grep 'M ' Trên cửa sổ Tôi không chắc chắn bạn sẽ làm gì, có lẽ một cái gì đó với 'findstr'

+23

'svn status | grep '^ M'' sẽ hoạt động tốt hơn. –

+11

'svn st | grep '^ M'' ngắn hơn .. –

+9

'svn st | grep^M' là ngắn hơn vẫn còn :) – kliteyn

2

này nên làm điều đó trong Windows: svn stat | tìm "M"

8

Lệnh dưới đây sẽ hiển thị các tệp được modfied một mình trong cửa sổ.

svn status | findstr "^M" 
1

trạng thái svn | grep^M sẽ liệt kê các tệp được sửa đổi. M - viết tắt của biến đổi :)

0

folder Nhấp chuột phải -> Click Rùa SVN -> Check for sửa đổi

6

Nếu bạn thực sự muốn liệt kê tập tin sửa đổi chỉ bạn có thể giảm sản lượng của svn st bằng "M" dẫn đầu cho biết tệp đã được sửa đổi. Tôi sẽ làm như vậy:

svn st | grep ^M 
2

Nếu bạn chỉ muốn tên tệp và cũng muốn có bất kỳ tệp nào đã được thêm (A).

svn st | grep ^[AM] | cut -c9- 

Lưu ý: 7 cột đầu tiên là mỗi một ký tự, theo sau là dấu cách rồi tên tệp.

4

svn status | grep 'M ' hoạt động tốt trên MacOSX.

Tôi vừa thử nghiệm điều này.

+0

Từ dòng lệnh, đây là giải pháp get-go của tôi. Nhưng OP đã yêu cầu một giải pháp trong TortoiseSVN. –

0

Như đã nói bạn phải sử dụng SVN Check for modification trong GUI và tortoiseproc.exe /command:repostatus /path:"<path-to-version-control-file-or-directory>" trong CLI để xem các thay đổi liên quan đến gốc của <path-to-version-control-file-or-directory>.

Đáng buồn thay, nhưng lệnh này sẽ không hiển thị TẤT CẢ thay đổi cục bộ, nó chỉ hiển thị những thay đổi có liên quan đến thư mục gốc được yêu cầu.Các thay đổi được thực hiện riêng biệt, như kiểm tra độc lập hoặc thư mục bên ngoài mồ côi trong thư mục con gốc sẽ được hiển thị là Không phiên bản hoặc Nested và bạn có thể bỏ lỡ để tra cứu chúng.

Để tránh điều kiện như vậy, bạn phải gọi tới tortoiseproc.exe /command:repostatus /pathfile:"<path-to-file-with-list-of-items-to-lookup-from>" (xem tài liệu chi tiết trên dòng lệnh: https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-automation.html) hoặc sử dụng một số ứng dụng/tiện ích/tập lệnh 3dparty để kết thúc cuộc gọi.

Tôi đã viết thiết lập riêng của tôi về kịch bản cho Windows để tự động hóa các cuộc gọi từ Total Commander: https://sf.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/totalcmd/README_EN.txt (tìm kiếm TortoiseSVN)

- Mở hộp thoại tình trạng TortoiseSVN cho một tập hợp các thư mục WC (luôn mở để hiển thị các thay đổi không được phiên bản).

Command: call_nowindow.vbs 
Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:repostatus "%P" %S 

- Mở TortoiseSVN cam kết hộp thoại cho một tập hợp các thư mục WC (chỉ mở ra nếu có không có sản phẩm nào thay đổi phiên bản).

Command: call_nowindow.vbs 
Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:commit "%P" %S 

Xem README_EN.txt cho các chi tiết mới nhất (bạn phải thực hiện configure.bat trước khi sử dụng và sao chép phần còn lại của các kịch bản về chính mình như call_nowindow.vbs).