Anasayfa » nasıl » Yeni Başlayanlar İçin Subversion (SVN) İle Sürüm İzleme

    Yeni Başlayanlar İçin Subversion (SVN) İle Sürüm İzleme

    Hiç değişikliklerinizi takip etme ve geri alma becerisine sahip bir proje üzerinde çalışmak istediniz mi? Nasıl Yapılır Geek popüler sürüm izleme sistemi Subversion'un Nasıl Kullanılacağını Açıklar (a.k.a SVN).

    Clearly Ambiguous tarafından görüntü

    Prelog

    Bu rehber size genel olarak Subversion istemcisini ve eğer varsa, * DD-WRT yönlendiricinizde kullanma yeteneği vermeyi amaçlayacaktır. Bu rehber hiçbir şekilde Subversion için kesin bir rehber değildir ve Subversion Kırmızı Kitabında çok fazla bilgi bulunabilir. Bu rehber yalnızca size en temel sorulara kısa cevap vermeyi amaçlamaktadır..

    genel bakış

    Bir versiyonlama sistemi kullanan bir yazılım projesi için en son kodu “teslim almak” istemenin birçok nedeni olabilir. Bunu yapmak, en son yayımlanmamış değişikliklerden yararlanmanızı, test etmenize ve hatta geliştirmenize yardımcı olmanızı sağlar. Bu kılavuzda, bazı temel SVN terminolojisini inceleyeceğiz, SVN istemcisini Linux, Windows ve nasıl bir OPKG etkin DD-WRT yönlendiriciniz varsa kuracağınızı göstereceğiz. Ayrıca, söz konusu yönlendirici için ödeyebileceğiniz ve kullanabileceğiniz bir proje örneği de ekledik.

    Subversion Nedir??

    Subversion, var olan tek sürüm kontrol sistemi değildir ve alternatifleri Git (Linus Torvalds'ın Linux çekirdek kurucusu tarafından yaratılmıştır), Mercurial ve PerForce gibi isimlerdir. Bununla birlikte, özgür olanlardan biri, olgunlaşmış ve dünya çapında yaygın olarak kullanılıyor..

    “Kırmızı Kitap” Subversion Dışından:

    Subversion, serbest / açık bir kaynaktır sürüm kontrol sistemi (VCS). Diğer bir deyişle, Subversion zaman içinde dosya ve dizinleri ve bunlarda yapılan değişiklikleri yönetir. Bu, verilerinizin eski sürümlerini kurtarmanıza veya verilerinizin nasıl değiştiğine ilişkin geçmişi incelemenize olanak sağlar. Bu bakımdan, birçok kişi sürüm kontrol sistemini bir tür “zaman makinesi” olarak düşünür.

    Not: Bu kitap olduğu Subversion hakkındaki nihai bilgi toplama ve Subversion ile ilgili tüm konulara başvurmanız önerilir..

    Sürüm Nedir?

    Sürüm oluşturma, belirli bir zamanda bir projenin durumunun kaydedildiği bir süreçtir. Bu tür bir prosedür genellikle yazılım geliştirmeyi yönetmek için kullanılır, böylece son genel “kaydetme” noktasından neyin değiştiğini izleyebilmeniz için iş, projeyi iyileştirmeye veya özellikler eklemeye devam edebilir. Ayrıntılı olarak, bu tür bir prosedür, tek bir kişi için faydalı olabilir, fakat hepsi aynı proje üzerinde çalışan bir grup insan için daha da faydalı olabilir. Bunun nedeni, genellikle, bir proje üzerinde grup olarak çalışırken, sorumlulukların bir dağılımının olması ve farklı kişilerin projenin farklı yönlerini değiştirmesidir. Sürüm oluşturma mekanizması olmadan, herkesin herkesin en son çalışma değişiklikleri konusunda senkronize olmasını sağlamak çok zor olurdu..

    terminoloji

    Havuz
    Depo, çeşitli yerlerden gelen tüm verilerin kaydedildiği konumdur. Yıkılma dünyasında, müşterinin bakış açısından, projenin veritabanını tutan sunucudur. Bu veritabanı projenin parçası olan tüm dosyaları geçmiş sürümleriyle birlikte içerir..

    Revizyon

    Bir havuz oluşturulduğunda, sıfıra (0) revizyon numarası verilir. Bu sayı, bir taahhüt her gerçekleştirildiğinde bir (1) artar. Revizyon numarası depo için geneldir. Diğer bir deyişle, bu dosyada o belirli bir taahhüt için hiçbir şey değişmemiş olsa bile, depodaki her bir dosya için ayrı bir revizyon numarası yoktur..

    Çalışma kopyası

    Çalışan bir kopya, belirli bir sürümün yerel bir kopyasıdır (veya “kullanıma alınır”). Genellikle kullanıma sunulduğunda bu sürüm “en yenisi” dir (aynı zamanda “kafa” olarak da bilinir), ancak önceki bir sürüm talep edilebilir. Kullanıcı, yerel kopya ile istediği her şeyi yapabilir, en azından en azından kodu tekrar kontrol edebileceklerini bilerek. Üstelik bu kopya “özel” dir. Bunun nedeni, kopyanızı güncelleyene veya taahhüt edene kadar diğer kişilerin değişikliklerini görmeyeceksiniz, ya da sizinkileri de görmeyeceklerdir..

    Güncelleme ve Çatışma çözme

    Yerel bir çalışma kopyası güncellenebilir. Yani, belirli bir sürümü “teslim aldıysanız” ve çalışırken, depodaki sürüm güncellendiyse, çalışma kopyanızı en son sürüme güncelleyebilirsiniz. Aslında, sunucu, depoya uyacak şekilde en son sürüme güncelleme yapmadan önce değişikliklerinizi taahhüt etmenizi önleyecektir. Bu, sizi yerel olarak uyuşmazlıkları çözmeye zorlamak için yapılır, hatta depoda değişiklik yapmayı düşünmeden önce.

    birleştirme

    Birleştirme, değiştirilen kodun bir sürüme karıştırıldığı işlemi ifade eder. Aynı zamanda çatışmaları çözmeyi de gerektirebilir.

    Kesinleştirmeler

    Taahhüt, yerel kopyanızda yaptığınız değişikliklerin depoya tekrar birleştirileceği süreçtir. Bu, yaptığınız değişikliklerin aynı depoyı kullanan diğer insanları etkileyebileceği için, sürecin en tehlikeli kısmıdır. Bu yüzden bu genellikle bir takım değerlendirmelerden sonra, takımın fikir birliği ile ve birleşme çatışmalarını çözdükten sonra yapılır..

    İş Akışı

    Subversion kullanırken kullanıcının bakış açısından en temel iş akışı şudur:

    1. Mevcut kodu kontrol edin (genellikle “kafa”).
    2. Değişiklikler yapın, dosyalar ekleyin ve genellikle kodu geliştirin.
    3. Yerel kopyanızın depodaki güncellemelerle eşitlendiğinden emin olmak için en son sürüme güncelleyin..
    4. Gerekirse çatışmaları yerel olarak birleştirme ve çözme.
    5. Birleştirilmiş değişiklikleri depoya ekleyin..
    6. GoTo adımı 2.

    Hadi çatlayalım

    İstemciyi Kur

    Subversion'u kullanabilmek için istemciyi makinenize yüklemeniz gerekir..

    Linux'ta

    Sadece paketi yüklemeniz gerekir. Ubuntu / Nane'de bu şununla yapılır:

    sudo yetenek yüklemek subversion

    DD-WRT’de

    “Ev Yönlendiricinize Ek Yazılım Nasıl Yüklenir (DD-WRT)” uyguladıysanız, svn istemcisini yalnızca aşağıdakileri vererek yükleyebilirsiniz:

    opkg güncelleme; opkg alt-istemci yüklemek

    Windows'ta

    Biz derin geek kullanıcıları, GUI'nin herkesin sahip olmadığı zamanlarda bile var olduğunu unutmaya başlayabilir. Bir SVN deposuna bağlanmak için bir windows istemcisi kullanmak istiyorsanız, en popüler olanı “Kaplumbağa” dır. Kullanmak için programı indirip, düzenli olarak "sonraki, sonraki, bitiş" tarzında yükleyin..

    “Depo” yu oluşturun

    Bu kılavuzda bir subversion sunucusunun nasıl kurulacağına dair fazla ayrıntıya girmeyeceğimiz halde, Google alternatifi acemi kullanıcılar için kötü bir başlangıç ​​değildir. Bir Google deposu oluşturmak için:

    • Google Kod barındırma web sitesine gidin ve yeni bir proje “oluşturun”.
    • Bir sonraki sayfada, zorunlu alanları doldurunuz ve alt sürüm olmak için “sürüm kontrol sistemi” türünü seçiniz..

      Not: Proje için bir tane seçmeden önce Google'ın sunduğu lisanslar arasındaki farkın ne olduğuna bakmak isteyebilirsiniz..
    • “Proje oluştur” u tıklayın.
    Çalışan kopyanızı “Ödeme”

    Projeniz oluşturulduktan sonra, “Kaynak” sekmesinde nasıl erişeceğinize ilişkin talimatları bulabilmeniz gerekir..

    Google koduyla ilgili güzel şey, projeniz için anonim salt okunur bir sürümü etkinleştirmesidir. Kendi projenizi yaratmanın zorluğuyla uğraşmak istemiyorsanız, bu yazarın deposunu isimsiz olarak kontrol edebilirsiniz..

    Hotfortech projesiyle ilgili bir not: Bu proje, How-To Geek'te (şahsen kullandığım) DD-WRT'ye (kişisel olarak kullandığım) ve bazı kişisel tweaks'lere eklenen özellikler için bir sarıcı olarak düşünülmüştür. Bu proje howtogeek'te burada yayınlanan makalelerle birlikte çalışmaya yönelik olsa da, yine de benim özel projem. Yani, bu benim Buffalo yönlendiricime (AR71xx mimarisi), kişisel kaprislerime son derece uygun ve zaman zaman sıkıntıya eğilimli.

    Linux / DD-WRT'de

    Çalışılacak dizini, örneğin DD-WRT'de oluşturun:

    mkdir -p / jffs / svn; cd / jffs / svn

    Linux'taki tam komut, SVN komutunun kendisinden, “checkout” yönergesi, havuzun adresi ve kullanıma alınacak dizinden oluşur. Boş bir dizin oluşturun ve aşağıdaki komutu çalıştırın:

    svn ödeme http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-salt okunur

    Yukarıdaki örnekte salt okunur sürümün kullanıma alındığını unutmayın. Kendi havuzunuzu oluşturmayı seçtiyseniz, httpS bağlantısını kullanmanız gerekir..

    Windows'ta

    Kaplumbağa bir kabuk uzantısı olduğundan, kullanmak için Windows dosya gezgininin içerik menüsünü (sağ tıkla) kullanmanız gerekir. Aslında, başlat menüsünden çağırmaya çalışırsanız, şunları alırsınız:

    • Boş bir dizin oluşturun.
    • İçerik menüsünü getirmek için sağ tıklayın.
    • “SVN Ödeme” seçeneğini seçin:
    • Proje için bağlantıyı (varsa) kopyalayıp "URL" Metin Kutusuna yapıştırın:
    • Projenizin boyutuna bağlı olarak bu işlem biraz zaman alabilir, ancak “Ödeme” tamamlandığında, şöyle bir şey görmelisiniz:
    • Gelişmeye başlayabilirsin.

    Çalışan kopyanızı "Güncelleyin" ve "Birleştirin"
    Kod üzerinde meslektaşlarınızla çalışıyorsanız veya kendiniz kodunuz çeşitli konumlardan (yani dizüstü bilgisayar, masaüstü veya yönlendirici) güncelleniyorsa, en son değişiklikleri yapmadan önce çalışma kopyanızı güncellemeniz gerekir..

    Linux / DD-WRT'de

    Bu POSIX sistemlerinde bunu yapma komutu basitçe:

    svn

    Windows'ta

    • Çalışma dizinine sağ tıklayın ve “SVN Güncellemesi” ni seçin:
    • Çakışmalarla karşılaşırsanız, ekran talimatlarını izlemeyi deneyin ve yargılarınızı onlar hakkında ne yapacağınız konusunda kullanın.

    Değişikliklerinizi "tamamlayın"
    İşte bu, depolarınızı değişikliklerinizle güncellemeye hazır ve çatışmadan uzak olmalısınız.
    Burada dikkat edilmesi gereken noktalardan biri, değişikliklerin neden yapıldığını kolayca hatırlayabilmek için taahhüde bir “log” mesajı eklemenin yaygın bir uygulamadır. Aslında, Google’ın deposu bunu taahhüt etmek için zorunlu bir ön şart haline getirmektedir.

    Linux / DD-WRT'de

    Bu, onu versiyon 19'a yükselten hotfortech projesine yaptığım taahhütlere bir örnek:

    svn commit -m “yeni ant-reklam paketi bağlantısını yansıtacak şekilde güncellendi”

    Windows'ta

    • Çalışma dizinine sağ tıklayın ve “SVN Commit” i seçin:
    • Bir günlük iletisini not almanızı sağlayan bir pencere ile karşılaşmanız gerekir:
    • Tamam'a basın ve bir şifre sorulduğunda, Google’a oluşturulan şifreyi verin..
    • Eğer taahhüt başarılı olmuşsa, şöyle bir şey görmelisiniz:
    • İşte bu, BOSS gibi işlem yapabilmelisin..

    Son sözler
    Başlamanız için bu yeterli olmalı. Tüm SVN kullanımlarını, seçeneklerini ve uyarılarını daha iyi anlamak için SVN referans kitaplarını okumanız tavsiye edilir. Ayrıca, size (yine) hatırlatmak isteriz ki, yıkılma oradaki tek versiyon kontrol sistemi DEĞİLDİR ve GIT (Linus Torvalds tarafından Linux çekirdek kurucusu tarafından yaratılmıştır) son yıllarda popülerlik kazanıyor gibi görünmektedir..

    Yönlendiricinizdeki hotfortech projesinden “running-config.sh” dosyasını çalıştırmayı tercih ederseniz, şu anda sizin için yükleyeceğini göreceksiniz: Anti-ads-pack, Opkg geek-init betiği tam GNU “ls”, “az”, “BASH” ve daha fazlası gibi şeyler.

    /jffs/svn/hotfortech-dd-wrt/running-conf.sh

    Daha fazla özellik beklemede ve gelecekte eklenecek.


    Sistem yöneticileri kodlamadan çıkış yollarını kodlayacak.