.svn Dizinlerini Silmek

Pardus için paket yaparken bazen arşiv dosyası olmayan uygulamalarla karşılaşıyorum. Bunları kullandıkları sürüm takip sistemleri üzerinden ilgili komutları kullanarak bilgisayarıma çekiyorum ve içlerindeki sürüm takip sistemlerine ait dosyaları / bilgileri sildikten sonra arşivliyorum.

Küçük uygulamalar için birkaç .svn veya CVS dizinini (veya diğer sürüm kontrol yazılımlarının kullandığı dizinleri) silmek elle bile yapılsa zor olmayacaktır ama yazılımın boyutu büyüdükçe ve dizin sayısı arttıkça bu işi elle yapmak işkenceleşecektir. Bu durumun önüne geçebilmek için birkaç konsol komutundan yararlanabiliriz.

GIT için bu işlemin nasıl yapıldığını öğrenmek için hayır sever bir okuyucumdan bir yorum bekliyorum henüz ihtiyaç duymadığım için araştırma merakına gark olmadım. CVS için nasıl yapıldığını ise sağ olsun Doruk söyledi, geçen konusu açılınca:

find . -type d -name CVS -exec rm -rf {} \;

Bugün de tekrar SVN için benzer bir silme işlemi yaparken bunu anlatan Türkçe bir yazı var mı diye merak ettim, eğer aramaya inanma yeteneğim beni yanıltmıyorsa böyle bir yazı yokmuş. Aslında çok basit bir şey olduğu için normal de olmaması ama olsa da fena olmaz diyerek yazmaya başladım bir tane. Tek bir yöntem verip daha önceki bazı yazılarımda yaptığım gibi tek tek ayrıntılarını açıklamak yerine sadece farklı yöntemlerden kısaca bahsetmek ise tam bu satırları yazarken aldığım bir karar oldu :)


1. find ve rm komutlarından faydalanılabilir (rm'nin aldığı -f parametresi zorlama (force) yapmak, -r ise işlemin özyinelemeli olarak yapılması için kullanılmıştır):

$ rm -rf `find . -type d -name .svn`

2. find ve rm komutlarından biraz daha farklı bir şekilde de faydalanılabilir:

$ find . -name ".svn" -exec rm -rf {} \;

3. xargs, find ve rm ile şu şekilde bir kullanım gerçekleştirilebilir:

$ find . -name .svn -print0 | xargs -0 rm -rf

ya da

$ find . -type d -name '.svn' -print0 | xargs -0 rm -rdf

4. KDE'deki SVN için olan içerik menülerine şimdi bir baktım ama bu işi doğrudan menüden gerçekleştirmek için bir kısayol gözüme çarpmadı. Fakat ya vardır ya da var olacaktır gerçeğinden yola çıkarak alternatifler arasına ekliyorum. İşte şöyle bir şey.

5. svn expot komutu kullanılabilir:

svn export ~/frogatto-svn ~/frogatto-0.0


Kaynaklar:

Yorumlar

  1. Bunu ezberlemek yerine svn export kullanmak daha rahat oluyor bence.

    YanıtlaSil
  2. Çeşitli nedenlerle [1] yazıyı bitirmeden önce yayınlamak zorunda kalıyorum, bu yüzden oluşan hatalardan dolayı özür dilerim. Lütfen yazıları ilk girildikleri anda en az bir saat sonra okuyunuz :)

    Benim favori yöntemim dördüncü maddedeki. Henüz yapamadım ama, bakınıyorum :)

    [1] http://anilozbek.blogspot.com/2009/12/bloggerda-ise-yaramaz-otomatik-kaydet.html

    YanıtlaSil
  3. Yazmak konusunda tam emin değilim ama içimden yazmak geldi:).Biraz reklam yapacağım kusuruma bakmayın lütfen:).
    Şöyle bir proje var OrganizasyonizM.Bahsetttiğiniz dosya ve dizin işlemlerini çok basit bir şekilde yapabilirsiniz.İsterseniz Ana Pencere ile isterseniz içerik menüsü ile:).
    Bu işlem için "Paketleyici" penceresini kullanabilirsiniz."Temizle" butonuna tıklamanız yeterli.Ama öncelikle lütfen "Seçenekler/Paketleyici" ayarlarına bakınız.
    Proje sahibi olarak yaptım reklam için üzgünüm ama mutluyum:).

    YanıtlaSil
  4. OrganizasyonizM'i daha önce görmüştüm ama sadece müzik dosyaları ile ilgili sanmıştım. İndirip, inceleyip fikrimi söylerim.

    Ayrıca bana göre yaptığınız reklam sayılmaz, en azından reklam bile olsa konuyla ilgili olduğu için iyi bir şey :)

    YanıtlaSil
  5. İlginiz için teşekkür ederim.
    Demekki en kısa sürede iyi bir döküman hazırlamam lazım:)

    YanıtlaSil
  6. Murat merhaba,

    tam bir inceleme yapmaya fırsatım olmadı çünkü çak fazla özelliği var :) ama şöyle bir baktıktan sonra söyleyebileceklerim şunlar:

    - örneğin benim ihtiyacım arşivlemeden .svn dizinlerini silmek ama silmek için olan içerik menülerinde ilgili seçenek yok ya da ben bulamadım. sadece paketle diyerek .svn'leri silebiliyorum. Fazla sorun değil gibi çünkü gereksizleri sil'e kolayca yeni dizinler eklenebiliyor sanırım ama yine de öntanımlı gelen seçeneklerle bu yapılabilse güzel olabilir.

    - diğer sürüm kontrol yazılımlarına ait dizinleri ve proje dosyalarını silme için de destek olabilir. cvs, git, KDevelop, QT Creator...

    - arayüz biraz karışık gibi ana uygulamada.

    - yeni bir isim harika bir fikir, günlüğünde okudum.

    - daha fazla belgelendirme de iyi olacaktır önceki yorumlarda yazmış olduğun gibi.

    - Resimler de eklemişsin gördüğüm kadarıyla, harika ama bir video da iyi olacaktır işlemlerin nasıl gerçekleştirildiğini gösteren.

    Başarılar dilerim.

    YanıtlaSil
  7. ilk madde biraz yanlış oldu, arşivlemeye de ihtiyaç duyuyorum ama bunu arşivlemeden de yapmaya ihtiyaç duyuyorum diyerek toparlamaya çalışayım :)

    YanıtlaSil
  8. Merhabalar maidis,
    Öncelikle incelediğin için teşekkür ederim.Sayende ilk inceleme yazısına kavuştum artık:).Söylediğin şeyleri yapmak planlarım arasında ama yeteri kadar vaktim yok maalesef.Bunun dışında 3 projeyle daha uğraşıyorum:).O projeler bu kadar detaylı değil ama zaman alıyor sonuç olarak.Kısacası daha çok planım var,bir sürü özellik daha eklemeyi düşünüyorum ama bu işlemler zaman alacak.İsteklerine öncelik vereceğimden emin olabilirsin.En kısa sürede tümünü yapacağım.
    Tekrar teşekkür ederim.Bu gaz beni epey bir süre götürür:).

    Not:Aslında "Paketleyici" penceresindeki "Temizle" butonu ".svn" klasörünü siliyor ama dediğiniz gibi döküman olmayınca hepsi havada kalıyor.

    YanıtlaSil
  9. Git için böyle bir şeye gerek yok zira bildiğim kadarı ile git sadece ana dizin içinde bir dizin tutuyor, svn gibi her dizine girip .svn tarzı dosyalar oluşturmuyor.

    Artı olarak eğer bir uygulamayı kullanmak için svn sürümünü indiriyorsanız tavsiyem export komutunu kullanarak 2 komut yerine tek komutla işinizi çözmüş olursunuz :)

    YanıtlaSil
  10. Murat, kde-* sitelerini takip ediyorum. Yani yazılımının gelişimini izliyor olacağım :) Çalışmalarında başarılar dilerim.

    Özgür, git hakkındaki bilgiler için sağol.

    YanıtlaSil
  11. Elle mellede o kadar zor değilmiş KFind ile.

    YanıtlaSil
  12. Windows'ta nasıl yapılabileceği şurada:

    http://www.mertbozkurt.com.tr/?p=513

    Buradaki yazıma bağlantı veren bir günlük yazısı:

    http://adenizkorkmaz.wordpress.com/2012/01/31/svn-dosyalarini-silin-gitsin/

    YanıtlaSil

Yorum Gönder

sen de yaz yaz yaz buraya yaz bütün sözlerini

Bu blogdaki popüler yayınlar

Mızıka Tabları Nasıl Okunur

conio.h

Muhtar Kellesi