Lastnosti Subversion lahko preberete in nastavite v oknu Lastnosti, ki ga prikaže sistem Windows. Poleg tega vidite te lastnosti tudi, če uporabite ukaz → . V pogovornih oknih TortoiseSVN, kjer se izpišejo seznami datotek, lahko lastnosti prikažete z ukazom → .
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 omogoča (podobno kot sistem CVS) razširitev ključnih besed, ki se lahko uporabljajo za vstavljanje imena datoteke in številke revizije v vsebino datoteke. Trenutno so podprte naslednje ključne besede:
Datum zadnje znane objave glede na informacije iz zadnje posodobitve delovne kopije. Ne preverja, če so v skladišču novejše spremembe.
Revizija zadnje znane objave.
Avtor zadnje znane objave.
Celoten naslov URL te datoteke v skladišču.
Stisnjena kombinacija prejšnjih štirih ključnih besed.
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.
To add a new property, first click on New.... Select the required property name from the menu, and then fill in the required information in the specific property dialog. These specific property dialogs are described in more detail in “Property Editors”.
To add a property that doesn't have its own dialog, choose from the New... menu. Then either select an existing property in the combo box or enter a custom property name.
If you want to apply a property to many items at once, select the files/folders in explorer, then select → .
Če želite nastaviti lastnost vsaki datoteki in mapi v hierarhiji pod trenutno mapo, uporabite potrditveno polje Rekurzivno.
Če želite urediti obstoječo lastnost, jo izberite iz seznama obstoječih lastnosti in kliknite na gumb .
Če želite odstraniti nastavljeno lastnost, jo izberite iz seznama obstoječih lastnosti in kliknite na gumb .
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.
Pogosto isti nabor lastnosti nastavite na več datotekah/mapah, naprimer bugtraq:logregex. Za enostaven prenos lastnosti iz enega projekta na drugega lahko uporabite zmožnost Izvoz/Uvoz.
Na datoteki ali mapi, ki vsebuje nastavljene lastnosti, uporabite → , izberite lastnosti, ki jih želite izvoziti in kliknite na gumb . Vpisati boste morali ime datoteke, v katero naj se lastnosti shranijo.
Na mapah, na katerih želite nastaviti lastnosti, uporabite → in kliknite na gumb . Izberite datoteko, iz katere želite uvoziti lastnosti, zato izberite datoteko, ki ste jo ustvarili pri izvažanju. Lastnosti bodo v mapo dodane nerekurzivno.
Če želite drevesu dodati lastnosti rekurzivno, naredite zgoraj opisane korake, potem pa v oknu lastnosti izberite vsako lastnost, kliknite na gumb , potrdite polje Uporabi lastnost rekurzivno in kliknite na gumb .
Izvozna datoteka je binarna in lastna sistemu TortoiseSVN. Njena edina uporaba je prenos lastnosti z uporabo ukazov Izvozi in Uvozi, tako da teh datotek ne urejamo.
TortoiseSVN lahko z uporabo datotek dodaja lastnostim dvojiške vrednosti. Če želite dvojiško lastnost prebrati, jo shranite v datoteko z gumbom . Če želite dvojiško lastnost nastaviti, uporabite urejevalnik datotek ali drugo primerno orodje, ki vam omogoča ustvariti datoteko z željeno vsebino, potem pa datoteko naložite s klikom na gumb .
Čeprav se dvojiške lastnosti ne uporabljajo prav pogosto, pa so včasih precej uporabne. Primer: če shranjujete obsežne grafične datoteke ali če je aplikacija, ki slike nalaga, obsežna, lahko pomanjšane slike shranite kot lastnosti datotek in jih tako hitreje pregledujete.
Subversion in TortoiseSVN lahko prilagodite tako, da se lastnosti samodejno nastavijo datotekam in mapam, ko se te dodajo v skladišče. To lahko storite na dva načina.
To zmožnost lahko vključite neposredno v konfiguracijski datoteki za Subversion. Na strani Splošno v nastavitvah se nahaja gumb, ki odpre konfiguracijsko datoteko v urejevalniku besedil. Konfiguracijska datoteka je besedilna datoteka, s katero nastavite določene zmožnosti programa Subversion. Spremeniti morate dve stvari: najprej v odseku miscellany izbrišite komentar pred vrstico enable-auto-props = yes. Nato v naslednjem odseku definirajte, katere lastnosti naj se pripnejo določenim vrstam datotek. S tem določite nastavitve, ki veljajo za vse odjemalce Subversion, vendar jih je potrebno nastaviti na vsakem odjemalcu posebej - možnost, da jih nastavite v skladišču, od koder jih odjemalci preberejo, ne obstaja.
Druga možnost je nastavitev lastnosti tsvn:autoprops na mapah, kot je opisano v naslednjem odseku. Ta metoda deluje le pri odjemalcih TortoiseSVN, vendar se pri posodobitvi prenese na vse delovne kopije.
Whichever method you choose, you should note that auto-props are only applied to files at the time they are added to the working copy. Auto-props will never change the properties of files which are already versioned.
Če želite stoodstotno zagotoviti, da imajo datoteke ob dodajanju v skladišče nastavljene ustrezne lastnosti, namestite v skladišče akcijske skripte, ki se izvedejo pred objavo (pre-hook script).
Lastnosti v sistemu Subversion so pod nadzorom različic. Potem, ko spremenite ali dodate lastnosti, morate spremembe objaviti.
Če pri objavi sprememb pride do spora, ker je nek drug uporabnik sprememnil isto lastnost, Subversion ustvari datoteko .prej. Ko rešite spor, to datoteko izbrišite.
TortoiseSVN ima nekaj svojih posebnih lastnosti, ki se začnejo s tsvn:.
tsvn:logminsize nastavi najmanjšo dolžino sporočila dnevniškega zapisa za objavo. Če vnesete krajši zapis, objava ni mogoča. Ta lastnost je uporabna, ker vas opozori, da morate pri vsaki objavi podati primerno opisno sporočilo. Če ta lastnost ni nastavljena ali je nastavljena na vrednost nič, sistem omogoča objavo brez sporočila.
tsvn:lockmsgminsize nastavi najmanjšo dolžino sporočila pri zaklepu. Če vnesete krajši zapis, pridobitev zaklepa ni mogoča. Ta lastnost je uporabna, ker vas opozori, da morate pri pridobivanju zaklepa podati primerno opisno sporočilo. Če ta lastnost ni nastavljena ali je nastavljena na vrednost nič, sistem omogoča pridobivanje zaklepa brez vnosa sporočila.
tsvn:logwidthmarker se uporablja pri projektih, ki zahtevajo, da je sporočilo dnevniškega zapisa oblikovano tako, da imajo vrstice določeno največjo dolžino (tipično je ta dolžina 80 znakov) pred novo vrstico. Nastavitev vrednosti, različne od nič, ima dve posledici v oknu za vnos dnevniškega zapisa: nariše mejo največje dovoljene dolžine vrstice in onemogoči oblivanje besedila, tako da vidite, katere vrstice so predolge. Opomba: ta zmožnost pravilno deluje le, če je pisava, uporabljena za sporočila dnevniških zapisov, konstantne širine.
tsvn:logtemplate se uporablja pri projektih, kjer je oblika sporočil dnevniških zapisov predpisana. Ta lastnosti vsebuje besedilo v več vrsticah, ki se vstavi v okno za vnos sporočila dnevniškega zapisa ob pričetku objave. Zapis nato uredite in vnesete zahtevane informacije. Opomba: če hkrati s to lastnostjo uporabljate tudi lastnost tsvn:logminsize, nastavite najmanjšo dolžino dnevniškega zapisa na vrednost, ki je večja od dolžine predloge, sicer določanje najmanjše velikosti zapisa nima več zaščitne vloge.
There are also action specific templates which you can use instead of tsvn:logtemplate. The action specific templates are used if set, but tsvn:logtemplate will be used if no action specific template is set.
The action specific templates are:
tsvn:logtemplatecommit is used for all commits from a working copy.
tsvn:logtemplatebranch is used when you create a branch/tag, or when you copy files or folders directly in the repository browser.
tsvn:logtemplateimport is used for imports.
tsvn:logtemplatedelete is used when deleting items directly in the repository browser.
tsvn:logtemplatemove is used when renaming or moving items in the repository browser.
tsvn:logtemplatemkdir is used when creating directories in the repository browser.
tsvn:logtemplatepropset is used when modifying properties in the repository browser.
tsvn:logtemplatelock is used when getting a lock.
Subversion omogoča nastavljanje samodejnih lastnosti (“autoprops”), ki se nastavijo vsem novim ali uvoženim datotekam, odvisno od končnice datoteke. Vsak uporabnik mora imeti v svoji konfiguracijski datoteki odjemalca nastavljene ustrezne samodejne lastnosti. Lastnost tsvn:autoprops lahko nastavite tudi neposredno na mapah. Pri dodajanju ali uvažanju datotek se te lastnosti spojijo z lastnostmi, ki so nastavljene v konfiguracijski datoteki. Oblika je enaka kot pri samodejnih lastnostih Subversion, n. pr: *.sh = svn:eol-style=native;svn:executable nastavi dve lastnosti na datotekah s končnico .sh.
Če pride do spora med krajevnimi samodejnimi lastnostmi in lastnostjo tsvn:autoprops, se upoštevajo nastavitve projekta, ker so sprecifične za ta projekt.
V oknu za objave lahko prilepite seznam spremenjenih datotek, vključno s stanjem vsake datoteke (dodano, spremenjeno...). Lastnost tsvn:logfilelistenglish določa, ali se stanje vstavlja v angleškem jeziku ali v jeziku, ki ga uporabljate v programu TortoiseSVN. Če te lastnosti ne nastavite, se upošteva privzeta vrednost true, kar pomeni, da so podatki o stanju prilepljeni v angleškem jeziku.
V programu TortoiseSVN lahko uporabljate črkovalnike, ki jih uporabljata tudi programa OpenOffice in Mozilla. Če imate nameščeno katero izmed teh dveh aplikacij, ta lastnost definira, kateri črkovalnik naj se uporabi, torej v katerem jeziku se vpisujejo sporočila dnevniških zapisov. Lastnost tsvn:projectlanguage nastavi jezikovni modul, ki naj se uporabi za preverjanje sporočil dnevniških zapisov. Vrednosti za vaš jezik najdete na naslednji strani: MSDN: Language Identifiers.
Vrednost lahko vnesete v desetiški obliki ali v šestnajstiški obliki - v tem primeru ji dodajte predpono 0x. Primer: za uporabo ameriške angleščine vnesite 0x0409 ali 1033.
Lastnost tsvn:logsummary se uporablja za izluščenje dela sporočila dnevniškega zapisa, ki se izpiše v dnevniku kot povzetek sporočila.
Vrednost lastnosti tsvn:logsummary mora biti enovrstični regularni izraz, ki vsebuje eno skupino. Rezultat te skupine se uporabi za povzetek.
Primer: \[SUMMARY\]:\s+(.*) najde vso besedilo, ki se nahaja za nizom “[SUMMARY]” in ga uporabi kot povzetek.
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.
Kadar želite dodati novo lastnost, jo lahko izberete iz seznama v spustnem polju ali pa vpišete poljubno ime lastnosti. Če na projektu uporabljate uporabniško določene lastnosti in želite, da se te lastnosti pojavijo v spustnem polju (v izogib tipkarskim napakam pri pisanju imena), lahko ustvarite seznam lastnih lastnosti z uporabo tsvn:userfileproperties in tsvn:userdirproperties. Te lastnosti nastavite mapi. Ko boste urejali lastnosti kateregakoli elementa v tej mapi, se bodo lastne lastnosti pojavile na seznamu preddefiniranih imen.
TortoiseSVN zna vključiti nekatera orodja za sledenje zadev. Za to se uporabljajo lastnosti, ki se začnejo z bugtraq:. Za več informacij preberite “Integracija s sistemi za sledenje zadev”.
Vključi lahko tudi nekatera spletna orodja za brskanje po skladiščih. Za to uporablja lastnosti, ki se začnejo z webviewer:. Za več informacij preberite “Integracija z internetno naravnanimi pregledovalniki skladišč”.
These special project properties must be set on folders for the system to work. When you use a TortoiseSVN command which uses these properties, the properties are read from the folder you clicked on. 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 (e.g. 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. If you set the same property but you use different values at different depths in your project hierarchy then you will get different results depending on where you click in the folder structure.
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.
Čeprav so projektne lastnosti TortoiseSVN zelo uporabne, delujejo le z odjemalcem TortoiseSVN, nekatere celo samo z novejšimi različicami TortoiseSVN. Če uporabniki na vašem projektu uporabljajo različne odjemalce za Subversion ali pa starejše različice TortoiseSVN, raje uporabite skripte akcij v skladišču za zagotavljanje spoštovanja pravil. Lastnosti tsvn: vam le pomagajo nastaviti pravila, ne morejo pa jih zagotavljati.
Some properties have to use specific values, or be formatted in a specific way in order to be used for automation. To help get the formatting correct, TortoiseSVN presents edit dialogs for some particular properties which show the possible values or break the property into its individual components.
The svn:externals property can be used to pull in other projects from the same repository or a completely different repository as described in “External Items”.
You need to define the name of the sub-folder that the external folder is checked out as, and the subversion URL of the external item. You can check out an external at its HEAD revision, so when the external item changes in the repository, your working copy will receive those changes on update. However, if you want the external to reference a particular stable point then you can specify the specific revision to use. IN this case you may also want to specify the same revision as a peg revision. If the external item is renamed at some point in the future then Subversion will not be able to update this item in your working copy. By specifying a peg revision you tell Subversion to look for an item that had that name at the peg revision rather than at HEAD.
Select the keywords that you would like to be expanded in your file.
Select the end-of-line style that you wish to use and TortoiseSVN will use the correct property value.
These 3 properties control the formatting of log messages. The first 2 disable the OK in the commit or lock dialogs until the message meets the minimum length. The border position shows a marker at the given column width as a guide for projects which have width limits on their log messages. Setting a value to zero will delete the property.
Choose the language to use for spell-checking log messages in the commit dialog. The file lists checkbox comes into effect when you right click in the log message pane and select Paste file list. By default the subversion status will be shown in your local language. When this box is checked the status is always given in English, for projects which require English-only log messages.
This property simply controls whether a file will be checked out as read-only if there is no lock held for it in the working copy.