SVN Yazı Dizisi – 1
Test Deposu Oluşturma
Burada yapacaklarımız sadece alıştırmadır. Bu seferlik kolay erişebilmemiz için depoyu Ev dizinimizde oluşturacağız. Bunu yapmak için “svnadmin” komutunu kullanacağız.
svnadmin create testrepo
Bu komutla testrepo isminde bir depo oluşturduk. Bu depo veritabanı olarak işlev görecek. Şimdi veritabanımıza birkaç dosya ekleyelim:
mkdir test
touch test/test1.txt
touch test/test2.txt
mkdir komutuyla test isminde bir dizin oluşturduk ve içerisine iki metin belgesi yerleştirdik. Ancak SVN sistemi henüz bu dosyaların varlığından habersiz. Şimdi bu dizini depomuzun bir parçası yapalım:
svn import test file:///home/kullanıcı_adınız/testrepo/test -m “Initial Import”
Bu komutla, kısa bir süre bekleyip kontrol edebileceğimiz test isminde bir depo ekledik. Bu komuttan sonra ekranda şunlar görülür:
Adding test/test2.txt
Adding test/test1.txt
Committed revision 1.
“Revision” sayısı depomuza gönderdiğimiz her değişiklikte artacaktır. Import komutuna eklediğimiz “-m” parametresi yaptığımız değişikliği anlatan bir mesajı log kaydına ekleyecektir ve bunun her depoda yapacağınız her değişiklikte uygulanması gerekir. Commit etmek, mevcut değişikliklerle depomuzu güncelleme işlemidir ve sık sık yapılması iyidir. 100 güncellemeden sonra, 27 numaralı değişikliğin ne ile ilgili olduğunu hatırlayabilmek için açıklayıcı bir mesaj olması işinizi kolaylaştırır.
Kontrol Etmek
Şimdi asıl test dizinini elimizden bırakıyoruz. Bu depo, değişiklik yapabilmemiz için depomuzun çalışan bir kopyasını kontrol ederken saf depo olarak kalacak.
svn checkout file:///home/kullanıcı_adınız/testrepo/test workingtest
Kontrol edilen ve çalışan kopyanıza koyulacak olan dosyaların bir listesini göreceksiniz. Bu dosyalar revizyon kontrolü altında olacaklar.
A workingtest/test2.txt
A workingtest/test1.txt
Checked out revision 1.
Çalışan kopya dizinine cd komutuyla (cd workingtest) girin ve “ls -a” yazın. “.svn” isminde gizli bir dosya göreceksiniz. Bunun anlamı, şu an içinde bulunduğunuz dizin revizyon kontrolü altındadır ve dizin ile dizine yapılan değişiklikler ile ilgili bilgileri içerir. Eğer “.svn” dizini haricindeki dizinleri kopyalamak istiyorsanız “svn export [...]” komutunu kullanmanız gerekir. Çalışan kopyanın yüklenmesi için Apache sunucusunu kullanacağız. Böylece başka bir çalışan kopyadan değişiklikleri gönderdiğimizde test deposunu güncelleyebileceğiz. Şimdi test deposu kontolümüzde bazı değişiklikler yapalım.
Güncellemelerimizi Test Etme
test1.txt dosyasını açın ve içine bazı eklemeler yapın. Fazla olmasına gerek yok, sadece dosyayı değiştirecek bir kaç harf de yeterlidir. Daha sonra şu komutu yazın:
svn status
Bu komutun sonucu olarak:
M test1.txt
yazısını göreceksiniz.
Şimdi bu değişikliği depoya uygulamamız gerekecek. Daha önce bahsettiğim gibi, her değişiklik yaptığınızda bunu depoya uygularsanız daha iyi olur. Ben güncelleme yapmadan önce birbiriyle alakalı değişiklikler yapıyorum. Tabi bu değişikliklerin tamamı sitenizin belli bir kısmını etkiliyorsa ve birbirine bağımlıysa bunu yapmanızı öneririm. Eğer bunu yapmazsanız, revizyon kontrol sistemi amacı dışına çıkar ve sizi tamamlanmamış log kayıtlarıyla başbaşa bırakır. Sonuç olarak bir hata yakaladığınızda daha fazla değişikliği geri almak zorunda kalırsınız. Şu komutla güncelleme yapıyoruz:
svn commit -m “Added text to text1.txt”
Bu komutun çıktısı;
Sending test1.txt
Transmitting file data .
Committed revision 2.
çıktısını alırsınız.
Bugünlük bu kadar yeter sanırım. Bol bol güncelleme (commit) yapıp komutlara alışmaya bakın
