Kod snippet'leri için SVN deposumda arama yapmamı sağlayacak iyi bir yazılım var mı? 'FishEye' buldum ama maliyeti 1.200 ve benim bütçem dışında.
svn log --search
seçenek var, basit depo geçmişi araması arayan biri için kullanışlı olabilir.
Kod snippet'leri için SVN deposumda arama yapmamı sağlayacak iyi bir yazılım var mı? 'FishEye' buldum ama maliyeti 1.200 ve benim bütçem dışında.
svn log --search
seçenek var, basit depo geçmişi araması arayan biri için kullanışlı olabilir.
Yanıtlar:
Yalnızca dosya adını arıyorsanız:
svn list -R file:///subversion/repository | grep filename
Pencereler:
svn list -R file:///subversion/repository | findstr filename
Aksi takdirde ödeme yapın ve dosya sistemi araması yapın:
egrep -r _code_ .
Orada sourceforge.net/projects/svn-search .
Doğrudan SVN evinden, http://svnquery.tigris.org adresinde bulunan SvnQuery adlı bir Windows uygulaması da vardır.
VisualSVN Server 4.2, web arayüzünde dosya ve klasör bulmayı destekler. Demo sunucunun depolarından birinde yeni özelliği deneyin !
Sürüm 4.2 Sürüm Notları'na bakın ve ana indirme sayfasından VisualSVN Server 4.2.0'ı indirin .
Eski cevap
Subversion 1.8--search
svn log
ile başlayarak seçeneği komut ile kullanabilirsiniz . Komutun bir depo içinde tam metin araması yapmadığını, yalnızca aşağıdaki verileri dikkate aldığını unutmayın:
svn:author
sürüm bilgisi olmayan mülk),svn:date
sürüm bilgisi olmayan mülk),svn:log
sürüm özelliği),İşte bu yeni arama seçenekleriyle ilgili yardım sayfası:
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.
Biz kullanmak http://opensolaris.org/os/project/opengrok/
Bu örnek, deponun tüm içeriğini bir dosyaya aktarır; daha sonra bir düzenleyicide dosya adlarını hızlı bir şekilde arayabilirsiniz:
svn list -R svn://svn > filelist.txt
Depo nispeten statik ise ve SVN sunucusundan her şeyi tekrar tekrar yüklemek zorunda kalmadan hızlı arama yapmak istiyorsanız bu yararlıdır.
http
protokol ( svn list -R http://repo/svn/etc
) olarak kullanılması gerektiğine dikkat etmeliyim .
TRAC'ı seviyorum - bu eklenti göreviniz için yararlı olabilir: http://trac-hacks.org/wiki/RepoSearchPlugin
Sadece bir not, FishEye'nin (ve diğer birçok Atlassian ürününün) 10 $ 'lık Başlangıç Sürümleri var, bu da FishEye durumunda size 5 depo ve 10'a kadar komisyoncuya erişim sağlıyor. Bu durumda para sadaka gidiyor.
Acı yavaş (ve kabaca uygulanmış), ancak tek dosyaların veya küçük depoların geçmişini arıyorsanız svn log ve svn cat kombinasyonu çalışır:
svn log filetosearch |
grep '^r' |
cut -f1 -d' ' |
xargs -i bash -c "echo '{}'; svn cat filetosearch -'{}'"
dosyanın ve dosyanın değiştirildiği her bir düzeltme numarasını çıktılar. Her bir düzeltmeyi her zaman farklı bir dosyaya yerleştirebilir ve daha sonra değişiklikler için grep yapabilirsiniz.
PS. Bana bunu düzgün bir şekilde nasıl yapacağımı gösteren herkese büyük upvotes!
git-svn
. Git, tamamlama geçmişinde yerleşik kod arama özelliğine sahiptir. Ancak kullanmak için tüm taahhüt geçmişini indirmeniz gerekir git-svn
.
Gerçekten çaresizseniz, repo dökümü yapın ("svnadmin dökümü" ne bakın) ve sonra grep. Hoş değil, ancak dosyayı ve düzeltmeyi gösteren meta verileri bulmak için arama sonuçlarının etrafına bakabilir, ardından daha iyi bir görünüm için göz atabilirsiniz.
Emin olmak için iyi bir çözüm değil, ama ücretsiz :) SVN geçmiş checkin'leri (hatta geçmiş günlük dosyalarını, AFAIK) aramak için hiçbir özellik sağlamaz.
SVN depolarının birçoğu "basit" HTTP siteleridir, bu nedenle SVN köküne işaret edebileceğiniz ve size temel işlevsellik verecek bazı "web tarama" arama uygulamasından bakmayı düşünebilirsiniz. Güncelleme muhtemelen biraz hile olacaktır, belki de hackery'deki bazı SVN kontrolleri, değişiklikleri gidermek veya yeniden adlandırmak için dizini işaretleyebilir.
Sadece yüksek sesle düşünmek.
orada krugle ve koders ama her ikisi de pahalıdır. Her ikisinde de tutulma için ide eklentileri vardır.
Bu aracı kullanmaya başladım
http://www.supose.org/wiki/supose
Görsel bir kullanıcı arayüzünden yoksun iyi çalışıyor, ancak hızlı ve biraz korunuyor
// Düzenle: Araç başka bir cevapta daha önce belirtilmişti, bu yüzden Kuryaki'ye tüm kredileri ver.
Sadece bir dizin oluşturmak için bir havuzu tarayan ve daha sonra belirli türden sorguları yanıtlayabilen java tabanlı bir komut satırı aracı olan SupoSE bulundu . Hâlâ aracı değerlendiriyoruz ancak umut verici görünüyor. Kaynak kodu dosyaları ve yaygın ofis formatları da dahil olmak üzere tüm revizyonların tam bir dizinini oluşturduğunu belirtmek gerekir.