Ada kalanya Anda ingin mempunyai informasi terinci tentang file/direktori daripada hanya lapisan ikon. Anda bisa mendapatkan semua informasi yang disediakan Subversion dalam dialog properti explorer. Pilih file atau direktori dan pilih → dalam menu konteks (catatan: ini properti normal entri menu yang disediakan explorer, bukan yang ada dalam submenu TortoiseSVN!). Dalam kotak dialog properti sudah ditambahkan halaman properti baru untuk file/folder dibawah kontrol Subversion, dimana Anda bisa melihat semua informasi relevan tenang file/direktori yang dipilih.
You can read and set the Subversion properties from the Windows properties dialog, but also from → and within TortoiseSVN's status lists, from → .
You can add your own properties, or some properties with a special meaning in Subversion. These begin with svn:. svn:externals is such a property; see how to handle externals in “External Items”.
Subversion supports CVS-like keyword expansion which can be used to embed filename and revision information within the file itself. Keywords currently supported are:
Date of last known commit. This is based on information obtained when you update your working copy. It does not check the repository to find more recent changes.
Revision of last known commit.
Author who made the last known commit.
The full URL of this file in the repository.
A compressed combination of the previous four keywords.
To find out how to use these keywords, look at the svn:keywords section in the Subversion book, which gives a full description of these keywords and how to enable and use them.
For more information about properties in Subversion see the Special Properties.
Untuk menambah properti baru, pertama klik pada Tambah.... Pilih nama properti dari kotak kombo, atau ketik nama pilihan Anda, lalu masukkan nilai dalam kotak dibawah. Properti yang mengambil multipel nilai, seperti misalnya daftar abaikan, bisa dimasukan pada multipel baris. Klik untuk menambah properti itu ke daftar.
Jika Anda ingin menerapkan properti ke banyak item sekaligus, pilih file/folder dalam explorer, lalu pilih →
Jika Anda ingin menerapkan properti ke setiap file dan folder dalam hirarki dibawah folder saat ini, centang kotak centang Rekursif.
Beberapa properti, misalnya svn:needs-lock, hanya bisa diterapkan ke file, maka nama properti tidak nampak dalam daftar drop down untuk folder. Anda masih bisa menerapkan properti itu secara rekursif ke semua file dalam hirarki, tapi Anda harus mengetikkan nama properti oleh Anda sendiri.
Jika Anda ingin mengedit properti yang sudah ada, pilih properti dari daftar properti yang sudah ada, lalu klik .
Jika Anda ingin menghapus properti yang sudah ada, pilih properti itu dari daftar properti yang ada, lalu klik .
The svn:externals property can be used to pull in other projects from the same repository or a completely different repository. For more information, read “External Items”.
Because properties are versioned, you cannot edit the properties of previous revisions. If you look at properties from the log dialog, or from a non-HEAD revision in the repository browser, you will see a list of properties and values, but no edit controls.
Seringkali Anda akan menemukan diri Anda menerapkan sekumpulan properti yang sama berulang kali, contohnya bugtraq:logregex. Untuk memudahkan proses penyalinan properti-properti dari satu proyek ke proyek lainnya, Anda dapat menggunakan fitur Ekspor/Impor.
Dari berkas atau folder di mana properti-properti sudah terset, gunakan → , pilih properti-properti yang ingin Anda ekspor dan klik . Anda akan diminta menyebutkan nama berkas dimana nama-nama dan nilai-nilai properti akan disimpan.
Dari folder di mana Anda ingin untuk menerapkan properti-properti ini, gunakan → dan klik pada . Anda akan diminta menyebutkan sebuah nama berkas yang akan diimpor, jadi pergilah ke tempat Anda menyimpan berkas yang telah Anda ekspor sebelumnya dan pilihlah berkas itu. Properti-properti tersebut akan ditambahkan ke folder-folder secara tidak rekursif.
If you want to add properties to a tree recursively, follow the steps above, then in the property dialog select each property in turn, click on , check the Apply property recursively box and click on .
The Import file format is binary and proprietary to TortoiseSVN. Its only purpose is to transfer properties using Import and Export, so there is no need to edit these files.
TortoiseSVN bisa menangani nilai properti biner menggunakan file. Untuk membaca nilai properti biner, ke file. Untuk mengeset nilai biner, gunakan editor heksa atau piranti terkait lain untuk membuat file dengan isi yang Anda butuhkan, kemudian tool to create a file with the content you require, then dari file itu.
Meskipun properti biner tidak sering digunakan, mereka bisa berguna dalam beberapa aplikasi. Sebagai contoh jika Anda menyimpan file grafik besar atau jika aplikasi yang digunakan untuk mengambil file besar, mungkin Anda ingin menyimpan thumbnail sebagai properti agar Anda bisa mendapatkan peninjauan dengan cepat.
You can configure Subversion and TortoiseSVN to set properties automatically on files and folders when they are added to the repository. There are two ways of doing this.
You can edit the subversion configuration file to enable this feature on your client. The General page of TortoiseSVN's settings dialog has an edit button to take you there directly. The config file is a simple text file which controls some of subversion's workings. You need to change two things: firstly in the section headed miscellany uncomment the line enable-auto-props = yes. Secondly you need to edit the section below to define which properties you want added to which file types. This method is a standard subversion feature and works with any subversion client. However it has to be defined on each client individually - there is no way to propagate these settings from the repository.
An alternative method is to set the tsvn:autoprops property on folders, as described in the next section. This method only works for TortoiseSVN clients, but it does get propagated to all working copies on update.
Whichever method you choose, you should note that auto-props are only applied to files at the time they are added to the repository. Auto-props will never change the properties of files which are already versioned.
If you want to be absolutely sure that new files have the correct properties applied, you should set up a repository pre-commit hook to reject commits where the required properties are not set.
Properti Subversion adalah berversi. Setelah Anda mengubah atau menambah properti Anda harus mengkomit perubahan Anda.
Jika ada konflik pada komit perubahan, karena pengguna lain telah mengubah properti yang sama, Subversion membuat file .prej. Hapus file ini setelah Anda menyelesaikan konflik.
TortoiseSVN mempunyai beberapa properti khusus, dan ini dimulai dengan tsvn:.
tsvn:logminsize mengeset panjang minimum dari pesan log untuk komit. Jika Anda memasukan pesan lebih pendek daripada yang ditetapkan disini, komit dimatikan. Fitur ini sangat berguna untuk mengingatkan Anda untuk menyertakan pesan deskriptif yang benar untuk komit. Jika properti ini tidak di set, atau nilainya nol, pesan log kosong dibolehkan.
tsvn:lockmsgminsize Mengeset panjang minimum dari pesan kunci. Jika Anda memasukan pesan lebih pendek daripada yang ditetapkan disini, kunci dimatikan. Fitur ini sangat berguna untuk mengingatkan Anda untuk menyertakan pesan deskriptif yang benar untuk setiap kunci yang Anda peroleh. Jika properti ini tidak di set, atau nilainya nol, pesan kunci kosong dibolehkan.
tsvn:logwidthmarker digunakan dengan proyek yang membutuhkan pesan log dibentuk dengan panjang maksimum (biasanya 80 karakter) sebelum baris pemisah. Menyeting properti ini ke nilai bukan-nol akan melakukan 2 hal dalam dialog entri pesan log: menempatkan tanda untuk menunjukan panjang maksimum, dan mematikan gulung kata dalam tampilan, agar Anda bisa melihat teks yang Anda masukan terlalu panjang. Catatan: fitur ini hanya akan bekerja dengan benar jika Anda mempunyai font panjang-tetap dari pesan log yang dipilih.
tsvn:logtemplate digunakan dengan proyek yang mempunyai aturan tentang pembentukan pesan log. Properti menampung multi-baris string teks yang akan disisipkan dalam kotak pesan komit saat Anda mulai mengkomit. Anda bisa mengeditnya untuk menyertakan informasi yang dibutuhkan. Catatan: jika Anda juga menggunakan tsvn:logminsize, pastikan untuk mengeset lebih panjang dari template atau Anda akan kehilangan mekanisme perlindungan.
Subversion allows you to set “autoprops” which will be applied to newly added or imported files, based on the file extension. This depends on every client having set appropriate autoprops in their subversion configuration file. tsvn:autoprops can be set on folders and these will be merged with the user's local autoprops when importing or adding files. The format is the same as for subversion autoprops, e.g. *.sh = svn:eol-style=native;svn:executable sets two properties on files with the .sh extension.
If there is a conflict between the local autoprops and tsvn:autoprops, the project settings take precedence because they are specific to that project.
In the Commit dialog you have the option to paste in the list of changed files, including the status of each file (added, modified, etc). tsvn:logfilelistenglish defines whether the file status is inserted in English or in the localized language. If the property is not set, the default is true.
TortoiseSVN can use spell checker modules which are also used by OpenOffice and Mozilla. If you have those installed this property will determine which spell checker to use, i.e. in which language the log messages for your project should be written. tsvn:projectlanguage sets the language module the spell checking engine should use when you enter a log message. You can find the values for your language on this page: MSDN: Language Identifiers.
Anda bisa memasukan nilai ini dalam desimal, atau heksadesimal jika diawali prefiks 0x. Sebagai contoh English (US) bisa dimasukkan sebagai 0x0409 atau 1033.
The property tsvn:logsummary is used to extract a portion of the log message which is then shown in the log dialog as the log message summary.
The value of the tsvn:logsummary property must be set to a one line regex string which contains one regex group. Whatever matches that group is used as the summary.
An example: \[SUMMARY\]:\s+(.*) Will catch everything after “[SUMMARY]” in the log message and use that as the summary.
The property tsvn:logrevregex defines a regular expression which matches references to revisions in a log message. This is used in the log dialog to turn such references into links which when clicked will either scroll to that revision (if the revision is already shown in the log dialog, or if it's available from the log cache) or open a new log dialog showing that revision.
The regular expression must match the whole reference, not just the revision number. The revision number is extracted from the matched reference string automatically.
If this property is not set, a default regular expression is used to link revision references.
Saat Anda ingin menambah sebuah properti baru, Anda dapat memilihnya dari daftar dalam kotak kombo, atau Anda dapat memasukkan nama properti apa saja yang Anda suka. Jika proyek Anda menggunakan beberapa properti kostum, dan Anda ingin properti-properti tersebut muncul dalam daftar pada kotak kombo (untuk menghindari kesalahan ketik saat Anda memasukkan nama properti), Anda dapat membuat suatu daftar untuk properti-properti kostum Anda menggunakan tsvn:userfileproperties dan tsvn:userdirproperties. Terapkan properti-properti ini pada suatu folder. Saat Anda mengedi properti-properti pada item anak apa saja, properti kostum Anda akan muncul dalam daftar nama properti yang telah dipredefinisi.
Some tsvn: properties require a true/false value. TortoiseSVN also understands yes as a synonym for true and no as a synonym for false.
TortoiseSVN can integrate with some bug tracking tools. This uses project properties that start with bugtraq:. Read “Integration with Bug Tracking Systems / Issue Trackers” for further information.
It can also integrate with some web-based repository browsers, using project properties that start with webviewer:. Read “Integrasi dengan Pelihat Repositori Berbasis Web” for further information.
These special project properties must be set on folders for the system to work. When you commit a file or folder the properties are read from that folder. If the properties are not found there, TortoiseSVN will search upwards through the folder tree to find them until it comes to an unversioned folder, or the tree root (eg. C:\) is found. If you can be sure that each user checks out only from e.g trunk/ and not some sub-folder, then it is sufficient to set the properties on trunk/. If you can't be sure, you should set the properties recursively on each sub-folder. A property setting deeper in the project hierarchy overrides settings on higher levels (closer to trunk/).
For project properties only, i.e. tsvn:, bugtraq: and webviewer: you can use the Recursive checkbox to set the property to all sub-folders in the hierarchy, without also setting it on all files.
When you add new sub-folders to a working copy using TortoiseSVN, any project properties present in the parent folder will automatically be added to the new child folder too.
Fetching properties remotely is a slow operation, so some of the features described above will not work in the repository browser as they do in a working copy.
When you add a property using the repo browser, only the standard svn: properties are offered in the pre-defined list. Any other property name must be entered manually.
Properties cannot be set or deleted recursively using the repo browser.
Project properties will not be propagated automatically when a child folder is added using the repo browser.
tsvn:autoprops will not set properties on files which are added using the repo browser.
Although TortoiseSVN's project properties are extremely useful, they only work with TortoiseSVN, and some will only work in newer versions of TortoiseSVN. If people working on your project use a variety of Subversion clients, or possibly have old versions of TortoiseSVN, you may want to use repository hooks to enforce project policies. project properties can only help to implement a policy, they cannot enforce it.