İçerikler :

Apache Portable Runtime Project Version Numbe.. Branch Build Versiyon Numarası Check-in Check-out Commit CVS (Concurrent Versions System) Distributed Revision Control Systems (DRCS) -.. Genel Olarak Yazılım veya Program Versiyonlam.. Her Yazılım Şirketinin veya Yazılımcının Bir .. Label MAJOR.MINOR.PATCH Şeklindeki Versiyonlama Sis.. major.minor.release.build Şeklinde Bir Versiy.. Major Versiyon Numarası Merge Minör Versiyon Numarası Patch Version Release Versiyon Numarası Repository Semantic Versioning Son Kullanıcıya Yönelik Ürünlerin Versiyon İs.. Tag Trunk Unlimited DVCS Code Hosting, Free Update Versiyon Versiyon Kontrol Sistemlerinin Client-Server .. Versiyonlama Sistemleri - Versiyon Kontrol Si.. Versiyon Numarası

Bu Sayfayı Paylaş:

Kavram

Versiyon

Tanım: Bir yazılımın veya programın tamamlanmış (yazılımın tamamlanması ve kullanıma hazır duruma getirilmesi) durumuna verilen isim. Her versiyon için genellikle bir isim ve bir numara verilir ve her yeni versiyon ile bu numara arttırılır. Çoğunlukla versiyon 1.0 ile başlar ve 2.0 , 3.0 şeklinde devam eder

Kavram

Versiyonlama Sistemleri - Versiyon Kontrol Sistemleri

Tanım: Bilgilerin (belge , bilgisayar programları , web siteleri vb..) dosyalar şeklinde tutulduğu sistemlerde , bilgilerin veya dosyaların değişmelerinin saklandığı ve yönetildiği sistemlerin genel adı. Bilgilerdeki her değişme ayrı bir sayı ile saklanır ve gerektiğinde eski değişimler izlenebilir , kullanılabilir ve farklı değişimler ile birleştirilebilir. Farklı kişiler tarafından yapılan değişiklikler birleştirilebilir. CVS ,SVN , GIT en yaygın kullanılan versiyon kontrol yazılımlarıdır

Kavram

Versiyon Numarası

Tanım: Bir yazılım veya programın belirli bir versiyonunun numarası. Örnek olarak 1.5, 1.0.0.7 , 3.0 , 3.1.X şeklinde versiyon numaraları verilebilir

Kavram

Major Versiyon Numarası

Tanım: Bir yazılımda önemli değişiklikler yapıldığında arttırılan ana versiyon numarası. Nokta işaretinden önce kullanılan ilk sayıdır. Örneğin 1.0 , 1.1, 1.2 , 2.0 , 3.0 şeklinde versiyon numaraları için ilk üç versiyonun major versiyonu 1 , diğerlerinin 2 ve 3'tür

Kavram

Minör Versiyon Numarası

Tanım: Bir yazılımında major versiyon içinde küçük değişikliklerin , eklemelerin yapıldığı veya hataların çözüldüğünü belirtmek için kullanılan versiyon sayısı. Örneğin 1.1 , 1.2 , 1.3 versiyon sayılarında 1 major versiyonu içinde 1 , 2 , 3 minör versiyon olarak düşünülebilir. Eğer 1.1 , 1.2 , 1.3 major versiyon kabul edilir ise minor versiyonlar 1.1.1 , 1.1.2, 1.2.1 , 1.2.2 şeklinde belirtilebilirler

Kavram

Release Versiyon Numarası

Tanım: Bir minor versiyon içinde bazı bug'ların (hataların) kapatılmasından sonra çıkartılan veya Alfa, Beta gib adlandırılan küçük versiyonlar. 1.1.1 ... 1.1.23 şeklinde giden bir numaralandırmada , 1'den 23'e kadar giden numaralar release numarası olarak kullanılabilir

Kavram

Build Versiyon Numarası

Tanım: Versiyonlama sistemi (versiyon kontrol sistemi) kullanan yazılımlar için bir yazılımın versiyonlama sistemindeki versiyon numarası. Bu numara derlenme-inşa edilme versiyonu olarak görülmektedir

Kavram

Patch Version

Tanım: Bir minor versiyon içinde bazı bug'ların (hataların) kapatılmasından sonra çıkartılan küçük versiyonlar. 1.1.1 ... 1.1.23 şeklinde giden bir numaralandırma da , 1'den 23'e kadar giden numaralar release numarası olarak kullanılabilir

Kavram

CVS (Concurrent Versions System)

Tanım: Dünyada yaygın olarak kullanılan versyion kontrol yazılımı

Kavram

Check-out

Tanım: Bir dosyanın veya projenin , versiyon kontrol sisteminden local'e kopyasının alınma işlemi. Alınan içerikte yapılan değişiklikleri tekrar versiyon sistemine gönderme işlemine ise check-in denilmektedir. Bazı sistemlerde eğer dosya zaten local'de var ise check-out yerine "get latest" , "update" gibi ifadeler kullanılabilir

Kavram

Check-in

Tanım: Local'de yapılan değişiklikleri versiyon kontrol sistemine gönderme işlemi. Bir dosyanın versiyon sisteminden alınıp local'de kopyasnın yaratılması işlemine Check-out denilmektedir. Bazı sistemlerde bir veya birden fazla dosya için check-in kelimesi yerine commit kelimesi kullanılır

Kavram

Repository

Tanım: Versiyon kontrol sistemlerinde tüm değişikliklerin versiyonlarının ve geçmişinin (history) saklandığı yer. Bazı versiyon sistemlerinde depot denilmektedir

Kavram

Branch

Tanım: Br versiyon kontrol sisteminde , yeni bir çalışma için (yeni modül ekleme, bug çözme vb..) varolan ana yapıdan (trunk veya mainline denilebilir) veya başka bir branch'tan yapılan kopya işlemi. Yeni branch'ta yapılan değişiklikler ana yapıyı etkilemez. Branch'ta çalışma tamamlandıktan sonra ana branch veya ana yapı (trunck veya mainline) ile branch birleştirilebilir (merge)

Kavram

Trunk

Tanım: Versiyon kontrol sistemlerinde , üzerinden yeni branch'lar (dal) yaratılan (daha doğrusu yeni geliştirmelerin yapılacağı) ana dal. Bir trunk'dan yaratılan branch'larda yapılan değişiklikler trunk ile birleştirilirler (merge). Bazı versiyon kontrol sistemlerinde mainline , baseline şeklinde de isimlendirilebilir

Kavram

Merge

Tanım: Bir versiyon kontrol sisteminde yapılan değişikliklerin ana yapıyla veya başkalarının yaptığı değişikliklerle ile birleştirilmesi işlemi. Örneğin bir brunch (dal)'da yapılan değişikliklerin trunck (gövde) ile birleştirilmesi işlemi merge işlemidir

Kavram

Tag

Tanım: Bir versiyon kontrol sistemindeki dosyalarının bir andaki (versiyonuna) duruma insanların daha kolay anlayabilmeleri için verilen etiket. Bazı sistemlerde Label'da denilmektedir

Kavram

Label

Tanım: Bir versiyon kontrol sistemindeki dosyalarının bir andaki (versiyonuna) duruma insanların daha kolay anlayabilmeleri için verilen etiket. Bazı sistemlerde Tag'de denilmektedir

Kavram

Commit

Tanım: Versiyon kontrol sistemlerinde local'de çalışılan kopya üzerinde yapılan değişikliklerin versiyon kontrol sisteminin server'ına (repository) gönderilme işlemidir. Tek bir dosyanın gönderilmesi için check-in ifadesi de kullanılmaktadır

Kavram

Update

Tanım: Versiyon kontrol sistemlerinde server'daki (repository) değişikliklerin local'e (çalışılan kopya) uygulanması. Bu işlem ile Local'deki dosyaların server''da başkalarının değiştirdikleri ile güncellemesi sağlanır

Kavram

Distributed Revision Control Systems (DRCS) - Decentralized Version Control (DVCS)

Tanım: Her kullanıcının local'inde tüm yapının (repository) kopyasının olduğu, ana bir repository server'ın gerekli olmadığı versiyon kontrol sistemi. İstenildiğinde merkezi bir repository server yaratılabilir. Tüm versiyon kontrol işlemleri local bilgisayarda offline olarak yapılabilir ve istenildiği zaman değişiklikler diğer geliştiricilerin repository server'ı ile birleştirilebilir. Git, Mercurial, Bazaar gibi kontrol sistemleri bu türdedir

Veri

Genel Olarak Yazılım veya Program Versiyonlama İçin Kullanılan Sistemleri

Çok farklı şekilllerde versiyonlama sistemleri bulunmaktadır. Aşağıdaki gibi kategorilendirilebilir : 

  • Sıra Tabanlı Numaralama İle : Her yeni versiyon bir numaranın veya birden fazla numaranın artırılması ile yapılan yazılım versiyonlama sistemidir. 1.0, 3.0.0.1 gibi.
  • Tarih veya Yıl ile : Yazılımınçıktığı tarih veya yıl bilgisinden versiyon numarası yapılması. Örneğin 2012 , 1 Temmuz'da çıkan bir yazılım versiyonu için 12.07 verilebilir. Windows 95, Windows 98 gibi daha çok son kullanıcıya yönelik farklı bir versiyon ismi verilebilir.
  • Her Versiyon İçin Farklı Bir Alfa-Numerik Kullanma : Her versiyonda geçmiş yazılım veya program ile ilgili olmayan alfa-numeric karakterler verilebilir. Örneğin Adobe Photoshop CS1 , CS2 .. , Macromedia Flash MX , Windows Me (4.90), Windows XP gibi  
  • Diğer Farklı Şekillerde : Bunun dışında farklı versiyon numaralandırma sistemleri de bulunmaktadır

 


 


Veri

Versiyon Kontrol Sistemlerinin Client-Server Kavramına Göre Sınıflandırılması

Versyion kontrol sistemlerinin client ve server yapısına göre üç farklı şekilde sınıflandırılabilir : 

  • Sadece Local'de Çalışan Sistemler : Bu sistemlerde aynı bilgisyar üzerinde değişiklikleri saklayan ve çalışılmasını sağlayan sistemlerdir. Örneğin Revision Control System (RCS) , Source Code Control System (SCCS) verilebilir
  • Client-Server Şeklinde Çalışılan Sistemler : Bu sistemde değişiklik yapmak isteyenler değişiklik yapmak istedikleri dosyaların kopyasını local'lerine alırlar ve değişiklikleri daha sonradan server'a (reporsitory) gönderirler. Örneğin Concurrent Versions System (CVS) ve Subversion (SVN) verilebilir.
  • Dağıtık Şekilde Çalışanlar Sistemler : Her kullananın local'inde tüm yapının (repository) kopyasının olduğu, ana bir repository server'ın gerekli olmadığı versiyon kontrol sistemi.  İstenildiğinde merkezi bir repository server yaratılabilir. Tüm versiyon kontrol işlemleri local bilgisayarda offline olarak yapılabilir ve istenildiği zaman değişiklikler diğer geliştiricilerin repository server'ı ile birleştirilebilir. Örnek olarak Git, Mercurial, Bazaar sistemleri verilebilir

 

 


Örnek

major.minor.release.build Şeklinde Bir Versiyonlama Sistemi Örneği

Bir yazılım veya program aşağıda belirtilen kurala göre versiyonlanabilir : 

major.minor.release.build

Major önemli değişiklikler yapıldığı zaman artırılır. Minör major versiyon içindeki değişiklikler için kullanılır.  release ise alfa, beta gibi alt versiyonlar için tercih edilir . build ise yazılımın "versiyon kontrol sisteminde" saklanan versiyonu ile ilgili bilgi verir.

Örnek : 1.0.1.3056 , 1.1.2.109


Örnek

MAJOR.MINOR.PATCH Şeklindeki Versiyonlama Sistemi Örneği

Bir yazılım veya program aşağıda belirtilen kurala göre versiyonlanabilir : 

MAJOR.MINOR.PATCH

Major önemli değişiklikler yapıldığı zaman artırılır. Minör major versiyon içindeki değişiklikler için kullanılır.  patch çoğunlukla bug'lar çözülüp versiyon güncellendiği zaman kullanılır. 

Örnek : 1.0.1 , 1.1.2 


Öneri

Her Yazılım Şirketinin veya Yazılımcının Bir Versiyonlama Yöntemi Olmalıdır

Her yazılımcı veya yazılım firması ürünlerinin versiyonlama işlemini standart bir yöntemle yapmalıdır. Bu yöntemi tüm yazılımlarında ve programlarında uygulamalıdır. Örneğin Major.Minor.Patch şeklinde bir yazılım versiyon sistemini tercih ederse bütün yazılımlarında bu versiyon sistemini kullanmalıdır


Öneri

Son Kullanıcıya Yönelik Ürünlerin Versiyon İsimlerinde Yıl Kullanın

Son kullanıcıya yönelik yazılımlarda versiyon numarası kullanmak yerine yıl kullanmak daha yararlıdır. Örneğin XYZ 2.0 demek yerine XYZ 12 veya XYZ 2012 demek (12 , 2012 yerine) daha kolaydır . Eğer aynı yıl iki versiyon çıkılıyor ise yanına ay bilgisi eklenebilir. XYZ 12 (Mart) gibiç


Kaynak

Semantic Versioning

Bir yazılım veya programın versiyon standartları oluşturan "Semantic Versioning" kuralların açıklandığı web sitesi

Kaynak

Apache Portable Runtime Project Version Numbering

Apache Portable Runtime Projesinin versiyonlama sisteminin açıklandığı sayfa

Kaynak

Unlimited DVCS Code Hosting, Free

5 kişiye kadar ücretsiz DVCS (Distributed Revision Control Systems- Dağıtık Versiyon Kontrol Sistemi) desteği veren hosting firması. 5 kullanıcıdan fazla kullanıcı için ücretli hizmet sunmaktadır



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir