2008-12-24 22 views
23

Làm cách nào để tìm kiếm tệp có tên foo.txt đã từng cam kết với kho lưu trữ svn của tôi (trong bất kỳ sửa đổi nào)?Tôi làm cách nào để tìm kiếm một kho lưu trữ svn cho sự tồn tại của các tệp trong bất kỳ sửa đổi nào

+0

Tôi đoán câu trả lời ngắn gọn là "tìm kiếm nhật ký". Làm thế nào bạn thực hiện điều đó phụ thuộc vào cách bạn giao tiếp với SVN, do đó Martijn và các câu trả lời khác nhau của tôi. –

+0

Cũng đặt Adam :) tôi đã trả lời với một câu trả lời được mã hóa ở đầu tiên là tốt nhưng sau đó nhận thấy các tag tortoiseSVN khá rõ ràng. –

+1

Phải, tôi đã bỏ lỡ điều đó. Tuy nhiên, tôi sẽ để lại câu trả lời của tôi xung quanh, ai đó có thể quan tâm. –

Trả lời

30

Nhấp chuột phải vào thư mục gốc của thư mục đã kiểm tra> TortoiseSVN> Hiển thị Nhật ký

Bạn cũng có thể nhập tên tệp ở đó.

+0

Không thể đặt ngày (từ - sang). – Kate

+0

Vâng, Nhấp và khám phá Imageshack. Tôi đạt được rồi. – bahrep

+0

Không thể đặt ngày, nhưng bạn có thể bấm vào 'Tiếp theo 100' để xem kết quả khác – Efreeto

10

này nên làm việc cho bạn:

svn log -r 0:HEAD -v $REPOSITORY_PATH | grep "/foo.txt" 

này sẽ cung cấp cho bạn các đường dẫn đến các tập tin và nhà nước từ nhật ký. Nếu bạn nhận được bất kỳ lượt truy cập nào, bạn biết nó đã tồn tại ở một thời điểm nào đó. Nếu bạn không nhận được kết quả, không có gì phù hợp với bất cứ nơi nào trong kho lưu trữ tại bất kỳ sửa đổi nào. Bạn cũng sẽ thấy các trạng thái từ mỗi dòng nhật ký, ví dụ:

 
    A /some/path/foo.txt 
    D /some/path/foo.txt 

Nhưng tôi đoán thông tin bổ sung không phải là vấn đề đối với bạn. :)

+0

Đó là công việc. Bạn có thể lọc cho lần xuất hiện đầu tiên với 'svn ... | grep /foo.txt | đầu -1 ' – orip

+1

Cảm ơn, bạn có thể giúp đỡ trong việc nhận số sửa đổi với các nhật ký đó không? – linuxeasy

+0

Khi bạn nói REPOSITORY_PATH bạn có nghĩa là đường dẫn trên hệ thống tệp hoặc url của vị trí trong kho lưu trữ không? –

4

Sử dụng ứng dụng khách Subversion 1.8+ và new --search and --search-and options become available for svn log command. Các tùy chọn này không cho phép thực hiện tìm kiếm toàn văn bản bên trong một kho lưu trữ và nhìn lên chỉ các dữ liệu sau: tác giả

  • sửa đổi của (svn:author tài sản không phiên bản),
  • ngày (svn:date tài sản không phiên bản), thông điệp
  • log văn bản (svn:log thuộc tính không phiên bản),
  • danh sách đường dẫn đã thay đổi (tức là đường dẫn bị ảnh hưởng bởi bản sửa đổi cụ thể).

Theo như tôi đoán, bạn có thể tìm kiếm cho "foo.txt" với dòng lệnh sau:

svn log -v --search "foo.txt".

Dưới đây là hoàn chỉnh các trang trợ giúp về các tùy chọn này svn log tìm kiếm mới:

If the --search option is used, log messages are displayed only if the 
provided search pattern matches any of the author, date, log message 
text (unless --quiet is used), or, if the --verbose option is also 
provided, a changed path. 
The search pattern may include "glob syntax" wildcards: 
    ?  matches any single character 
    *  matches a sequence of arbitrary characters 
    [abc] matches any of the characters listed inside the brackets 
If multiple --search options are provided, a log message is shown if 
it matches any of the provided search patterns. If the --search-and 
option is used, that option's argument is combined with the pattern 
from the previous --search or --search-and option, and a log message 
is shown only if it matches the combined search pattern. 
If --limit is used in combination with --search, --limit restricts the 
number of log messages searched, rather than restricting the output 
to a particular number of matching log messages. 
Các vấn đề liên quan