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.