Manuals

Objavljanje sprememb v skladišču

Pošiljanje sprememb, ki ste jih naredili na delovni kopiji, se imenuje objava sprememb. Preden pa spremembe objavite, se morate prepričati, da je vaša delovna kopija posodobljena. Uporabite lahko ukaz TortoiseSVNPosodobi. Lahko pa uporabite ukaz TortoiseSVNPreveri spremembe, da vidite, katere datoteke so bile spremenjene v delovni kopiji ali v skladišču.

Okno objave

Če je delovna kopija sodobna in brez sporov, ste pripravljeni, da spremembe objavite. Izberite datoteke in/ali mape, ki jih želite objaviti, in izberite TortoiseSVNObjavi....

Slika 4.8. Okno objave

Okno objave


Okno za objave pokaže vsako spremenjeno datoteko, vključno z dodanimi, izbrisanimi in datotekami brez različic. Če ne želite, da se spremembe določene datoteke objavijo, izklopite potrditveno polje pred to datoteko. Če želite vključiti datoteko brez različic, potrdite potrditveno polje - s tem jo dodate v objavo.

To quickly check or uncheck types of files like all versioned files or all modified files, click the link items just above the list of shown items.

For information on the coloring and overlays of the items according to their status, please see “Krajevno in oddaljeno stanje”.

Elementi, ki so bili preklopljeni na drugo pot v skladišču, so označeni z znakom (s). Lahko da ste kakšen element preklopili, ko ste delali na neki veji in ga pozabili preklopiti nazaj. To je opozorilo!

Naj objavim datoteke ali mape?

Ko objavljate datoteke, pogovorno okno prikaže le datoteke, ki ste jih izbrali. Ko objavljate mapo, pogovorno okno izbere spremenjene datoteke samodejno. Če ste pozabili na novo datoteko, jo okno pri objavljanju mape vseeno najde. Objava mape ne pomeni, da se vse datoteke označijo kot spremenjene, ampak vam le olajša delo, saj ga opravi namesto vas.

Veliko datotek brez različic v oknu objave

Če se vam zdi, da okno za objavo prikaže preveliko število datotek brez različic (generirane datoteke razvojnega okolja, varnostne datoteke), obstaja več načinov, da situacijo popravite. Lahko:

  • dodate datoteko (ali končnico) na seznam izločenih datotek, kar storite v nastavitvah. To vpliva na vse delovne kopije, ki jih imate.

  • dodate datoteko na seznam prezrtih (svn:ignore) z uporabo ukaza TortoiseSVNDodaj na seznam prezrtih Ta nastavitev vpliva le na mapo, v kateri ste nastavili lastnost svn:ignore. Z uporabo okna Lastnosti lahko lastnost mape spremenite.

  • add the file to the svn:global-ignores list using TortoiseSVNAdd to ignore list (recursively) This will affect the directory on which you set the svn:global-ignores property and all subfolders as well.

Za več informacij preberite “Dodajanje datotek in map na seznam prezrtih elementov”.

Dvoklik na spremenjeno datoteko v oknu objav požene zunanje orodje za razlikovanje in vam prikaže spremembe. Kontekstni meni vam ponuja še več možnosti, kar je razvidno iz posnetka zaslona. Poleg tega lahko iz okna potegnete in prenesete datoteke v ostale aplikacije, npr. v urejevalnik besedil ali ravojno okolje (IDE).

Izbiro elementov naredite s potrditvijo polja pred posameznim elementom. Za mape lahko uporabite označevanje s tipko Shift-izbira, s čemer naredite akcijo rekurzivno.

Stolpci v spodnjem delu okna so povsem prilagodljivi. Z desnim klikom na glavo kateregakoli stolpca prikličete kontekstni meni, ki vam omogoča izbiro stolpcev, ki jih želite prikazati. Prav tako lahko spremenite širino stolpcev. To storite tako, da rob stolpca premaknete, ko je miška na meji med dvema stolpcema. Prilagoditve se ohranijo, tako da boste naslednjič videli enako postavitev.

Če imate nastavljene privzete nastavitve in naredite objavo sprememb, se vsi zaklepi v vaši lasti sprostijo takoj po uspešno izvedeni objavi. Če želite zaklepe ohraniti, potrdite polje Ohrani zaklepe. Privzeto stanje tega polja je definirano v konfiguracijski datoteki sistema Subversion z možnostjo no_unlock. Za več informacij o urejanju konfiguracijske datoteke Subversion si preberite “Splošne nastavitve”.

Warning when committing to a tag

Usually, commits are done to the trunk or a branch, but not to tags. After all, a tag is considered fixed and should not change.

If a commit is attempted to a tag URL, TortoiseSVN shows a confirmation dialog first to ensure whether this is really what is intended. Because most of the time such a commit is done by accident.

However, this check only works if the repository layout is one of the recommended ones, meaning it uses the names trunk, branches and tags to mark the three main areas. In case the setup is different, the detection of what is a tag/branch/trunk (also known as classification patterns), can be configured in the settings dialog: “Revision Graph Settings”

Povleci in spusti

Datoteke lahko povlečete in spustite v okno za objavo od drugod pod pogojem, da ste delovne kopije prevzeli iz istega skladišča. Primer: imato ogromno delovno kopijo in uporabljate več Raziskovalcev, ki ima nastavljene različne trenutne mape znotraj delovne kopije. Če se želite izogniti objavljanju vrhnje mape (kar bi pomenilo dolgo iskanje spremenjenih datotek), lahko okno za objave odprete v neki mapi, nato pa iz različnih Raziskovalcev povlečete v okno datoteke, ki jih želite istočasno objaviti.

Datoteke brez različic lahko povlečete v pogovorno okno za objavo in bodo samodejno dodane v sistem Subversion.

Dragging files from the list at the bottom of the commit dialog to the log message edit box will insert the paths as plain text into that edit box. This is useful if you want to write commit log messages that include the paths that are affected by the commit.

Popravljanje zunanjih preimenovanj

Včasih datoteke preimenujete zunaj sistema Subversion, zato se v seznamu sprememb pojavita manjkajoča datoteka in datoteka brez različic. Da bi preprečili izgubo zgodovine, morate sistemu Subversion povedati, da med datotekama obstaja povezava. Enostavno izberite tako staro ime (manjkajoče) kot novo ime (brez različic) in uporabite Kontekstni meniPopravi premik in s tem povežete datoteki v preimenovanje.

Repairing External Copies

If you made a copy of a file but forgot to use the Subversion command to do so, you can repair that copy so the new file doesn't lose its history. Simply select both the old name (normal or modified) and the new name (unversioned) and use Context MenuRepair Copy to pair the two files as a copy.

Seznami sprememb

Okno za objave omogoča uporabo seznamov sprememb, kar pomaga pri združevanju sprememb v logične skupine. Za več informacij o tej zmožnosti preberite “Seznami sprememb”.

Commit only parts of files

Sometimes you want to only commit parts of the changes you made to a file. Such a situation usually happens when you're working on something but then an urgent fix needs to be committed, and that fix happens to be in the same file you're working on.

right click on the file and use Context MenuRestore after commit. This will create a copy of the file as it is. Then you can edit the file, e.g. in a text editor and undo all the changes you don't want to commit. After saving those changes you can commit the file.

Uporaba TortoiseMerge

If you use TortoiseMerge to edit the file, you can either edit the changes as you're used to, or mark all the changes that you want to include. right click on a modified block and use Context MenuMark this change to include that change. Finally right click and use Context MenuLeave only marked changes which will change the right view to only include the changes you've marked before and undo the changes you have not marked.

After the commit is done, the copy of the file is restored automatically, and you have the file with all your modifications that were not committed back.

Izključevanje elementov iz okna objav

Včasih se v skladišču nahajajo datoteke, ki se pogosto spreminjajo, vendar jih ne želite vedno znova objavljati. Včasih to pomeni napako v procesu gradnje projekta - zakaj so te datoteke sploh pod nadzorom različic? Mogoče bi morali uporabljati predloge? Včasih pa je takšna situacija neizogibna. Primer: razvojno okolje spremeni časovni žig datoteke pri vsaki gradnji. Projektna datoteka mora biti pod nadzorom, saj vsebuje nastavitve za gradnjo, vendar ni potrebe, da jo objavljamo ob vsaki spremembi časovnega žiga.

Da bi olajšali delo v tašnih primerih, smo izdelali poseben seznam sprememb, ki se imenuje ignore-on-commit. Datoteke na tem seznamu so samodejno izključene iz izbora v oknu objav. Spremembe lahko še vedno objavite, vendar morate ročno izbrati takšno datoteko.

Sporočila dnevniških zapisov objav

Vedno vnesite sporočilo dnevniškega zapisa, ki opisuje spremembe, ki jih objavljate. S tem pri pregledovanju dnevniških zapisov vidite, kaj se je spremenilo in kdaj. Sporočilo je lahko poljubne dolžine. Veliko projektov natančno določa, kaj je potrebno vpisati, v katerem jeziku, včasih pa je določena zelo natančna oblika zapisa.

Sporočilom dnevniških zapisov lahko dodate enostavno oblikovanje, podobno tistemu, ki ga uporabljate pri elektronski pošti. Če želite besedilu dodati oblikovanje, uporabite *besedilo* za polkrepko pisavo, _besedilo_ za podčrtano pisavo in ^besedilo^ za poševno pisavo.

Slika 4.9. Črkovalnik v oknu objave

Črkovalnik v oknu objave


TortoiseSVN vsebuje črkovalnik, ki vam pomaga pri pravilnem pisanju sporočil dnevniških zapisov. Označil bo vse nepravilno črkovane besede. Uporabite kontekstni meni za dostop do predlaganih popravkov. Seveda ne pozna prav vseh tehničnih terminov, tako bodo pravilno črkovane besede včasih označene kot napačne. Ne skrbite. Z uporabo kontekstnega menija jih lahko dodate v osebni slovar.

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 https://en.wikipedia.org/wiki/Regular_expression, and the online documentation and tutorial at http://www.regular-expressions.info/.

Getting the regex just right can be tricky, so to help you sort out a suitable expression there is a test dialog which allows you to enter an expression and then type in filenames to test it against. Start it from the command prompt using the command TortoiseProc.exe /command:autotexttest.

The log message window also includes a commit message snippet facility. These snippets are shown in the autocomplete dropdown once you type a snippet shortcut, and selecting the snippet in the autocomplete dropdown then inserts the full text of the snippet. The snippets supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own snippets and store them in %APPDATA%\TortoiseSVN\snippet.txt. # is the comment character. Newlines can be inserted by escaping them like this: \n and \r. To insert a backslash, escape it like this: \\.

Predhodno vnesena sporočila dnevniških zapisov lahko ponovno uporabite. Enostavno kliknite na Zadnja sporočila in prikaže se vam nekaj zadnjih sporočil, ki ste jih vnesli v tej delovni kopiji. Število shranjenih sporočil lahko nastavite v oknu za nastavitve TortoiseSVN.

Shranjena sporočila lahko izbrišete na strani Shranjeni podatki v oknu za nastavitve TortoiseSVN, posamezna sporočila pa lahko izbrišete iz okna Zadnja sporočila, če držite pritisnjeno tipko Delete.

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.

Posebne lastnosti map

Obstaja več posebnih lastnosti za mape, ki vam omogočajo več nadzora nad oblikovanjem sporočil dnevniških zapisov in jezikom, ki se uporabi za preverjanje črkovanja. Več o tem pove “Nastavitve projekta”.

Integracija s sistemi za sledenje hroščev

Če uporabljate sistem za sledenje zadev, lahko v vnosno polje ID hrošča / št. zadeve: vpišete eno ali več številk zadev. Če vpišete več številk, naj bodo ločene z vejico. Druga možnost je, da uporabljate podporo sistem za sledenje zadev na osnovi regularnih izrazov. V tem primeru lahko številko zadeve navedete nekje znotraj sporočila dnevniškega zapisa. Več o tem vam pove “Integracija s sistemi za sledenje zadev”.

Napredek objave

Po pritisku na gumb V redu se pojavi okno napredka objave.

Slika 4.10. Okno napredka prikazuje napredovanje objave

Okno napredka prikazuje napredovanje objave


Okno napredka uporablja barvno kodiranje za označevanje različnih operacij objave.

Modra

Objavljanje spremembe.

Škrlatna

Objavljanje novega elementa.

Temno rdeča

Objavljanje brisanja ali zamenjave.

Črna

Ostali elementi.

To je privzeta barvna shema, vendar lahko barve poljubno nastavite v oknu za nastavitve. Za več informacij preberite “Nastavitev barv TortoiseSVN”.

TortoiseSVN homepage