SORU
22 ŞUBAT 2010, PAZARTESİ


Nasıl `bul` görmezden alabilir miyim .dizinleri svn?

Ben sık sık ne olursa olsun kaynak kodu dosya silme arama için find komutunu kullanın. Subversion depoları .svn/text-base/ dizinleri her dosya çoğaltır, çünkü rahatsız edici, basit aramalarım çok sayıda yinelenen sonuçlar elde sonunda. Örneğin, messages.h messages.cpp birden fazla dosya içinde özyinelemeli uint aramak istiyorum:

# find -name 'messages.*' -exec grep -Iw uint {}  
./messages.cpp:            Log::verbose << "Discarding out of date message: id " << uint(olderMessage.id)
./messages.cpp:    Log::verbose << "Added to send queue: " << *message << ": id " << uint(preparedMessage->id)
./messages.cpp:                Log::error << "Received message with invalid SHA-1 hash: id " << uint(incomingMessage.id)
./messages.cpp:            Log::verbose << "Received " << *message << ": id " << uint(incomingMessage.id)
./messages.cpp:            Log::verbose << "Sent message: id " << uint(preparedMessage->id)
./messages.cpp:        Log::verbose << "Discarding unsent message: id " << uint(preparedMessage->id)
./messages.cpp:        for (uint i = 0; i < 10 && !_stopThreads;   i) {
./.svn/text-base/messages.cpp.svn-base:            Log::verbose << "Discarding out of date message: id " << uint(olderMessage.id)
./.svn/text-base/messages.cpp.svn-base:    Log::verbose << "Added to send queue: " << *message << ": id " << uint(preparedMessage->id)
./.svn/text-base/messages.cpp.svn-base:                Log::error << "Received message with invalid SHA-1 hash: id " << uint(incomingMessage.id)
./.svn/text-base/messages.cpp.svn-base:            Log::verbose << "Received " << *message << ": id " << uint(incomingMessage.id)
./.svn/text-base/messages.cpp.svn-base:            Log::verbose << "Sent message: id " << uint(preparedMessage->id)
./.svn/text-base/messages.cpp.svn-base:        Log::verbose << "Discarding unsent message: id " << uint(preparedMessage->id)
./.svn/text-base/messages.cpp.svn-base:        for (uint i = 0; i < 10 && !_stopThreads;   i) {
./virus/messages.cpp:void VsMessageProcessor::_progress(const string &fileName, uint scanCount)
./virus/messages.cpp:ProgressMessage::ProgressMessage(const string &fileName, uint scanCount)
./virus/messages.h:    void _progress(const std::string &fileName, uint scanCount);
./virus/messages.h:    ProgressMessage(const std::string &fileName, uint scanCount);
./virus/messages.h:    uint        _scanCount;
./virus/.svn/text-base/messages.cpp.svn-base:void VsMessageProcessor::_progress(const string &fileName, uint scanCount)
./virus/.svn/text-base/messages.cpp.svn-base:ProgressMessage::ProgressMessage(const string &fileName, uint scanCount)
./virus/.svn/text-base/messages.h.svn-base:    void _progress(const std::string &fileName, uint scanCount);
./virus/.svn/text-base/messages.h.svn-base:    ProgressMessage(const std::string &fileName, uint scanCount);
./virus/.svn/text-base/messages.h.svn-base:    uint        _scanCount;

Nasıl find .svn dizinleri görmezden söyleyebilir miyim?


Güncelleme: version 1.7 SVN istemci yükseltme eğer bu artık bir sorundur.

Değişiklikleri Subversion 1.7 sunulan önemli bir özelliği tek bir yere çalışan kopya meta veri depolama merkezine. Çalışma kopyası, her dizini .svn Bir dizin yerine, 1.7 Subversion çalışma kopyalarını 12 ** sadece bir dizin çalışma kopyası kök var. Bu dizin (diğer şeyler arasında) bu çalışma kopyası için meta veriler Bozulma ihtiyaçları içeren SQLite destekli bir veritabanı içerir.

CEVAP
20 Temmuz 2010, Salı


neden sadece değil

find . -not -iwholename '*.svn*'

-Yüklem, sahip olduğu her şeyi olumsuzlar .her yerde yolda svn.

Senin durumunda olurdu

find -not -iwholename '*.svn' -name 'messages.*' -exec grep -Iw uint {}   \;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • circuschina

    circuschina

    16 Mart 2007
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • Sorikan

    Sorikan

    3 ŞUBAT 2008