.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:
Bunu ezberlemek yerine svn export kullanmak daha rahat oluyor bence.
YanıtlaSilÇ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 :)
YanıtlaSilBenim 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
Yazmak konusunda tam emin değilim ama içimden yazmak geldi:).Biraz reklam yapacağım kusuruma bakmayın lütfen:).
YanıtlaSilŞö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:).
OrganizasyonizM'i daha önce görmüştüm ama sadece müzik dosyaları ile ilgili sanmıştım. İndirip, inceleyip fikrimi söylerim.
YanıtlaSilAyrı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 :)
İlginiz için teşekkür ederim.
YanıtlaSilDemekki en kısa sürede iyi bir döküman hazırlamam lazım:)
Murat merhaba,
YanıtlaSiltam 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.
ilk madde biraz yanlış oldu, arşivlemeye de ihtiyaç duyuyorum ama bunu arşivlemeden de yapmaya ihtiyaç duyuyorum diyerek toparlamaya çalışayım :)
YanıtlaSilMerhabalar maidis,
YanıtlaSilÖ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.
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.
YanıtlaSilArtı 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 :)
Murat, kde-* sitelerini takip ediyorum. Yani yazılımının gelişimini izliyor olacağım :) Çalışmalarında başarılar dilerim.
YanıtlaSilÖzgür, git hakkındaki bilgiler için sağol.
Elle mellede o kadar zor değilmiş KFind ile.
YanıtlaSilWindows'ta nasıl yapılabileceği şurada:
YanıtlaSilhttp://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/