Mengirimkan Perubahan Anda Ke Repositori

Mengirimkan perubahan yang Anda buat ke copy pekerjaan Anda dikenal sebagai mengkomit perubahan. Tapi sebelum Anda mengkomit Anda harus memastikan bahwa copy pekerjaan Anda mutahir. Anda bisa menggunakan TortoiseSVNMutahirkan secara langsung. Atau Anda bisa menggunakan TortoiseSVNPeriksa Modifikasi pertama, untuk melihat file yang mana yang telah berubah secara lokal atau pada server.

Dialog Komit

Jika copy pekerjaan Anda mutahir dan di sana tidak ada konflik, Anda siap untuk mengkomit perubahan Anda. Pilih file/folder mana saja yang ingin Anda komit, lalu TortoiseSVNKomit....

Gambar 4.8. Dialog Komit

Dialog Komit


Dialog komit akan memperlihatkan kepada Anda setiap file yang diubah, termasuk yang ditambahkan, dihapus dan file tidak berversi. Jika Anda tidak ingin file yang diubah dikomit, cukup jangan centang file itu. Jika Anda ingin menyertakan file tidak berversi, centang file itu untuk ditambahkan ke komit.

Item-item yang sudah ditukar ke path repositori yang berbeda juga ditunjukan menggunakan tanda (s). Anda mungkin telah menukar sesuatu sementara bekerja pada cabang dan lupa untuk menukarnya kembali ke trunk. Ini adalah tanda peringatan Anda!

Komit file atau folder?

Ketika Anda mengkomit file, dialog komit hanya menampilkan file yang telah Anda pilih. Ketika Anda mengkomit folder dialog komit akan memilih file yang diubah secara otomatis. Jika Anda lupa tentang file baru yang Anda buat, mengkomit folder akan membuat Anda menemukannya. Mengkomit folder tidak berarti bahwa setiap file ditandai sebagai diubah; ini hanya memudahkan hidup Anda dengan melakukan pekerjaan lebih bagi Anda.

Jika Anda telah mengubah file yang sudah disertakan dari repositori yang berbeda menggunakan svn:externals, perubahan itu tidak bisa disertakan dalam komit atomis yang sama. Simbol peringatan dibawah daftar file memberitahu Anda jika ini sudah terjadi, dan tooltip menjelaskan bahwa file eksternal tersebut harus dikomit secara terpisah.

Banyak file tidak berversi dalam dialog komit

If you think that the commit dialog shows you too many unversioned (e.g. compiler generated or editor backup) files, there are several ways to handle this. You can:

  • menambah file (atau suatu ekstensi wildcard) ke daftar file untuk dikecualikan pada halaman seting. Ini akan mempengaruhi setiap copy pekerjaan yang Anda miliki.

  • menambah file ke daftar svn:ignore menggunakan TortoiseSVNTambah ke daftar abaikan Ini hanya akan mempengaruhi direktori di mana Anda mengeset properti svn:ignore. Dengan menggunakan Dialog Properti SVN, Anda bisa mengubah properti svn:ignore untuk direktori.

Read “Mengabaikan File Dan Direktori” for more information.

Double clicking on any modified file in the commit dialog will launch the external diff tool to show your changes. The context menu will give you more options, as shown in the screenshot. You can also drag files from here into another application such as a text editor or an IDE.

You can select or deselect items by clicking on the checkbox to the left of the item. For directories you can use Shift-select to make the action recursive.

Kolom yang ditampilkan di pane bawah bisa diatur sesuai kesukaan Anda. Jika Anda mengklik kanan pada header kolom apa saja, Anda akan melihat suatu menu konteks yang membolehkan Anda untuk memilih kolom mana yang ditampilkan. Anda juga bisa mengubah panjang kolom dengan menggunakan kendali drag yang muncul ketika Anda memindahkan mouse melalui batas kolom. Kustomisasi ini tersimpan sehingga Anda akan melihat heading yang sama nantinya.

By default when you commit changes, any locks that you hold on files are released automatically after the commit succeeds. If you want to keep those locks, make sure the Keep locks checkbox is checked. The default state of this checkbox is taken from the no_unlock option in the Subversion configuration file. Read “Seting Umum” for information on how to edit the Subversion configuration file.

Drag dan Drop

Anda bisa menggeret file ke dalam dialog komit dari mana saja, selama copy pekerjaan di-check out dari repositori yang sama. Sebagai contoh, Anda mempunyai copy pekerjaan yang besar dengan beberapa explorer windows terbuka untuk melihat jarak folder dari hirarki. Jika Anda ingin menghindari komit dari folder tingkat atas (dengan panjang folder yang sulit memeriksa perubahan) Anda bisa membuka dialog komit untuk satu folder dan menggeret item dari jendela lain untuk disertakan di dalam komit atomis yang sama.

Anda dapat menggeret file-file tidak berversi yang berada dalam suatu copy pekerjaan ke dalam dialog komit dan mereka akan ditambah-SVN-kan secara otomatis.

Terkadang file-file diubah namanya di luar Subversion, dan mereka muncul di daftar file sebagai file yang hilang dan file yang tidak terversi. Untuk menghindari kehilangan sejarah tersebut, Anda perlu untuk memberitahu Subversion tentang koneksi tersebut. Cukup pilih nama lama (hilang) dan nama baru (tidak terversi) dan gunakan Menu KonteksPerbaiki Pemindahan untuk memasangkan kedua file tersebut sebagai suatu perubahan nama.

Daftar Perubahan

The commit dialog supports Subversion's changelist feature to help with grouping related files together. Find out about this feature in “Daftar Perubahan”.

Excluding Items from the Commit List

Sometimes you have versioned files that change frequently but that you really don't want to commit. Sometimes this indicates a flaw in your build process - why are those files versioned? should you be using template files? But occasionally it is inevitable. A classic reason is that your IDE changes a timestamp in the project file every time you build. The project file has to be versioned as it includes all the build settings, but it doesn't need to be committed just because the timestamp changed.

To help out in awkward cases like this, we have reserved a changelist called ignore-on-commit. Any file added to this changelist will automatically be unchecked in the commit dialog. You can still commit changes, but you have to select it manually in the commit dialog.

Pesan Log Komit

Pastikan untuk memasukkan log pesan yang menjelaskan perubahan yang Anda komit. Ini akan membantu Anda untuk melihat apa yang terjadi dan kapan saat Anda melihat pesan log proyek pada lain waktu. Pesan bisa sepanjang atau sesingkat yang Anda inginkan; banyak proyek mempunyai petunjuk untuk apa yang seharusnya disertakan, bahasa yang digunakan, dan ada kalanya bahkan format ketat.

Anda bisa menyediakan format sederhana ke log pesan Anda menggunakan konvensi mirip ke yang digunakan di dalam email. Untuk menerapkan ke teks, gunakan *text* untuk tebal, _text_ untuk garis bawah, dan ^text^ untuk miring.

Gambar 4.9. Pemeriksa Ejaan Dialog Komit

Pemeriksa Ejaan Dialog Komit


TortoiseSVN menyertakan pemeriksa ejaan untuk membantu Anda mendapatkan log pesan yang benar. Ini akan menerangi setiap kata yang salah eja. Gunakan menu konteks untuk mengakses koreksi yang disarankan. Tentu saja, ia tidak mengetahui setiap istilah teknis yang Anda ketahui sehingga ejaan kata yang benar akan tetap muncul sebagai kesalahan. Tapi jangan khawatir. Anda bisa menambahkannya ke kamus pribadi Anda menggunakan menu konteks.

The log message window also includes a filename and function auto-completion facility. This uses regular expressions to extract class and function names from the (text) files you are committing, as well as the filenames themselves. If a word you are typing matches anything in the list (after you have typed at least 3 characters, or pressed Ctrl+Space), a drop-down appears allowing you to select the full name. The regular expressions supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own regexes and store them in %APPDATA%\TortoiseSVN\autolist.txt. Of course your private autolist will not be overwritten when you update your installation of TortoiseSVN. If you are unfamiliar with regular expressions, take a look at the introduction at http://en.wikipedia.org/wiki/Regular_expression, and the online documentation and tutorial at http://www.regular-expressions.info/.

You can re-use previously entered log messages. Just click on Recent messages to view a list of the last few messages you entered for this working copy. The number of stored messages can be customized in the TortoiseSVN settings dialog.

You can clear all stored commit messages from the Saved data page of TortoiseSVN's settings, or you can clear individual messages from within the Recent messages dialog using the Delete key.

If you want to include the checked paths in your log message, you can use the command Context MenuPaste filename list in the edit control.

Another way to insert the paths into the log message is to simply drag the files from the file list onto the edit control.

Properti Folder Khusus

Ada beberapa properti folder khusus yang bisa digunakan untuk membantu memberikan kontrol lebih melalui format dari pesan log komit dan bahasa yang digunakan oleh modul pemeriksa ejaan. Baca “Seting Proyek” untuk informasi lengkap.

Integration with Bug Tracking Tools

If you have activated the bug tracking system, you can set one or more Issues in the Bug-ID / Issue-Nr: text box. Multiple issues should be comma separated. Alternatively, if you are using regex-based bug tracking support, just add your issue references as part of the log message. Learn more in “Integration with Bug Tracking Systems / Issue Trackers”.

Kemajuan Komit

Setelah menekan OK, dialog muncul menampilkan progres dari komit.

Gambar 4.10. Dialog Progres menampilkan komit dalam proses

Dialog Progres menampilkan komit dalam proses


Dialog progres menggunakan kode warna untuk menerangi tindakan komit yang berbeda

Biru

Mengkomit modifikasi.

Ungu

Mengkomit tambahan baru.

Merah tua

Mengkomit penghapusan atau penggantian.

Hitam

Item-item lainnya.

Ini adalah skema warna standar, tapi Anda bisa mengkustomisasi warna menggunakan dialog seting. Baca “Seting Warna TortoiseSVN” untuk informasi lengkap.