İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır
Burak Bayramlı
bayramli@bilisimcumhuriyeti.com

Kaynak Kod İdaresi - CVS

Kaynak Kod İdaresi - CVS

Bir yazilim projesi gelistirme sureci baslamadan once, etrafiniza soyle bir bakin. Programcilariniz hazir, bilgisayarlari alinmis ve kurulmus, derleyicileri hazir (Java, vs). Ne eksik?

Kaynak Kod idare programini unutmayin. KKI sistemleri sayesinde ayni yazilimda bir cok programcinin calismasi mumkun oluyor. Yoksa, eger iki programci ayni anda BeniDuzelt.java kayidini degistiriyorsa, hangisinin surumu en onde nasil bileceksiniz? Bildiniz, KKI sistemi sayesinde.

KKI sistemi icin once bir depo yaratmak gerekir. Bu depo, butun kaynak kodun saklandigi yer olur. Programcilar, bu depodan dosyalari kendi ortamlarina indirirler. Dosya uzerinde ekleme, cikarma isini kendi ortamlarinda yaparlar. Isleri bitince KKI sistemine "geri" verirler. KKI sistemi, eger "ayni anda" iki kisinin degistirdigi bir dosya varoldugunu bulursa, degisim "carpismasi" oldugunu haber verir. Bu haber ayni dosyayi ikinci geri veren programciya gosterilir. Boyle bir durumda programcinin, degismis dosyayi depodan cikartip, kendi surumu ile 'birlestirmesi' gerekir. CVS programi otomatik bir birlestirici sunuyor, isimizi rahatlatmak icin

Mesela, diyelim ki, BeniDegistir.c dosyasini iki kisi ayni anda degistirmeye basladi. Isleri bittikten sonra, belli aralar ile sunu yaptilar.

cvs ci BeniDegistir.c # ya da cvs commit BeniDegistir.c

Ikinci programci bir hata mesaji gorecek, ve depo sizin surumu kabul etmeyecek. Cunku sizden once baskasi kayidi degistirmis, ve siz eklemenizi ondan bir onceki surume gore yapmissiniz. CVS size diyor ki "Bir de kodun son haline bir bak, eger degisikligin hala gecerliyse, bana tekrar geri ver". Bu durumda, en yeni surumu depodan alip, kendi dosyan ile "birlestirmek" gerekir. Dikkat edin, bu birlestirme hala depoda degil, sizin sahsi dosyanizda oluyor.

$ cvs -q co -P BeniDegistir.c

Bu komuttan sonra, elinizde soyle bir kayit gececek..

#include <stdlib.h>
#include <stdio.h>

int main(int argc,
         char **argv)
{
    init_arayici();
    ara();
    if (argc != 1)
    {
        fprintf(stderr, "tc: Hic Oge Gondermeye Gerek Yok.\n");
        exit(1);
    }
    if (nerr == 0)
        KodYarat();
    else
        fprintf(stderr, "Kod Yaratilmadi.\n");
<<<<<<< BeniDegistir.c
    exit(nerr == 0 ? CIKIS_BASARILI : CIKIS_BASARISIZ);
=======
    exit(!!nerr);
>>>>>>> 1.6
}

<<<<<<< ve ======= arasina gelen satirlar, sizin eklemeniz.

======= ve >>>>>>> 1.6 arasina gelenler depoda sizden once yapilan degisiklikler.

Bu birlesmis dosyaya bakarak, sizin eklemenizin gecerli olup olmadigina bakin, ve dosyayi son haline getirin. ==== isaretlerini cikartarak tabii. Bunu yaparken oteki programciya soru sormaniz gerekebilir. Iletisim cok onemli.. Bundan sonra, en son formu bulup, su komutu tekrar isletmeniz gerekir.

cvs commit BeniDegistir.c 

Fakat artik cvs komutu basariyla tamamlanacak. Depoda artik guncel dosyaniz bulunuyor!

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır