Copy - Modify - Merge | Kopya et - Dəyiş - Birləşdir | Versiyanın idarə sistemi
Qabaqcadan deyim ki, bu strategiyanı gələcəkdə istifadə edəcəyik. Bu strategiyada heçnəyi lock (blok) etmirik və eyni zamanda bir neçə developer işləyə bilir. Keçək bizim əvvəlki strategiyanın nümunəsində hazır ki strategiyanın izahına.
Təsəvvür edək yenə Namiq və Aygün mahnı yazırlar. Bu dəfə hər ikisi də eyni vaxtda şeir yazmağa başlayır. Elə alınır ki, Namiq yazdığı sətirlər Aygün yazdığı sətirlərdən fərqlənir. Amma Namiq birinci yazıb bitirdiyinə görə, o Aygündən qabaq öz faylını serverə yükləyir. Nəticədə Namiqin local sistemində olan mahnı.txt və serverdə olan mahnı.txt faylları eyni olur. Aygün öz faylını yükləyərkən qarşısına xəta çıxır ki, nəsə düz gəlmir. Eyni faylda müxtəlif məlumat var və qərar vermək lazımdır ki hansı məlumat qalsın. Aygünün 3 variantı yaranır.
Birinci varianta əsasən Aygün serverdə olan və onda local sistemdə olmayan versiyanı saxlayır, öz dəyişikliylərin silir.
İkinci varianta əsasən Aygün öz yazdığını daha düzgün hesab edərək, Namiqin yazdığı yəni serverdə olan versiyanı silir və deyir ki öz variantı daha düzgündür ona görə o yüklənməlidir. Bu halda Namiqin local sistemdə olan versiyası artıq serverdə olan versiyadan fərqlənir.
Üçüncü və sonuncu variant hər ikisini saxlamaqdır. Bu o halda olur ki, Namiqin yazdığı və Aygünün yazdığı ayrı ayrı sətirlərdir və mahnının tamamlanması üçün hər ikisi də qalmalıdır.
Yuxarıda qeyd etdiyim Konfliktin həlli deyirlər. Copy Modify Merge strategiyasında bir proyektin üzərində bir neçə developer çalışırsa belə konfliktlərin yaranması normaldır və ola biləndir. Biz gələcək təcrübələrimizdə belə konflikt haqqında yenədə danışacayıq. Copy Modify Merge strategiyası distributed mexanizminə uyğün çalışır. Adı gedən strategiyanın mənfi cəhədi daha çətin modelə sahib olmasıdır. Çətin olmasına baxmayaraq geniş istifadə olunur. Müsbət tərəfi çoxdur. Eyni anda müxtəlif developer kod yaza bilir, backup və restore daha effektiv işləyir, daha sürətlidir və s.
Diqqətiniz üçün minnətdaram.