svn changelist

Repo’nuzdaki değişikliklerin hepsini commit yapmak istemeyebilirsiniz. Örneğin, bazı dosyalarda değişiklik yaptınız ve bazı dosyaları da sildiniz ve sadece silinen dosyaları commit yapmak istediğinizde, daha düzenli ve anlaşılır olsun diye değ. yapılan dosyaları gruplayarak (ui-changelist, styles-changelist gibi) kolayca takip etmek istediğinizde svn’in changelist özelliğini kullanabiliriz.

Kullanılışı

Changelist oluşturma ve ona dosya ekleme

svn changelist cl-name cl-file-to-add

Changelist’den dosya çıkarma

svn changelist --remove file-to-delete-from-cl

Changelist’i commit’leme

svn commit --changelist cl-name

 

Örnek kullanım

Aşağıdaki örnek bir web proje repo’sundadaki değişiklik yapılan dosyaları front-end ve back-end olmak üzere 2 changelist oluşturarak commit yapalım:

Repo’daki tüm değişikliklerin listesi:

$ svn st
M views/user/add.php
M views/user/update.php
M views/user/delete.php
D views/user/_delete.php
M models/User.php
M controllers/UserController.php
M helpers/Db.php

front-end ve back-end changelist’lerini oluşturarak dosyaları ilgili yerlerine ekleyelim:

$ svn changelist front-end views/user/add.php views/user/update.php views/user/delete.php views/user/_delete.php
$ svn changelist back-end back-end models/User.php controllers/UserController.php

Changelist’leri oluşturduktan sonraki repo’nun duruma bakalım:

$ svn st
M helpers/Db.php
--- Changelist 'front-end':
M views/user/add.php
M views/user/update.php
M views/user/delete.php
D views/user/_delete.php
--- Changelist 'back-end':
M models/User.php
M controllers/UserController.php

Her iki changelist’i de commit’leyelim:

$ svn commit --changelist front-end
$ svn commit --changelist back-end

Repo’nun en son durumu:

$ svn st
M helpers/Db.php

 

svn changelist ile ilgili aktaracaklarım bu kadar. Daha ayrıntılı bilgi için http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.advanced.changelists bağlantısını ziyaret edebilirsiniz.