TortoiseSVN

Subversion-käyttöliittymä Windows-ympäristöön

Version 1.14

Stefan Küng

Lübbe Onken

Simon Large

Kari Granö ([email protected])

Käännös 

2022/09/06 19:53:28 (r29447)


Sisällys

Aluksi
Mikä TortoiseSVN on?
TortoiseSVN: ominaisuudet
Lisenssi
Ohjelmakehitys
TortoiseSVN: historia
Kiitokset
Ohje lukemiseen
Käytetyt termit
1. Alkuun pääseminen
TortoiseSVN-ohjelman asentaminen
Järjestelmävaatimukset
Asennus
Peruskäsitteitä
Kokeilemaan!
Arkiston luominen
Projentin tuominen arkistoon
Työkopion hakeminen
Muutosten tekeminen
Uusien tiedostojen lisääminen
Projektin historian tutkiminen
Muutosten peruminen
Eteenpäin...
2. Peruskäsitteitä versionhallinnasta
Arkisto
Lähestymistapoja versionhallintaan
Jaettujen tiedostojen ongelma
Lukitse/muuta/vapauta -ratkaisu
Kopioi-muokkaa-yhdistä -ratkaisu
Mitä Subversion tekee?
Subversion toiminnassa
Työkopiot
Arkistopaikantimet
Versiot
Kuinka työkopiot seuraavat arkiston tilaa
Yhteenveto
3. Arkisto
Arkiston luonti
Arkiston luonti komentoriviltä
Arkiston luonti TortoiseSVN:n avulla
Arkiston paikallinen käyttö
Arkiston käyttö verkkojaolta
Arkiston rakenne
Arkiston varmistus
Palvelinpään komentojonot
Noutolinkit
Arkiston käyttö
4. Päivittäisen käytön opas
Yleiset ominaisuudet
Kuvakepäällykset
Kontekstivalikot
Raahaa ja pudota
Yleisimpien komentojen pikanäppäimiä
Tunnistaminen
Ikkunoiden maksimointi
Tiedon tuonti arkistoon
Tuo
Tuonti arkistoon työkopion kautta
Erikoistiedostot
Työkopion hakeminen
Työkopion haun syvyys
Muutosten toimittaminen arkistoon
Toimitusikkuna
Muutoslistat
Toimita vain osia tiedostoista
Kohteiden ohittaminen toimitusikkunassa
Toimituksen lokiviestit
Toimituksen eteneminen
Päivitä työkopioosi muiden tekemät muutokset
Ristiriitojen ratkonta
Tiedostoristiriidat
Ominaisuusristiriidat
Puuristiriidat
Työkopion tilan selvittäminen
Kuvakepäällykset
Yksityiskohtaiset tilatiedot
Paikallinen ja etätila
Vertailu
Muutoslistat
Hyllyttäminen
Versioloki
Versiolokin avaaminen
Versiolokin toimintoja
Lisätietoa
Lisää lokiviestejä
Työkopion nykyinen versio
Suoritettujen yhdistämisten jäljitys
Lokiviestin ja tekijätietojen muuttaminen
Lokiviestin suodattaminen
Tilastotiedot
Yhteydetön tila
Näytön päivitys
Vertailu
Tiedostojen erot
Rivinlopetin- ja tyhjämerkkiasetukset
Kansioiden vertailu
Kuvien vertailu TortoiseIDiff-työkalulla
Office-dokumenttien vertailu
Erilliset vertailu- ja yhdistämistyökalut
Uusien tiedostojen ja kansioiden lisääminen
Tiedostojen ja kansioiden kopiointi, siirto ja uudelleen nimeäminen
Tiedostojen ja kansioiden ohittaminen
Tiedostonimien täsmäys ohituslistoissa
Poistaminen, siirtäminen ja uudelleen nimeäminen
Tiedostojen ja kansioiden poisto
Tiedostojen ja kansioiden siirto
Tiedostonimien merkkitaso-ongelmien ratkaisu
Tiedostojen uudelleen nimeämisten korjaaminen
Versioimattomien tiedostojen poisto
Muutosten peruminen
Siivoaminen
Projektiasetukset
Subversion-ominaisuudet
TortoiseSVN-projektin ominaisuudet
Ominaisuuksen muokkaaminen
Ulkoiset kohteet
Ulkoiset kansiot
Ulkoiset tiedostot
Ulkoisten viittausten luonti raahaamalla ja pudottamalla
Haarautuminen / merkitseminen
Haaran tai merkityn version luonti
Muita tapoja haaran tai merkityn version luontiin
Hakeako työkopio vai vaihtaa...
Yhdistäminen
Versiovälin yhdistäminen
Kahden eri puun yhdistäminen
Yhdistämisvalinnat
Yhdistämisen tulosten tarkistaminen
Tehtyjen yhdistämisten jäljitys
Ristiriitojen ratkaisu yhdistämisen jälkeen
Kehityshaaran ylläpito
Lukitseminen
Kuinka lukitus toimii Subversionissa
Lukitseminen
Lukon vapautus
Lukkojen tarkistus
Lukitsemattomien tiedostojen pakottaminen kirjoitussuojatuiksi
Lukituskomentojonot
Paikkatiedostojen luonti ja käyttäminen
Paikkatiedoston luominen
Paikkatiedoston käyttäminen
Kuka muutti mitäkin riviä?
Selvitä tekijät tiedostoille
Vertaa ja selvitä tekijät
Arkistoselain
Versiograafit
Versiograafin solmut
Näytön vaihto
Graafin käytöstä
Näytön päivitys
Puiden karsiminen
Subversion-työkopion vienti
Työkopion poisto versionhallinnasta
Työkopion uudelleen sijoittaminen
Integrointi vikaseurantaohjelmiin
Vikanumeroiden lisääminen lokiviesteihin
Tiedon saanti vikaseurantaohjelmasta
Integrointi web-pohjaisiin arkistoselaimiin
TortoiseSVN-asetukset
Yleiset asetukset
Versiograafin asetukset
Kuvakepäällykset
Verkkoasetukset
Ulkoiset ohjelmat
Tallennettujen tietojen asetukset
Lokiviestien talletus
Asiakaspään komentojonot
TortoiseBlame-asetukset
TortoiseUDiff-asetukset
TSVN-asetusten vienti
Lisäasetukset
Lopuksi
5. Projektiseurain
Projektien lisääminen seurantaan
Seurantaikkuna
Päätoiminnot
6. SubWCRev
SubWCRev-komentorivi
Avainsanojen korvaus
Avainsanaesimerkki
COM-rajapinta
7. IBugtraqProvider-rajapinta
Nimeäminen
IBugtraqProvider-rajapinta
IBugtraqProvider2-rajapinta
A. Usein kysytyt kysymykset (UKK)
B. Kuinka teen...
Siirrä/kopioi useita tiedostoja yhdellä kertaa
Pakota käyttäjät syöttämään lokiviesti
Komentojono palvelimella
Projektin ominaisuudet
Päivitä valitut tiedostot arkistosta
Peruuta arkistoon tehtyjä muutoksia
Käytä loki-ikkunaa
Käytä yhdistämisikkunaa
Käytä svndumpfilter-ohjelmaa
Vertaa tiedoston tai hakemiston kahta eri versiota
Sisällytä projektiin yhteinen aliprojekti
Käytä ulkoisia viittauksia (svn:externals)
Käytä sisäkkäistä työkopiota
Käytä suhteellista paikkaa
Lisää projekti arkistoon
Luo pikakuvake arkistoon
Ohita aiemmin versioidut tiedostot
Poista työkopion versiointi
Työkopion poistaminen
C. Hyödyllisiä vihjeitä pääkäyttäjille
Asenna TortoiseSVN ryhmäkäytäntöjen avulla
Päivitystarkistuksen uudelleen ohjaus
SVN_ASP_DOT_NET_HACK-ympäristömuuttujan asetus
Estä kontekstivalikon komentoja
D. TortoiseSVN-automatisointi
TortoiseSVN-komennot
Tsvncmd-paikantimien käsittely
TortoiseIDiff-komennot
TortoiseUDiff-komennot
E. Vastaavuudet komentorivikomentojen kanssa
Merkintätavat ja perussäännöt
TortoiseSVN-komennot
Hae työkopio
Päivitä
Päivitä versioon
Toimita
Vertaa
Näytä loki
Tarkista muutokset
Versiograafi
Arkistoselain
Muokkaa ristiriitoja
Ratkaistu
Nimeä uudelleen
Poista
Palauta
Siivoaminen
Lukitse
Poista lukitus
Luo haara / merkitty versio
Vaihda
Yhdistä
Vie
Siirrä
Luo arkisto tänne
Lisää
Tuo
Selvitä tekijät
Lisää ohituslistaan
Luo paikkatiedosto
Käytä paikkatiedosto
F. Toteutusyksityiskohtia
Kuvakepäällykset
G. Kielipaketit ja tavutuksen tarkastus
Kielimodulit
Oikeinkirjoituksen tarkistus
Sanasto
Indeksi

Luettelo kuvista

1.1. TortoiseSVN-valikko versioimattomille kansioille
1.2. Tuonti-ikkuna
1.3. Tiedostojen vertaileminen
1.4. Loki-ikkuna
2.1. Tyypillinen asiakas/palvelin -järjestelmä
2.2. Vältettävä ongelma
2.3. Lukitse/muuta/vapauta -ratkaisu
2.4. Kopioi-muokkaa-yhdistä -ratkaisu
2.5. ...Kopioi-muokkaa-yhdistä jatkuu
2.6. Arkiston tiedostojärjestelmä
2.7. Arkisto
3.1. TortoiseSVN-valikko versioimattomille kansioille
4.1. Resurssienhallinnan kuvakepäällykset
4.2. Kontekstivalikko versioidulle hakemistolle
4.3. Pikakuvakkeen Tiedosto-valikko versioidussa kansiossa
4.4. Oikea-raahaa -valikko versioidulle kansiolle
4.5. Tunnistusikkuna
4.6. Tuonti-ikkuna
4.7. Työkopion hakuikkuna
4.8. Toimitusikkuna
4.9. Toimitusikkunan oikeinkirjoituksen tarkastus
4.10. Edistymisikkuna näyttää toimituksen vaiheet
4.11. Edistymisikkuna päättyneen päivityksen jälkeen
4.12. Resurssienhallinnan kuvakepäällykset
4.13. Resurssienhallinnan ominaisuudet, Subversion-sivu
4.14. Tarkista muutokset
4.15. Toimitusikkuna muutoslistojen kanssa
4.16. Hyllytysikkuna
4.17. Palauta hyllystä -ikkuna
4.18. Versioloki
4.19. Versiolokin yläpaneelin kontekstivalikko
4.20. Code Collaborator -asetusikkuna
4.21. Yläpaneeli kaksi versiota valittuna
4.22. Lokin alapaneelin kontekstivalikko
4.23. Lokin alapaneelin kontekstivalikko, kun useita tiedostoja on valittuna.
4.24. Yhdistettyjen versioiden jäljitys loki-ikkunassa
4.25. Toimitukset tekijöittäin -histogrammi
4.26. Toimitukset tekijöittäin -ympyräkaavio
4.27. Toimitukset päiväyksen mukaan -graafi
4.28. Yhteydetön tila
4.29. Versioiden vertailu
4.30. Kuvien vertailuohjelma
4.31. Resurssienhallinnan kontekstivalikko versioimattomille tiedostoille
4.32. Oikea-raahaa -valikko versioidulle kansiolle
4.33. Resurssienhallinnan kontekstivalikko versioimattomille tiedostoille
4.34. Resurssienhallinnan kontekstivalikko versioiduille tiedostoille
4.35. Palautusikkuna
4.36. Siivousikkuna
4.37. Subversion ominaisuussivu
4.38. Ominaisuuksien lisääminen
4.39. Ominaisuusikkuna toimintokomennoille
4.40. Ominaisuusikkunan boolean-tyyppi
4.41. Ominaisuusikkunan state-tyyppi
4.42. Ominaisuusikkunan yksiriviset käyttäjän tyypit
4.43. Ominaisuusikkunan useampiriviset käyttäjän tyypit
4.44. svn:externals -ominaisuussivu
4.45. svn:keywords -ominaisuussivu
4.46. svn:eol-style -ominaisuussivu
4.47. tsvn:bugtraq -ominaisuussivu
4.48. Lokiviestien ominaisuussivun koko
4.49. Kielen ominaisuussivu
4.50. svn:mime-type -ominaisuussivu
4.51. svn:needs-lock -ominaisuussivu
4.52. svn:executable -ominaisuussivu
4.53. Ominaisuusikkuna yhdistä lokiviestikaavaimet
4.54. Haara / merkitty versio -ikkuna
4.55. Vaihtoikkuna
4.56. Ohjattu yhdistäminen - versioväli
4.57. Ohjattu yhdistäminen - puut
4.58. Yhdistämisristiriitojen ratkontaikkuna
4.59. Puuyhdistämisristiriitojen ratkontaikkuna
4.60. Yhdistä kaikki -ikkuna
4.61. Lukitusikkuna
4.62. Tarkista muutokset -ikkuna
4.63. Paikkatiedoston luonti-ikkuna
4.64. Selvitä tekijät -ikkuna
4.65. TortoiseBlame
4.66. Arkistoselain
4.67. Versiograafi
4.68. Vie paikantimesta -ikkuna
4.69. Uudelleensijoitusikkuna
4.70. Bugtraq-ominaisuusikkuna
4.71. Esimerkki vikaseurantaohjelman kyselyikkunasta
4.72. Asetusikkuna, yleiset asetukset -sivu
4.73. Asetusikkuna, kontekstivalikkosivu
4.74. Asetusikkuna, Ikkunat 1 -sivu
4.75. Asetusikkuna, Ikkunat 2 -sivu
4.76. Asetusikkuna, Ikkunat 3 -sivu
4.77. Asetusikkuna, Värit -sivu
4.78. Asetusikkuna, versiograafisivu
4.79. Asetusikkuna, versiograafin värit -sivu
4.80. Asetusikkuna, kuvakesivu
4.81. Asetusikkuna, kuvakesivu
4.82. Asetusikkuna, kuvakekäsittelijät
4.83. Asetusikkua, Verkkosivu
4.84. Asetusikkuna, Vertailutyökalut-sivu
4.85. Asetusikkuna, Vertailun/yhdistämisen lisäasetukset
4.86. Asetusikkuna, Tallennetut tiedot
4.87. Asetusikkuna, Lokiviestien talletussivu
4.88. Asetusikkuna, Lokiviestien talletuksen tilastot
4.89. Asetusikkuna, Komentojonosivu
4.90. Asetusikkuna, Määritä komentojonot
4.91. Asetusikkuna, liittymä vikaseurantaan -sivu
4.92. Asetusikkuna, TortoiseBlame-sivu
4.93. Asetusikkuna, TortoiseUDiff-sivu
4.94. Asetusikkuna, synkronointisivu
4.95. Tehtäväpalkki oletusryhmityksellä
4.96. Tehtäväpalkki arkistoryhmityksellä
4.97. Tehtäväpalkki arkistoryhmityksellä
4.98. Tehtäväpalkin ryhmittely arkistoväripäällyksillä
5.1. Projektiseuraimen projektinmuokkausikkuna
5.2. Projektiseuraimen pääikkuna
B.1. TortoiseSVN raahaa-oikealla kontekstivalikko tiedostojen siirtämiseen
C.1. Toimitusikkuna, jossa näytetään pävitysilmoitus

Luettelo tauluista

2.1. Paikantimet arkistoon kytkeytymiseksi
4.1. Kiinnitetty versio
6.1. Lista käytettävissä olevista komentorivivalitsimista
6.2. Luettelo SubWCRev-virhekoodeista
6.3. Luettelo käytettävissä olevista avainsanoista
6.4. Tuetut COM/automaatiomenetelmät
C.1. Valikon komennot ja niiden arvot
D.1. Komennot ja niiden valitsimet
D.2. Komentoriviparametrit
D.3. Komentoriviparametrit

Aluksi

Versionhallinta on informaation muutosten hallinnan taidetta. Se on pitkään ollut kriittinen työkalu ohjelmoijille, jotka tyypillisesti viettävät aikansa tehden pieniä muutoksia ohjelmiin ja sitten peruen tai tarkastaen joitakin noista muutoksista seuraavana päivänä. Kuvittele ryhmä tällaisia kehittäjiä työskentelemässä yhtä aikaa - ehkäpä jopa samojen tiedostojen parissa - ja näet, miksi tarvitaan hyvä järjestelmä hallitsemaan potentiaalista kaaosta.

Mikä TortoiseSVN on?

TortoiseSVN on ilmainen, avoimeen lähdekoodiin perustuva Windows-käyttöliittymä Apache™ Subversion®-versionhallintaan. TortoiseSVN pitää kirjaa tiedostoihin ja hakemistoihin ajan mittaan tehdyistä muutoksista. Tiedostot talletetaan keskitettyyn arkistoon. Arkisto muistuttaa tavallista tiedostopalvelinta, mutta kykenee lisäksi muistamaan kaikki tiedostoihin ja hakemistoihin ajan mittaan tehdyt muutokset. Tämän ansiosta voit palauttaa vanhoja versioita tiedostoistasi ja tutkia, miten, milloin ja kenen toimesta ne ovat muuttuneet. Subversionia (ja versionhallintajärjestelmiä yleensä) voikin pitää eräänlaisena tiedostojärjestelmien aikakoneena.

Jotkut versionhallintajärjestelmät ovat myös lähdekoodin konfigurointijärjestelmiä (software configuration management, SCM). Tällaiset järjestelmät on erityisesti räätälöity lähdekoodipuiden hallintaan, ja niillä on monia ohjelmistonkehitykseen liittyviä erityisominaisuuksia (esim. tuki ohjelmointikielten syntaksille tai työkaluja ohjelmistojen rakentamiseen). Subversion ei kuitenkaan ole tällainen: se on yleinen järjestelmä, jota voidaan käyttää minkä tahansa tiedostokokoelman hallintaan (mukaan lukien lähdekooditiedostot).

TortoiseSVN: ominaisuudet

Mikä tekee TortoiseSVN-ohjelmasta näppärän?

Integrointi Windows-komentotulkkiin

TortoiseSVN integroituu täysin Windowsin Resurssienhallintaan. Tämän ansiosta voit jatkaa työskentelyä työkaluilla, jotka jo tunnet. Eikä ole tarvetta vaihtaa eri sovellukseen aina tarvitessasi versionhallintaa!

Edes Resurssienhallinnan avaaminen ei usein ole tarpeen. TortoiseSVN-kontekstivalikot toimivat monissa muissa tiedostotyökaluissa, kuten myös Avaa tiedosto-ikkunassa, joka löytyy useimmista Windows-sovelluksista. Huomaa kuitenkin, että TortoiseSVN on tarkoituksella kehitetty Windowsin Resurssienhallinnan laajennukseksi. On siten mahdollista, että muissa sovelluksissa integrointi ei ole täydellinen ja esimerkiksi kuvakepäällykset saattavat puuttua.

Kuvakepäällykset

Versioitujen tiedostojen ja kansioiden tila ilmaistaan pienillä kuvakepäällysteillä, jotka täydentävät tiedostojen varsinaisia kuvakkeita. Niiden ansiosta voit yhdellä vilkaisulla nähdä työkopiosi tilan.

Graafinen käyttöliittymä

Kun luettelet muutokset tiedostoon tai kansioon, voit napsauttaa versiota nähdäksesi siihen liittyvän kommentin. Voit myös nähdä luettelon muuttuneista tiedostoista - kaksoisnapsautus tiedoston päällä näyttää sen muutokset.

Toimitusikkuna näyttää kaikki toimitettavissa olevat kohteet: kullakin niistä on valintalaatikko, jonka avulla voit valita, toimitetaanko kohde arkistoon. Voit myös näyttää versioimattomat kohteet, jos unohdit vaikkapa lisätä sen uuden tiedoston.

Helposti saatavilla olevat Subversion-komennot

Kaikki Subversion-komennot ovat käytettävissä Resurssienhallinnan kontekstivalikosta. TortoiseSVN lisää sinne oman alivalikkonsa.

Koska TortoiseSVN pohjautuu Subversion-kirjastoon, on syytä luetella myös sen hyvät puolet:

Versioituvat hakemistot

CVS tallettaa vain yksittäisten tiedostojen muutoshistorian, mutta Subversion toteuttaa virtuaalisen versioidun tiedostojärjestelmän, joka tallettaa koko kansiopuun muutokset ajan kuluessa. Sekä tiedostot että kansiot versioidaan. Tästä johtuen on olemassa erilliset asiakaspään komennot siirrä ja kopioi, jotka toimivat tiedostojen ja kansioiden kanssa.

Atomiset toimitukset

Toimitus arkistoon onnistuu joko täydellisesti tai ei ollenkaan. Tämän ansiosta muutokset voidaan tehdä ja toimittaa loogisina kokonaisuuksina.

Versioituvat metatiedot

Jokaisella tiedostolla ja hakemistolla on näkymätön joukko ominaisuuksia. Voit laajentaa joukkoa mielivaltaisilla nimi/arvo -pareilla. Ominaisuudet versioituvat aivan kuin tiedostojen sisällöt.

Useita verkkokerroksia arkistoon kytkeytymiseksi

Subversion-järjestelmässä arkistoon kytkeytyminen on irrotettu omaksi rajapinnakseen, mikä helpottaa uusien kytkeytymistapojen kehittämistä. Subversionin monipuolisin palvelinvaihtoehto on toteutettu Apache-verkkopalvelimen modulina, joka ymmärtää HTTP-protokollan WebDAV/DeltaV -nimistä muunnelmaa. Tämä tekee Subversionista vakaamman ja parantaa sen yhteiskäytettävyyttä, sekä tarjoaa myös useita keskeisiä ominaisuuksia ilmaiseksi (esim. tunnistaminen, valtuuttaminen, pakkaus ja arkiston selaus). Subversion-palvelimesta on tarjolla myös kevyempi, itsenäisesti toimiva vaihtoehto. Tämä vaihtoehto noudattaa omaa yhteyskäytäntöään, joka voidaan helposti tunneloida ssh-yhteyden yli.

Johdonmukainen tiedonkäsittely

Subversion esittää tiedostojen eroavuudet käyttäen binääristä erottelualgoritmia, joka toimii identtisesti sekä tekstiä (ihmisen luettavissa) että binääristä dataa (ei ihmisen luettavissa) sisältäville tiedostoille. Molemmat tiedostotyypit tallennetaan samaan tapaan pakattuina arkistossa, ja vain erot siirretään kumpaankin suuntaan verkkoyhteyksien ylitse.

Tehokas haarautuminen ja merkintöjen teko

Haarojen luonnin (engl. branching) ja versioiden merkitsemisen (engl. tagging) kustannusten ei tarvitse olla suhteessa projektin kokoon. Subversion luo haarat ja merkit yksinkertaisesti kopioimalla projektin linkittämällä. Tästä johtuen nämä toiminnot vievät vain vähän aikaa (vakioajan) ja varaavat vain vähän tilaa arkistosta.

Lisenssi

TortoiseSVN on avoimeen lähdekoodiin perustuva projekti, joka käyttää GNU General Public License (GPL)-lisenssiä. Sen voi noutaa ja sitä voi käyttää ilmaiseksi, joko omiin tarpeisiin tai kaupallisesti, niin useassa tietokoneessa kuin on tarpeen.

Vaikka useimmat ihmiset noutavat vain asennusohjelman, voit myös vapaasti tutkia itse ohjelmatekstiä. Lähdekoodi on saatavissa osoitteesta https://osdn.net/projects/tortoisesvn/scm/svn/. Viimeisin kehitysversio sijaitsee hakemistossa /trunk/. Julkaistut versiot sijaitsevat puolestaan hakemistossa /tags/.

Ohjelmakehitys

Sekä TortoiseSVN- että Subversion-ohjelmistoja kehittää yhteisö, jonka jäsenet työskentelevät eri puolilla maailmaa yhdessä luodakseen hyvin toimivia ohjelmia.

TortoiseSVN: historia

Vuonna 2002 Tim Kemp päätti luoda graafisen käyttöliittymän Subversion-ohjelmalle. Ajatus Subversion-asiakasohjelmasta Windowsin Resurssienhallinnan laajennoksena sai alkunsa saman tyyppisestä CVS-asiakasohjelmasta nimeltä TortoiseCVS. Tim tutki TortoiseCVS-lähdekoodia ja käytti sitä TortoiseSVN-ohjelman pohjana. Sittemmin hän käynnisti projektin, rekisteröi nimialueen tortoisesvn.org ja julkaisi lähdekoodin verkossa.

Samoihin aikoihin Stefan Küng etsiskeli hyvää ja ilmaista versionhallintajärjestelmää ja löysi Subversion- ja TortoiseSVN-ohjelmat. Koska TortoiseSVN ei ollut vielä valmis, hän liittyi projektiin ja alkoi parantaa sitä. Pian hän oli kirjoittanut suurimman osan olemassa olevasta koodista uudelleen ja alkoi lisätä ominaisuuksia siinä laajuudessa, että lopulta alkuperäisestä koodista ei ollut mitään jäljellä.

Subversionin tullessa vakaammaksi se alkoi kiinnostaa yhä useampia käyttäjiä, jotka myös ryhtyivät TortoiseSVN-käyttäjiksi. Käyttäjien joukko kasvoi voimakkaasti (ja kasvaa yhä päivittäin). Tässä vaiheessa Lübbe Onken tarjoutui auttamaan kuvakkeiden ja TortoiseSVN-logon suunnittelussa. Hän huolehtii nykyisin verkkosivustosta ja koordinoi käännöksiä eri kielille.

Ajan myötä muihin versionhallintajärjestelmiin toteutettiin niitä tukeva Tortoise-asiakas, mistä seurasi ongelma Resurssienhallinnan kuvakepäällysten kanssa: päällysten lukumäärä on rajallinen, joten se ylittyy helposti. Tästä syystä Stefan Küng toteutti TortoiseOverlays-komponentin, jonka avulla kaikki Tortoise-asiakkaat voivat käyttää samoja kuvakepäällyksiä. Tätä nykyä kaikki avoimen lähdekoodin Tortoise-asiakkaat ja jopa jotkut muut ohjelmat käyttävät jaettuja kuvakkeita.

Kiitokset

Tim Kemp

TortoiseSVN-projektin käynnistämisestä

Stefan Küng

kovasta työstä, jonka ansiosta TortoiseSVN on nykyisenlainen, ja projektin johtamisesta

Lübbe Onken

tyylikkäistä kuvakkeista, logosta, virheiden etsinnästä, käännöksistä ja niiden hallinnasta

Simon Large

käyttöohjeiden ylläpitämisestä

Stefan Fuhrmann

lokitietojen välimuistista ja versiograafista

Subversion-kirjalle

hienosta johdannosta Subversion-ohjelmaan ja sen luvusta 2, jonka kopioimme tänne

Tigris Style -projektille

joistakin tyyleistä, joita hyödynnetään tässä dokumentaatiossa

Avustajillemme

korjauksista, virheraporteista ja ideoista sekä muitten käyttäjien auttamisesta postituslistoillamme

Lahjoittajillemme

monista mukavista tunneista heidän meille lähettämänsä musiikin parissa

Ohje lukemiseen

Tämä ohje on tarkoitettu tietokoneita ymmärtäville ihmisille, jotka haluavat käyttää Subversion-ohjelmistoa tietojensa hallintaan, mutta eivät halua tehdä sitä komentorivillä. TortoiseSVN on Windows-komentotulkin laajennos, ja oletamme käyttäjän olevan sinut Windowsin Resurssienhallinnan kanssa ja osaavan käyttää sitä.

Luku Aluksi kertoo, mikä TortoiseSVN on, kuvaa TortoiseSVN-projektia ja sen kehittäjäyhteisöä sekä selvittää sen käyttämiseen ja jakeluun liittyvät lisenssiehdot.

Luku Luku 1, Alkuun pääseminen kertoo, miten TortoiseSVN asennetaan tietokoneeseesi, ja kuinka pääset käyttämään sitä suoraan.

Luku 2, Peruskäsitteitä versionhallinnasta-luvussa käydään lyhyesti läpi Subversion-versionhallintajärjestelmä, joka on TortoiseSVN-ohjelmiston perusta. Luku on lainaus Subversion-projektin käyttöohjeista; se hahmottaa erilaisia lähestymistapoja versionhallintaan ja selvittää Subversionin versiointiajattelua.

Luku Luku 3, Arkisto kuvaa, miten luodaan paikallinen arkisto, jolla on näppärää testata Subversion- ja TortoiseSVN-ohjelmia omalla työasemalla. Se kuvaa myös hieman arkiston hallinnointia, ja on siltä osin hyödyksi myös palvelimella sijaitsevien arkistojen käsittelyssä.

Luku 4, Päivittäisen käytön opas on tärkein luku, koska siinä käydään läpi TortoiseSVN-ohjelman kaikki keskeiset toiminnot ja niiden käyttö. Se on kirjoitettu käyttöoppaan muotoon, alkaen työkopion hakemisesta, muuttamisesta, muutosten toimittamisesta arkistoon, jne. Näistä edetään kehittyneempiin toimintoihin.

Luvussa Luku 5, Projektiseurain kerrotaan, kuinka voit seurata Subversion-projektejasi niin, että saat ilmoituksia muiden ryhmäsi jäsenten tekemistä arkistotoimituksista.

Luku 6, SubWCRev on erillinen ohjelma, joka toimitetaan TortoiseSVN-ohjelman mukana. Se osaa hakea tietoja työkopiostasi ja tallettaa ne tiedostoon. Tästä on hyötyä, mikäli haluat sisällyttää versiotietoja projekteihisi.

Liite B, Kuinka teen... -luku vastaa yleisimpiin kysymyksiin sellaisen käytön osalta, jota ei ole erikseen käsitelty muualla.

Luku Liite D, TortoiseSVN-automatisointi näyttää, miten TortoiseSVN-ikkunoita voidaan käynnistää komentoriviltä. Tästä on hyötyä komentojonoissa, jotka tarvitsevat lisätietoja käyttäjältä.

Luku Liite E, Vastaavuudet komentorivikomentojen kanssa luettelee TortoiseSVN-komentojen vastaavuudet Subversion -komentorivitulkin svn.exe kanssa.

Käytetyt termit

Tehdäksemme lukemisesta helpompaa, kaikkien TortoiseSVN-näyttöjen ja valikoiden nimet on merkitty omalla kirjasimella (esimerkiksi Loki-ikkuna).

Valikkovalinta näytetään nuolella. TortoiseSVNNäytä loki tarkoittaa: valitse Näytä loki TortoiseSVN kontekstivalikosta.

Kun jossain TortoiseSVN-ikkunassa on paikallinen valikko, se esitetään seuraavasti: KontekstivalikkoTalleta nimellä...

Käyttöliittymän painikkeet esitetään seuraavasti: paina OK jatkaaksesi.

Käyttäjän toimet esitetään lihavoidulla kirjasimella. Alt+A: paina Alt-näppäin alas ja sen ollessa painettuna paina A-näppäintä. Oikea-raahaa: paina oikea hiiren nappi alas ja sen ollessa painettuna raahaa kohteet uuteen paikkaan.

Tulokset ja näppäimistösyötteet esitetään myöskin erilaisella kirjasimella.

Tärkeää

Tärkeät huomiot on merkitty kuvakkeella.

Vihje

Vinkkejä, jotka tekevät elämäsi helpommaksi.

Varo

Tilanteita, joissa sinun pitää olla huolellinen.

Varoitus

Kun tulee olla äärimmäisen huolellinen; tiedon häviämistä tai muita ikäviä asioita saattaa seurata, mikäli sivuutat nämä varoitukset.

Luku 1. Alkuun pääseminen

Tämä luku on tarkoitettu ihmisille, jotka haluavat selvittää, mikä TortoiseSVN on ja testata sen. Siinä kuvataan asennukseen ja paikallisen arkiston luontiin liittyvät asiat sekä käydään läpi yleisimmät toiminnot.

TortoiseSVN-ohjelman asentaminen

Järjestelmävaatimukset

TortoiseSVN toimii Windows Vistassa ja sitä uudemmissa Windows-versioissa. Se on saatavana sekä 32- että 64-bittisenä versiona. 64-bittinen asennusohjelma sisältää myös 32-bittiset laajennusosat, minkä ansiosta 32-bittistä versiota ei tarvitse asentaa erikseen, jotta TortoiseSVN-komennot ja kuvakkeet saataisiin käyttöön 32-bittisissä sovelluksissa.

Tuki Windows 98, Windows ME ja Windows NT4 -käyttöjärjestelmille loppui versiossa 1.2.0; Windows 2000 -tuki sekä Windows XP SP2 -tuki puolestaan loppui versiossa 1.7.0. Tuki Windows XP SP3 -järjestelmälle loppui versiossa 1.9.0. Voit yhä asentaa jonkun näistä vanhemmista versioista, mikäli tarvitset niitä.

Asennus

TortoiseSVN sisältää helppokäyttöisen asennusohjelman. Kaksoisnapsauta asennustiedostoa ja seuraa ohjeita - asennusohjelma huolehtii lopusta. Muista käynnistää tietokone uudelleen asennuksen jälkeen.

Tärkeää

TortoiseSVN-asennukseen tarvitaan pääkäyttäjän oikeudet. Asennusohjelma pyytää tarvittaessa oikeudet.

TortoiseSVN-käyttöliittymä voidaan kääntää eri kielille erikseen noudettavien kielipakettien avulla. Katso lisätietoa luvusta Liite G, Kielipaketit ja tavutuksen tarkastus.

Jos törmäät ongelmiin asennuksen aikana tai ohjelmaa käyttäessäsi, tarkista projektin FAQ paikantimesta https://tortoisesvn.net/faq.html.

Peruskäsitteitä

Ennen kun sukellamme tiedostojen pariin, on hyvä saada yleiskuva siitä, miten Subversion toimii ja mitkä sen peruskäsitteet ovat.

Arkisto

Subversion käyttää keskitettyä tietokantaa, joka sisältää kaikki versioidut tiedostosi sekä niiden täydellisen muutoshistorian. Tietokantaa kutsutaan arkistoksi. Arkisto sijaitsee normaalisti tiedostopalvelimella, johon on myös asennettu Subversion-palvelinohjelma. Palvelinohjelma toimittaa pyynnöstä sisältöä Subversion-asiakkaille (kuten TortoiseSVN). Arkistosta kannattaa ottaa varmuuskopioita, koska se sisältää kantaversiot kaikista tiedostoistasi.

Työkopio

Täällä tehdään todellinen työ. Jokaisella kehittäjällä on tiedostoista oma työkopio (engl. working copy tai sandbox) omalla työasemallaan. Työkopioon voi noutaa viimeisimmän version arkistosta ja työskennellä sen parissa häiritsemättä muiden työtä. Kun muutokset ovat valmiit, ne voidaan toimittaa takaisin arkistoon.

Subversion-työkopio ei sisällä tiedostojen muutoshistoriaa; sen sijaan se säilyttää kopiota jokaisesta tiedostosta sellaisena, kuin se oli arkistossa ennen kuin sitä alettiin muuttamaan työkopiossa. Tämän ansiosta on helppoa tarkistaa työkopioon tehdyt muutokset.

Sinun on myös tiedettävä, mistä TortoiseSVN löytyy, koska käynnistysvalikossa ei ole paljoa nähtävää. Tämä siitä syystä, että TortoiseSVN on Windows-resurssienhallinnan laajennos. Käynnistä siis Resurssienhallinta ja avaa pudotusvalikko hiiren oikealla näppäimellä. Valikossa pitäisi olla muutamia uusia komentoja:

Kuva 1.1. TortoiseSVN-valikko versioimattomille kansioille

TortoiseSVN-valikko versioimattomille kansioille


Kokeilemaan!

Tämä luku kuvaa, miten voit kokeilla joitain yleisimpiä toimintoja pienessä testiarkistossa. Luonnollisesti siinä ei selitetä kaikkea - kyseessähän on pikaopas. Kun olet päässyt alkuun, kannattaa varata aikaa käyttöohjeen loppuosan lukemiseen, missä asiat käydään tarkemmin läpi. Siellä kerrotaan enemmän myös Subversion-palvelimen asentamisesta.

Arkiston luominen

Todellisessa projektissa Subversion-arkisto sijaitsee yleensä erillisellä palvelimella. Tässä oppaassa käytämme kuitenkin Subversionin tukemaa paikallista arkistoa, joka voidaan luoda suoraan kiintolevyllesi ilman erillistä palvelinta.

Luo aluksi uusi, tyhjä hakemisto tietokoneellesi. Se voi sijaita missä tahansa, mutta tässä oppaassa se on C:\svn_repos. Napsauta hiiren oikeaa näppäintä hakemiston päällä ja valitse pudotusvalikon komento TortoiseSVNLuo arkisto tähän.... Arkisto luodaan kansioon ja on valmis käytettäväksi. Voit myös luoda arkistolle oletusarvoisen kansiorakenteen napsauttamalla painiketta Luo kansiorakenne.

Tärkeää

Paikallinen arkisto on näppärä testeihin ja kokeiluun, mutta jos et ole ainoa arkiston käyttäjä, on suositeltavaa sjoittaa arkisto erilliselle palvelimelle. Verkkojaon kautta jaettu Subversion-arkisto ei ole turvallinen tai vakaa! Luku ”Arkiston käyttö verkkojaolta” kertoo asiasta lisää ja sisältää ohjeet palvelimen asentamiseksi.

Projentin tuominen arkistoon

Nyt meillä on arkisto, mutta se on täysin tyhjä. Oletetaan, että hakemistossa C:\Projects\Widget1 on joukko tiedostoja, jotka haluaisin lisätä versionhallintaan. Napsauta hiiren oikeaa näppäintä hakemiston Widget1 kohdalla ja valitse komento TortoiseSVNTuo..., joka avaa seuraavan ikkunan:

Kuva 1.2. Tuonti-ikkuna

Tuonti-ikkuna


Subversion-arkistoon viitataan paikantimella (engl. URL), joka sallii sen sijoittamisen minne tahansa Internetissä. Tässä tapauksessa tarvitaan paikannin paikalliseen arkistoon file:///c:/svn_repos/trunk, johon lisätään projektin nimi Widget1. Huomaa kolme kauttaviivaa yhteyskäytännön file: jälkeen sekä se, että paikantimissa ei käytetä kenoviivoja.

Toinen tämän ikkunan tärkeä ominaisuus on Tuontiviesti -tekstikenttä, jossa voit kuvata, mitä olit tekemässä. Kun myöhemmin tutkit projektin historiaa, toimitusviestit ovat tärkeä opas siihem mitä muutoksia on tehty, ja miksi. Tässä tapauksessa voimme kirjata vaikkapa Tuo Widget1-projekti arkistoon. Napsauta OK ja kansio lisätään arkistoosi.

Työkopion hakeminen

Nyt, kun arkistossa on projekti, tarvitaan siitä työkopio, jota käytetään päivittäisessä työssä. Huomaa, että kansion tuonti arkistoon ei automaattisesti tee siitä työkopiota. Subversion-termi uuden työkopion luomiseksi on Hae työkopio (engl. checkout). Hae arkiston Widget1-kansiosta työkopio hakemistoon C:\Projects\Widget1-Dev seuraavasti: Luo kansio, napsauta sitä hiiren oikealla näppäimellä ja anna komento TortoiseSVNHae työkopio.... Anna sitten haettava paikannin, tässä tapauksessa file:///c:/svn_repos/trunk/Widget1 ja napsauta OK. Arkiston tiedostot lisätään uuteen kansioon.

Tärkeää

Oletusarvoisesti työkopion hakukomento ei sijaitse TortoiseSVN-alivalikossa vaan Resurssienhallinnan päävalikossa. TortoiseSVN-komennot, jotka eivät sijaitse alivalikossa, sisältävät SVN -etuliitteen: SVN Hae työkopio...

Tämän kansion ulkonäkö poikkeaa alkuperäisestä kansiosta. Jokaisella tiedostolla on vihreä kuvakepäällys vasemmassa alanurkassa. Kuvakepäällykset ovat TortoiseSVN-tilakuvakkeita, jotka näytetään vain työkopioille. Vihreä päällys ilmaisee, että tiedosto ei poikkea arkiston tiedostosta.

Muutosten tekeminen

On aika alkaa töihin. Oletetaan, että muutamme kansion Widget1-Dev tiedostoja Widget1.c ja ReadMe.txt. Huomaa, että tiedostojen kuvakepäällykset muuttavat punaisiksi. Tämä kertoo, että niissä on paikallisia muutoksia.

Mutta mitä on muuttunut? Napsauta hiiren oikealla näppäimellä yhtä muuttuneista tiedostoista ja valitse TortoiseSVNVertaa TortoiseSVN-vertailutyökalu käynnistyy ja näyttää yksityiskohtaisesti, mitkä rivit ovat muuttuneet.

Kuva 1.3. Tiedostojen vertaileminen

Tiedostojen vertaileminen


OK, olemme tyytyväisiä muutoksiin, joten päivitetään arkistoa. Tämän toimenpiteen nimi on Toimita muutokset. Napsauta hiiren oikealla näppäimellä hakemistoa Widget1-Dev ja valitse komento TortoiseSVNToimita.... Toimitusikkuna luettelee muuttuneet tiedostot valintaruudun kera. Saatat haluta toimittaa arkistoon vain osan muuttuneista tiedostoista, mutta tällä kertaa toimitamme molempien tiedostojen muutokset. Anna viesti, joka kuvaa muutokset ja napsauta OK. Edistymisikkuna näyttää siirrettävät tiedostot ja sen sulkeuduttua olet valmis.

Uusien tiedostojen lisääminen

Projektin edetessä uusia tiedostoja tarvitaan lisää. Oletetaan, että lisäät tiedoston Extras.c ja viittaat siihen olemassa olevasta tiedostosta Makefile. Napsauta hiiren oikealla näppäimellä kansiota ja anna komento TortoiseSVNLisää.... Lisäysikkuna näyttää kaikki versioimattomat tiedostot; voit valita, mitkä niistä haluat arkistoida. Toinen tapa lisätä tiedostoja on napsauttaa itse tiedostoa ja antaa komento TortoiseSVNLisää.

Kun nyt toimitat kansion sisällön arkistoon, uusi tiedosto näkyy tilassa Lisätty ja muutettu tiedosto tilassa Muutettu. Huomaa, että voit kaksoisnapsauttaa muutettua tiedostoa nähkäksesi tehdyt muutokset.

Projektin historian tutkiminen

Yksi hyödyllisimmistä TortoiseSVN-toiminnoista on loki-ikkuna. Se näyttää luettelon toimituksista, joita olet tehnyt tiedostolle tai kansiolle, sekä näyttää niille antamasi yksityiskohtaiset lokiviestit (Annoithan toimitusviestin? Mikäli et, huomaat nyt miksi se on tärkeää.)

Kuva 1.4. Loki-ikkuna

Loki-ikkuna


(tässä on laiskuussyistä käytetty TortoiseSVN-arkiston loki-ikkunaa).

Ylin paneeli näyttää toimitetut versiot ja alun niiden toimitusviesteistä. Kun valitset jonkun version, sen koko toimitusviesti näytetään keskimmäisessä paneelissa; alin paneeli näyttää tällöin versiossa muuttuneet tiedostot ja kansiot.

Kullakin paneelilla on kontekstivalikko, jossa on lisäkomentoja tietojen käyttämiseksi. Alimmassa paneelissa voit kaksoisnapsauttaa tiedostoa nähdäksesi siihen ko. versiossa tehdyt muutokset. Katso lisää luvusta ”Versioloki”.

Muutosten peruminen

Kaikki versionhallintajärjestelmät sallivat aiemmin tehtyjen muutosten perumisen. Niin kuin voi odottaa, TortoiseSVN tekee tästä helppoa.

Mikäli haluat perua muutoksia, joita et ole vielä toimittanut arkistoon, voit palauttaa työkopiosi muokkausta edeltäneeseen tilaan komennolla TortoiseSVNPalauta. Tällöin muutoksesi siirretään Roskakoriin ja korvataan alkuperäisellä versiolla. Jos haluat perua vain osan muutoksista, voit käyttää TortoiseMerge-ohjelmaa erojen tutkimiseen ja osittaiseen palauttamiseen.

Jos haluat perua tietyn version muutokset, käynnistä loki-ikkuna ja etsi haluttu versio. Valitse sitten komento KontekstivalikkoPoista tämän version muutokset, jolloin muutokset perutaan.

Eteenpäin...

Tämä opas on käynyt pikaisesti lävitse joitakin tärkeimpiä TortoiseSVN-komentoja. Paljon on tietysti vielä jäljellä: suosittelemme, että varaat aikaa ohjeen loppuosan lukemiseen. Erityisesti luku Luku 4, Päivittäisen käytön opas sisältää yksityiskohtaisempaa tietoa päivittäisen käytön toiminnoista.

Olemme nähneet paljon vaivaa tehdäksemme oppaasta sekä helppolukuisen että informatiivisen, mutta ymmärrettävästi asiaa on paljon! Kokeile toimintoja ajan kanssa aläkä pelkää kokeilla asioita testiarkistoon. Paras tapa oppia Subversion on käyttää sitä.

Luku 2. Peruskäsitteitä versionhallinnasta

Tämä luku on hieman muunneltu versio samasta luvusta Subversion-kirjassa. Elektroninen versio Subversion-kirjasta on saatavilla osoitteesta http://svnbook.red-bean.com/.

Tämä luku sisältää lyhyen Subversion-ohjelman esittelyn. Jos et ole aiemmin käyttänyt versionhallintaa, tämä luku on sinua varten. Aloitamme puhumalla versionhallinnan käsitteistä yleisesti, jatkamme siitä Subversionin keskeisiin ideoihin ja esitämme muutamia yksinkertaisia käyttöesimerkkejä.

Vaikka tämän luvun esimerkit kuvaavat ihmisiä, jotka työskentelevät ohjelmakoodin parissa, kannattaa muistaa, että Subversion osaa käsitellä mielivaltaisia tiedostojoukkoja - se ei ole rajoittunut pelkästään auttamaan ohjelmoijia.

Arkisto

Subversion on keskitetty järjestelmä tiedon jakamiseen. Sen ytimessä on arkisto, jonne tiedot talletetaan. Arkisto muodostaa tiedostopuun, joka on tyypillisesti hierarkkinen kokoelma tiedostoja ja kansioita. Arkistoon voi kytkeytyä mielivaltainen määrä asiakkaita, jotka lukevat ja kirjoittavat näihin tiedostoja. Kirjoittamalla tietoa asiakas asettaa sen muiden saataville; lukemalla asiakas saa tietoa muilta.

Kuva 2.1. Tyypillinen asiakas/palvelin -järjestelmä

Tyypillinen asiakas/palvelin -järjestelmä

Miksi tämä on kiinnostavaa? Tähän saakka kuvaus kuulostaa tyypilliseltä tiedostopalvelimen määritelmältä. Arkisto on tosiaan eräänlainen tiedostopalvelin, mutta ei tavallinen sellainen. Subversion-arkisto on erityinen siinä, että se muistaa jokaisen muutoksen joka on koskaan kirjoitettu siihen: jokaisen muutoksen jokaiseen tiedostoon, ja jopa muutokset itse kansiorakenteeseen - esimerkiksi kansioiden lisäykset, poistot ja uudelleenjärjestelyt.

Kun asiakasohjelma hakee tietoa arkistosta, se näkee yleensä vain tiedostojärjestelmän viimeisimmän version. On kuitenkin mahdollista tutkia myös tiedostojärjestelmän edellisiä tiloja. Ohjelma voi tehdä esimerkiksi menneisyyteen liittyviä kysymyksiä, kuten mitä tämä kansio sisälsi viime keskiviikkona? , tai kuka muutti tätä tietostoa viimeksi, ja mitä muutoksia tehtiin? Tällaiset kysymykset ovat keskeisiä mille tahansa versionhallintajärjestelmälle: järjestelmälle, joka on suunniteltu tallettamaan ja palauttamaan tietoon ajan kuluessa tapahtuneet muutokset.

Lähestymistapoja versionhallintaan

Kaikilla versionhallintajärjestelmillä on sama perusongelma: kuinka sallia käyttäjien jakaa tietoa, mutta estää heitä astumasta vahingossa toistensa varpaille? Käyttäjien on aivan liian helppoa vahingossa ylikirjoittaa toistensa tekemät muutokset arkistossa.

Jaettujen tiedostojen ongelma

Oletetaan, että meillä on kaksi työntekijää, Harry ja Sally. He päättävät muokata samaa arkiston tiedostoa samaan aikaan. Mikäli Harry tallettaa muutoksensa arkistoon ensin, on mahdollista, että Sally voi (hetkeä myöhemmin) vahingossa ylikirjoittaa ne omalla, uudella versiollaan tiedostosta. Vaikka Harryn versio tiedostosta ei häviä ikuisiksi ajoiksi (koska tiedostojärjestelmä muistaa kaikki muutokset) , Harryn tekemät muutokset eivät ole mukana Sallyn uudemmassa versiossa tiedostosta, koska hän ei koskaan edes nähnyt Harryn muutoksia. Harryn työ on tosiasiallisesti kadonnut (tai ainakin puuttuu tiedoston viimeisestä versiosta) ja luultavasti vahingossa. Juuri tätä tilannetta halutaan välttää!

Kuva 2.2. Vältettävä ongelma

Vältettävä ongelma

Lukitse/muuta/vapauta -ratkaisu

Monet versionhallintajärjestelmät ratkaisevat tämän ongelman lukitse/muuta/vapauta -mallin avulla. Tällainen ratkaisu on hyvin yksinkertainen; arkisto sallii vain yhden ihmisen muuttaa tiedostoa kerrallaan. Ensiksi Harryn pitää lukita tiedosto, ennen kuin muutoksia voidaan alkaa tehdä. Tiedoston lukitseminen muistuttaa paljolti kirjan lainaamista kirjastosta; jos Harry on lukinnut tiedoston, niin Sally ei voi tehdä siihen muutoksia. Mikäli Sally koettaa lukita tiedoston, arkisto evää pyynnön. Sally voi ainoastaan lukea tiedostoa ja odottaa, että Harry saa muutostyönsä loppuun ja vapauttaa lukon. Lukon vapauttamisen jälkeen Sally voi vuorostaan lukita ja muokata tiedostoa.

Kuva 2.3. Lukitse/muuta/vapauta -ratkaisu

Lukitse/muuta/vapauta -ratkaisu

Lukitse-muokkaa-vapauta -mallin ongelma on, että se on hieman rajoittava ja muodostuu usein käyttäjille pullonkaulaksi:

  • Lukitus voi aiheuttaa hallinnollisia ongelmia. Joskus Harry lukitsee tiedoston ja sitten unohtaa sen. Tällä välin, koska Sally yhä odottaa tiedostoa, hän ei voi tehdä muuta. Ja sitten Harry lähtee lomalle. Nyt Sallyn täytyy löytää ylläpitäjä vapauttamaan Harryn lukko. Tilanne päättyy aiheuttaen paljon tarpeetonta viivettä ja hukattua aikaa.

  • Lukitus voi aiheuttaa tarpeetonta sarjallistumista. Mitä tapahtuu, jos Harry on muokkaamassa tekstitiedoston alkuosaa, ja Sally haluaa muokata saman tiedoston loppua? Nämä muutokset eivät ole päällekkäisiä. He voisivat helposti muokata tiedostoa yhtä aikaa, eikä ongelmia syntyisi, olettaen että muutokset yhdistetään oikein. Tässä tilanteessa ei ole tarpeen vuorotella.

  • Lukitus voi luoda valheellisen turvallisuuden tunteen. Oletetaan, että Harry lukitsee ja muokkaa tiedostoa A, kun Sally samaan aikaan lukitsee ja muokkaa tiedostoa B. Oletetaan vielä, että A ja B riippuvat toisistaan, ja että tehdyt muutokset ovat semanttisesti ristiriitaisia. Yhtäkkiä A ja B eivät enää toimikaan yhdessä. Lukitusjärjestelmä oli voimaton estämään ongelman - ja silti se jollain tapaa antoi valheellisen turvallisuuden tunteen. Harryn ja Sally on helppoa kuvitella, että lukitsemalla tiedostot kumpikin aloittaa varman, eristetyn toimenpiteen; siten lukitus estää heitä keskustelemasta aikaisessa vaiheessa epäyhteensopivista muutoksistaan.

Kopioi-muokkaa-yhdistä -ratkaisu

Subversion, CVS ja monet muut versionhallintajärjestelmät käyttävät kopioi-muokkaa-yhdistä -mallia vaihtoehtona lukitukselle. Tässä mallissa kunkin käyttäjän asiakasohjelma lukee arkistoa ja muodostaa henkilökohtaisen työkopion projektista. Käyttäjät työskentelevät sitten yhtä aikaa, kukin muokaten omia kopioitaan. Lopulta omat kopiot yhdistetään uudeksi, lopulliseksi versioksi. Versionhallintajärjestelmä auttaa usein yhdistämisessä, mutta loppujen lopuksi käyttäjä on vastuussa siitä, että yhdistäminen tapahtuu oikein.

Esimerkki. Oletetaan, että Harry ja Sally luovat kumpikin työkopion samasta projektista kopioimalla sen arkistosta. He työskentelevät yhtä aikaa, ja tekevät muutoksia samaan tiedostoon A työkopioissaan. Sally tallettaa muutoksensa arkistoon ensin. Kun Harry yrittää tallettaa muutoksensa myöhemmin, arkisto kertoo hänelle, että hänen tiedostonsa A on vanhentunut. Toisin sanoen tiedosto A on jotenkin muuttunut arkistossa sen jälkeen, kun hän viimeksi kopioi sen. Joten Harry pyytää asiakasohjelmaansa yhdistämään uudet muutokset arkistosta oman työkopionsa tiedostoon A. Sallyn tekemät muutokset eivät mene päällekkäin hänen omien muutostensa kanssa, joten saatuaan muutokset yhdistettyä hän voi tallettaa työkopionsa takaisin arkistoon.

Kuva 2.4. Kopioi-muokkaa-yhdistä -ratkaisu

Kopioi-muokkaa-yhdistä -ratkaisu

Kuva 2.5. ...Kopioi-muokkaa-yhdistä jatkuu

...Kopioi-muokkaa-yhdistä jatkuu

Mutta entäpä jos Sallyn muutokset ovatkin päällekkäisiä Harryn muutosten kanssa? Mitä sitten? Tällaista tilannetta kutsutaan ristiriidaksi, eikä se yleensä ole kovin suuri ongelmaa. Kun Harry komentaa asiakasohjelmaansa yhdistämään viimeisimmät muutokset arkistosta työkopioonsa, hänen kopionsa tiedostosta A merkitään ristiriitaiseksi: hän voi tarkastella molempia ristiriitaisten muutosten joukkoja, ja käsin valita niiden välillä. Huomaa, että ohjelma ei voi automaattisesti ratkoa ristiriitoja; vain käyttäjä (ihminen) kykenee ymmärtämään ne ja tekemään tarpeelliset älykkäät valinnat. Kun Harry on käsin ratkonut päällekkäiset muutokset (ehkäpä keskustelemalla ristiriidoista Sallyn kanssa!), hän voi turvallisesti tallettaa yhdistetyn tiedoston takaisin arkistoon.

Kopioi-muokkaa-yhdistä -malli voi kuulostaa hieman kaoottiselta, mutta käytännössä se toimii äärimmäisen joustavasti. Käyttäjät voivat työskennellä yhtä aikaa, tarvitsematta koskaan odottaa toisia. Silloinkin, kun työ kohdistuu samoihin tiedostoihin, useimmat yhtäaikaiset muutokset eivät ole päällekkäisiä, ja siten ristiriidat ovat harvinaisia. Ristiriitojen ratkomiseen tarvittava aika on paljon pienempi kuin lukitusjärjestelmän käytössä hukattu aika.

Loppujen lopuksi kaikki tiivistyy yhteen kriittiseen tekijään: käyttäjien kommunikointiin. Kun käyttäjät kommunikoivat huonosti, sekä syntaktisten että semanttisten ristiriitojen määrä kasvaa. Mikään järjestelmä ei voi pakottaa käyttäjiä kommunikoimaan täydellisesti, eikä mikään järjestelmä pysty havaitsemaan semanttisia ristiriitoja. Niinpä ei kannata tuudittautua harhaluuloon, että lukituksiin perustuva järjestelmä voisi jotenkin estää ristiriidat; käytännössä lukitus vaikuttaa enemmänkin tuottavuutta rajoittavasti.

On eräs tavallinen tilanne, jossa lukitse-muokkaa-vapauta -malli toimii paremmin: tiedostot, joita ei voi yhdistää. Jos arkistossasi on esimerkiksi kuvia, joita kaksi ihmistä muuttaa yhtä aikaa, niin tehtyjä muutoksia ei voi mitenkään yhdistää. Joko Harry tai Sally menettävät muutoksensa.

Mitä Subversion tekee?

Subversion käyttää oletusarvoisesti kopioi-muokkaa-yhdistä -mallia, ja useissa tapauksissa et koskaan tarvitse mitään muuta. Versiosta 1.2 alkaen Subversion tukee kuitenkin myös tiedostojen lukitusta, joten jos projektissasi on tiedostoja, joita ei voi yhdistää (tai projektikäytäntö edellyttää lukitusmallin käyttöä), Subversion tarjoaa silti tarvittavat ominaisuudet.

Subversion toiminnassa

Työkopiot

Olet jo lukenut työkopioista; nyt näytämme, kuinka Subversion-asiakasohjelma luo ja käyttää niitä.

Subversion-työkopio on tietokoneellasi sijaitseva tavallinen kansiopuu, joka sisältää kokoelman tiedostoja. Voit muokata näitä tiedostoja mielesi mukaan, ja mikäli ne ovat lähdekooditiedostoja, voit kääntää ne ohjelmaksi tavanomaiseen tapaan. Työkopiosi on yksityistä työaluettasi: Subversion ei koskaan lisää siihen muiden tekemiä muutoksia, eikä myöskään siirrä omia muutoksiasi muitten saataville ennen kuin erikseen komennat sitä tekemään niin.

Tehtyäsi muutoksia työkopiossasi oleviin tiedostoihin ja varmistuttuasi, että ne toimivat moitteetta, voit Subversionin komennoilla julkaista muutoksesi muille projektissasi työskenteleville ihmisille (kirjoittamalla arkistoon). Jos muut ihmiset julkaisevat omia muutoksiaan, voit yhdistää ne työkopioosi Subversionin komennoilla (lukemalla arkistosta).

Työkopio sisältää myös ylimääräisiä tiedostoja, joita Subversion luo ja ylläpitää. Eräs näistä on .svn -hakemisto, jota kutsutaan työkopion hallintohakemistoksi . Hallintohakemiston tiedostojen avulla Subversion havaitsee, mitkä tiedostot sisältävät julkaisemattomia muutoksia, ja mitkä tiedostot ovat vanhentuneita suhteessa muiden työhön. Ennen versiota 1.7 Subversion loi hallintohakemiston jokaiseen työkopion versioituun hakemistoon. Versiosta 1.7 alkaen Subversion toimii täysin eri tavoin: kullakin työkopiolla on vain yksi hallintohakemisto, joka sijaitsee suoraan työkopion juuren alla.

Tyypillinen Subversion-arkisto sisältää usein useiden projektien tiedostot (tai lähdekoodin); tavallisesti kukin projekti on alihakemisto arkiston tiedostopuussa. Tällaisessa järjestelyssä käyttäjän työkopio vastaa yleensä yhtä arkiston alipuuta.

Oletetaan esimerkiksi, että arkistosi sisältää kaksi ohjelmistoprojektia.

Kuva 2.6. Arkiston tiedostojärjestelmä

Arkiston tiedostojärjestelmä

Toisin sanoen arkiston juurihakemistossa on kaksi alihakemistoa: paint ja calc.

Saadaksesi työkopion sinun täytyy kopioida jonkin arkiston polun tiedostot työasemallesi. Tätä kutsutaan työkopion noutamiseksi (engl. check out). Työkopion noutamisella ei ole tekemistä lukituksen tai resurssien varaamisen kanssa; se vain luo sinulle oman paikallisen kopion projektista.

Oletetaan, että teet muutoksia tiedostoon button.c. Koska .svn -hakemisto muistaa tiedoston muutospäivämäärän ja alkuperäisen sisällön, Subversion tietää, että olet muuttanut tiedostoa. Subversion ei kuitenkaan julkaise muutoksiasi ennen kuin erikseen komennat sitä. Muutosten julkaisutoimentpidettä kutsutaan yleisemmin arkistoon toimittamiseksi (engl. commit).

Julkaistaksesi muutoksesi muille, voit käyttää Subversion-komentoa toimita arkistoon.

Nyt muutoksesi tiedostoon button.c on toimitettu arkistoon; jos joku toinen käyttäjä hakee työkopion projektista /calc, hän näkee muutoksesi tiedoston viiimeisimmässä versiossa.

Oletetaan, että sinulla on työtoveri Sally, joka nouti työkopion projektista /calc samaan aikaan sinun kanssasi. Kun toimitat muutoksesi tiedostoon button.c, Sallyn työkopio säilyy muuttumattomana; Subversion muokkaa työkopioita vain käyttäjän niin pyytäessä.

Saattaakseen projektinsa ajan tasalle, Sally voi pyytää Subversionia päivittämään työkopionsa käyttäen komentoa päivitä. Tämä liittää muutoksesi Sallyn työkopioon, samoin kuin kaikki muutkin arkistoon edellisen työkopion noudon jälkeen tapahtuneet muutokset.

Huomaa, ettei Sallyn ei tarvinnut kertoa, mitä tiedostoja päivitetään; Subversion käyttää arkiston lisäksi .svn -hakemistojen tietoja päättääksen, mitkä tiedostot pitää saattaa ajan tasalle.

Arkistopaikantimet

Subversion-arkistoihin voi päästä käsiksi useilla eri tavoilla - suoraan paikalliselta levyltä tai erilaisten yhteyskäytäntöjen kautta. Arkiston paikka ilmaistaan kuitenkin aina paikantimella (Uniform Resource Locator, URL). Paikantimesta käy ilmi, miten arkistoon kytkeydytään:

Taulu 2.1. Paikantimet arkistoon kytkeytymiseksi

SkeemaKytkeytymistapa
file:// Suora kytkeytyminen arkistoon paikallisella tai verkkolevyllä.
http:// Kytkeytyminen WebDAV-käytännöllä Subversion-tietoiseen Apache-palvelimeen.
https:// Kuten http://, mutta salattuna SSL-tekniikalla.
svn:// TCP/IP -pohjainen kytkeytyminen svnserve-palvelimeen ilman tunnistusta, oman yhteyskäytännön avulla.
svn+ssh:// Salattu TCP/IP-pohjainen kytkeytyminen svnserve-palvelimeen tunnistuksen kera, oman yhteyskäytännön avulla.

Subversion-paikantimet käyttävät enimmäkseen normaalia syntaksia, joka sallii palvelimen nimen ja porttinumeron liittämisen osaksi paikanninta. Kytkeytymistapaa file:// käytetään yleensä paikallisesti, vaikka sitä voidaan käyttää myös verkkopalvelimen UNC-polkujen kanssa. Paikannin on siten muotoa file://konenimi/polku/arkistoon. Paikallisessa tietokoneessa paikantimen konenimiosan pitää joko puuttua tai olla localhost. Tästä syystä paikalliset polut sisältävät yleensä kolme kauttaviivaa, file:///polku/arkistoon.

Lisäksi file:// -kytkeytymistavan käyttäjien pitää Windows-alustalla käyttää epävirallista standardia kytkeytyäkseen arkistoihin, jotka sijaitsevat samassa koneessa, mutta eri asemassa kuin nykyinen asema. Kumpikin seuraavista paikanninsyntakseista toimii (X on asema, jossa arkisto sijaitsee):

file:///X:/polku/arkistoon
...
file:///X|/polku/arkistoon
...

Huomaa, että paikannin käyttää tavallisia kauttaviivoja, vaikka Windows-polut käyttävät natiivisti kenoviivoja.

Voit kytkeytyä FSFS-tekniikalla toteutettuun arkistoon verkkojaon kautta, mutta tätä ei suositella useista eri syistä:

  • Annat kaikille käyttäjille suoran kirjoitusoikeuden, joten he voivat vahingossa tuhota tai muutoin tehdä arkiston tiedostojärjestelmän käyttökelvottomaksi.

  • Kaikki verkkojakojen yhteyskäytännöt eivät tue Subversionin tarvitsemaa lukitustapaa. Jonain päivänä huomaat, että arkistosi on huomaamatta korruptoitunut.

  • Pääsyoikeudet on asetettava juuri oikealla tavalla. SAMBA on erityisen vaikea tässä suhteessa.

  • Jos joku käyttäjistä asentaa uuden asiakasversion, joka päivittää arkistorakenteen, muut käyttäjät eivät kykene enää kytkeytymään arkistoon ilman asialasversion päivitystä.

Versiot

Toiminto svn commit julkaisee yhteen tai useampaan tiedostoon ja hakemistoon tehdyt muutokset yhtenä atomisena (onnistuu joko kokonaan tai arkisto ei muutu) tapahtumana. Voit muuttaa tiedostojen sisältöä, luoda, poistaa, uudelleen nimetä ja kopioida tiedostoja ja hakemistoja työkopiossasi ja lopuksi toimittaa koko muutosjoukon arkistoon yhtenä kokonaisuutena.

Arkistossa kutakin toimitusta kohdellaan atomisena: joka kaikki toimituksen muutokset tulevat voimaan, tai mikään niistä ei tule voimaan. Subversion koettaa säilyttää tämän atomisuuden ohjelmien kaatuessa, järjestelmien kaatuessa, verkkoyhteyksien katkeillessa ja muiden käyttäjien toimien keskellä.

Joka kerta kun arkisto hyväksyy toimituksen, tiedostojärjestelmäpuu siirtyy uuten tilaan, jota kutsutaan versioksi. Kullekin versiolle annetaan yksikäsittteinen luonnollinen luku, yhtä isompi kuin edellinen versio. Uuden arkiston ensiversio on nolla ja se koostuu pelkästään tyhjästä juurihakamistosta.

Arkisto on näppärää havainnollistaa joukkona puita. Kuvittele joukkoa versionumeroita, alkaen nollasta ja ulottuen vasemmalta oikealle. Jokaiseen versionumeroon liittyy tiedostojärjestelmäpuu, joka on otos arkiston tilasta kunkin toimituksen jälkeen.

Kuva 2.7. Arkisto

Arkisto

On tärkeää huomata, että työkopiot eivät aina vastaa yhtä tiettyä arkiston versiota; ne voivat sisältää tiedostoja useista eri versioista. Oletetaan esimerkiksi, että haet työkopion arkistosta, jonka viimeisin versio on 4:

calc/Makefile:4
     integer.c:4
     button.c:4

Tällä hetkellä tämä työkopio vastaa täsmälleen versiota 4 arkistossa. Oletetaan kuitenkin, että teet muutoksen tiedostoon button.c, ja toimitat tämän muutoksen. Olettaen, että muita muutoksia ei ole tapahtunut, toimituksesi luo arkistosta version 5, ja työkopiosi näyttää nyt seuraavalta:

calc/Makefile:4
integer.c:4
button.c:5

Oletetaan, että tässä kohden Sally toimittaa muutoksen tiedostoon integer.c, luoden version 6. Jos käytät komentoa svn update saattaaksesi työkopiosi ajan tasalle, se näyttää seuraavalta:

calc/Makefile:6
     integer.c:6
     button.c:6

Sallyn tiedostoon integer.c tekemät muutokset ilmestyvät työkopioosi, ja oma muutoksesi on yhä mukana tiedostossa button.c. Tässä esimerkissä tiedoston Makefile sisältö on identtinen versioissa 4, 5, ja 6, mutta Subversion merkitsee työkopiosi tiedoston Makefile versiolla 6 ilmaisemaan, että se on yhä ajan tasalla. Tehtyäsi päivityksen työkopiosi juurihakemistolle se vastaa yleisesti ottaen täsmälleen yhtä arkiston versiota.

Kuinka työkopiot seuraavat arkiston tilaa

Subversion tallettaa jokaista työkopion tiedostoa varten kaksi oleellista tietoa .svn/ -hallintoalueelle:

  • mihin versioon työkopiosi tiedosto perustuu (tätä kutsutaan tiedoston työversioksi ), ja

  • aikaleiman, joka kertoo, milloin työkopio viimeksi päivitettiin arkiston toimesta.

Näiden tietojen avulla, keskustelemalla arkiston kanssa, Subversion-asiakas voi päätellä, missä seuraavista tiloista työkopion tiedosto on:

Muuttumaton ja nykyinen

Työkopion tiedosto on muuttumaton, eikä siihen ei ole arkistossa kohdistunut muutoksia työversion haun jälkeen. Komennot toimita ja päivitä eivät tee tiedostoille mitään.

Paikallisesti muuttunut ja nykyinen

Tiedostoa on muutettu työkopiossa, eikä sitä ole muutettu arkistossa kantaversion jälkeen. On olemassa paikallisia muutoksia, joita ei ole toimitettu arkistoon, joten komento toimita julkaisee muutoksesi, ja komento päivitä ei puolestaan tee tiedostolle mitään.

Muuttumaton ja vanhentunut

Tiedostoa ei ole muutettu työkopiossa, mutta se on muuttunut arkistossa. Tiedosto pitäisi jossain vaiheessa päivittää, jotta se saadaan ajan tasalle julkaistun version kanssa. Komento toimita ei tee mitään tiedostolle, ja komento päivitä tuo tiedoston viimeisimmät muutokset työkopioosi.

Paikallisesti muuttunut ja vanhentunut

Tiedostoa on muutettu sekä työkopiossa että arkistossa. Komento toimita palauttaa virheen vanhentunut (out-of-date). Tiedosto pitää ensin päivittää; komento päivitä yrittää yhdistää julkaistut muutokset paikallisten muutosten kanssa. Mikäli Subversion ei kykene yhdistämään kaikkia muutoksia automaattisesti, syntyneiden ristiriitojen ratkaisu jätetään käyttäjän tehtäväksi.

Yhteenveto

Tässä luvussa käsiteltiin joukko keskeisiä Subversion-käsitteitä:

  • Olemme esitelleet käsitteet keskusarkisto, työkopio sekä ajatuksen jonosta arkiston versiopuita.

  • Olemme tarkastelleet muutamia pieniä esimerkkejä siitä, miten kaksi työtoveria voi käyttää Subversionia julkaistakseen ja saadakseen muutoksia toisiltaan käyttämällä 'kopioi-muuta-yhdistä' -mallia.

  • Olemme puhuneet hieman Subversionin tavasta jäljittää ja hallinnoida työkopion tietoja.

Luku 3. Arkisto

Riippumatta yhteyskäytännöstä, jota käytät kytkeytyessäsi arkistoihisi, sinun täytyy aina luoda vähintään yksi arkisto. Tämän voi tehdä joko Subversion-komentoriviltä tai TortoiseSVN:n avulla.

Jos et ole vielä luonut Subversion-arkistoa, niin nyt on hyvä aika tehdä se.

Arkiston luonti

Arkiston luonti komentoriviltä

  1. Luo tyhjä kansio nimellä SVN (esim. D:\SVN\), josta tulee juuri kaikille arkistoillesi.

  2. Luo toinen kansio MyNewRepository kansion D:\SVN\ sisälle.

  3. Avaa komentokehote (ts. DOS-ikkuna), vaihda kansioon D:\SVN\ ja kirjoita

    svnadmin create --fs-type fsfs MyNewRepository
    

Nyt olet luonut uuden arkiston, jonka sijainti on D:\SVN\MyNewRepository.

Arkiston luonti TortoiseSVN:n avulla

Kuva 3.1. TortoiseSVN-valikko versioimattomille kansioille

TortoiseSVN-valikko versioimattomille kansioille

  1. Avaa Windows-resurssienhallinta

  2. Luo uusi kansio ja nimeä se esim. SVNRepository

  3. Oikea-napsauta juuri luodun kansion päällä ja valitse TortoiseSVNLuo arkisto tähän....

    Tämä luo arkiston uuden kansion sisälle. Älä muokkaa arkistokansion tiedostoja itse!. Jos saat virheilmoituksen, varmista että kansio on tyhjä eikä sitä ole kirjoitussuojattu.

    Sinulta kysytään myös, haluatko luoda arkistoon kansiorakenteen. Lisätieto mahdollisuuksista on luvussa n ”Arkiston rakenne”.

    TortoiseSVN käyttää omaa kuvakettaan luodessaan arkiston, joten paikalliset arkistot on helppo erottaa muista kansioista. Jos luot arkiston jollain toisella ohjelmalla (esim. komentorivi), kuvaketta ei kuitenkaan käytetä.

Vihje

Suosittelemme myös, ettet käytä file:// -yhteyskäytäntöä ollenkaan, pois lukien paikalliset testaustarpeet. Palvelimen käyttö on turvallisempaa ja luotettavampaa kaikkeen paitsi yksittäisen kehittäjän käyttöön.

Arkiston paikallinen käyttö

Käyttääksesi paikallista arkistoasi tarvitset polun sen sisältävään kansioon. Muista, että Subversion odottaa kaikkien arkistopolkujen olevan muotoa file:///C:/SVNRepository/. Huomaa kauttaviivojen '/' käyttö.

Päästäksesi verkkojaolla olevaan arkistoon voit käyttää joko UNC-polkua tai sitoa sen asemakirjaimeen. UNC-poluille oikea muoto on file://palvelin/polku/arkistoihin/. Huomaa, että edeltäviä kauttaviivoja on tässä vain kaksi.

Ennen SVN-versiota 1.2 UNC-polut piti antaa hankalammassa muodossa file:///\palvelin/polku/arkistoihin. Tämä muoto on yhä tuettu, mutta ei suositeltu.

Arkiston käyttö verkkojaolta

Vaikka on teoriassa mahdollista sijoittaa FSFS-arkisto verkkojaolle ja sallia sen yhtäaikainen käyttö file:// -yhteyskäytännöllä, tätä tapaa ei suositella eikä tueta useista eri syistä:

  • Ensinnäkin: kaikilla käyttäjillä on suora kirjoitusoikeus arkistoon, joten joku voi vahingossa tuhota koko arkiston tai tehdä sen muulla tavoin käyttökelvottomaksi.

  • Toisekseen, kaikki verkkojakojen yhteyskäytännöt eivät tue Subversionin tarvitsemaa lukitustyyliä, joten arkistosi saattaa mennä sekaisin. Voi olla, että näin ei käy heti, mutta jonain päivänä kaksi käyttäjää yrittää varmasti käyttää arkistoa samanaikaisesti.

  • Kolmanneksi, tiedostojen saantioikeudet täytyy asettaa oikein. Saatat selvitä tästä tavallisella Windows-jaolla, mutta SAMBA on tässä suhteessa erityisen vaikea.

  • Jos joku käyttäjistä asentaa uuden asiakasversion, joka päivittää arkistorakenteen, muut käyttäjät eivät kykene enää kytkeytymään arkistoon ilman asialasversion päivitystä.

file:// -yhteyskäytäntö on tarkoitettu paikallisille yhden käyttäjän arkistoille, erityisesti testaamiseen ja virheiden etsintään. Kun haluat jakaa arkiston, sinun on todella asennettava oikea palvelin, eikä se ole läheskään niin vaikeaa kuin saatat kuvitella. Luku ”Arkiston käyttö” sisältää vinkkejä palvelimen valintaan ja asentamiseen.

Arkiston rakenne

Ennen kuin tuot tietosi arkistoon, sinun pitäisi ensin miettiä, miten haluat järjestää tietosi. Jos käytät yhtä suositelluista tavoista, arkiston käyttö on jatkossa paljon helpompaa.

On olemassa muutamia suositeltuja tapoja järjestää arkisto. Useimmat ihmiset luovat trunk -hakemiston, joka sisältää kehityksen päälinjan, branches-hakemiston, joka sisältää kehityshaarat, ja tags-hakemiston, joka sisältää merkityt versiot. Jos arkisto sisältää vain yhden projektin, on tavallista luoda seuraavat ylätason hakemistot:

/trunk
/branches
/tags

Koska tätä rakennetta käytetään niin usein, TortoiseSVN kykenee luomaan sen automaattisesti arkiston luonnin yhteydessä.

Jos arkistossa on useita projekteja, on usein tapana indeksoida rakenne haaroittain:

/trunk/paint
/trunk/calc
/branches/paint
/branches/calc
/tags/paint
/tags/calc

...tai projekteittain:

/paint/trunk
/paint/branches
/paint/tags
/calc/trunk
/calc/branches
/calc/tags

Projekteittain indeksointi on järkevää, jos projektit eivät ole läheisessä suhteessa keskenään ja kustakin haetaan versioita itsenäisesti. Keskenään suhteessa oleville projekteille, joille saatat haluta kaikki projektit kerralla, tai missä kaikki projektit muodostavat yhden levityspaketin, on usein parempi indeksoida haaroittain. Tällöin työkopio voidaan noutaa yhdestä trunk-hakemistosta, ja aliprojektien suhteet ovat paremmin näkyvissä.

Jos otat käyttöön päätason /trunk /tags /branches -lähestymistavan, mikään ei kuitenkaan pakota sinua kopioimaan koko trunk-hakemistoa jokaista haaraa ja merkittyä versiota varten, ja monilla tavoin tämä rakenne joustaa eniten.

Toisistaan riippumattomille projekteille erillisten arkistojen käyttö saattaa olla parempi ajatus. Kun toimitat muutoksia, koko arkiston versionumero muuttuu, ei pelkästään projektin versionumero. Kun kaksi riippumatonta projektia jakaa arkiston, voi yhden projektin versionumeroissa olla suuria aukkoja. Subversion- ja TortoiseSVN-projektit löytyvät samasta palvelimesta, mutta ovat eri arkistoissa, mikä sallii itsenäisen kehityksen ja välttää versionumerosekaannukset.

Voit tietenkin jättää tavanomaiset tavat järjestää arkisto huomiotta ja luoda niistä minkä tahansa muunnelman, joka sopii parhaiten ryhmällesi. Muista, että mitä valitsetkin, päätös ei ole lopullinen. Voit järjestää arkiston uudelleen milloin vain. Koska haarat ja merkityt versiot ovat tavallisia hakemistoja, TortoiseSVN voi siirtää tai nimetä ne uudelleen miten vain tahdot.

Siirtyminen yhdestä rakenteesta toiseen voidaan toteuttaa helposti joukolla siirtokomentoja palvelimella; Jos et pidä arkiston rakenteesta, voit siirrellä hakemistoja ympäriinsä arkistoselaimella.

Jos et siis vielä ole luonut peruskansiorakennetta arkistoosi, se kannattaa tehdä nyt. Tähän on kaksi tapaa. Jos haluat pelkästään luoda /trunk /tags /branches -rakenteen, voit käyttää arkistoselainta luodaksesi kolme kansiota (kolmella erillisellä toimituksella). Jos taas haluat luoda syvemmän hierarkian, on yksinkertaisempaa luoda kansiorakenne paikalliselle levylle ja tuoda se arkistoon yhdellä toimituksella:

  1. luo uusi, tyhjä hakemisto kiintolevyllesi

  2. luo haluamasi ylätason rakenne juuri luomaasi kansioon - älä vielä lisää tiedostoja!

  3. tuo tämä kansiorakenne arkistoon napsauttamalla hiiren oikeaa nappia sen kansion kohdalla, joka sisältää kansiorakenteen ja valitse komento TortoiseSVNTuo... Syötä tuonti-ikkunaan arkistosi paikannin ja napsauta OK. Tämä tuo kansiorakenteesi arkiston juureen perusrakenteen luomiseksi.

Huomaa että tuomasi kansion nimi ei näy arkistossa, pelkästään sen sisältö. Esimerkki: Luo seuraava kansiorakenne

C:\Temp\New\trunk
C:\Temp\New\branches
C:\Temp\New\tags

Tuo C:\Temp\New arkiston juureen, joka näyttää lopputuloksena seuraavalta:

/trunk
/branches
/tags

Arkiston varmistus

Riippumatta käyttämästäsi arkiston tyypistä, on tärkeää, että teet säännöllisiä varmistuksia ja varmistat niiden onnistumisen. Mikäli palvelin kaatuu, saatat pystyä käyttämään uusimpia versioita tiedostoistasi, mutta ilman arkistoa historiatiedot ovat lopullisesti mennyttä.

Yksinkertaisin (mutta ei suositeltu) tapa on vain kopioida arkistokansio varmistusmediaan. Sinun on kuitenkin oltava täysin varma, että muut prosessit eivät käytä tietoja samaan aikaan. Tässä yhteydessä käyttö tarkoittaa mitä tahansa käyttöä. Jos arkistoasi käytetään kopioinnin aikana (avoin web-selain, WebSVN, jne.), varmistus on hyödytön.

Suositeltava tapa on suorittaa komento

svnadmin hotcopy path/to/repository path/to/backup

luodaksesi kopion arkistosta turvallisesti. Tämän jälkeen varmista kopio.

svnadmin-työkalu asentuu samalla, kun asennat Subversion-komentorivityökalun. Tämä onnistuu helpoiten ruksaamalla komentorivityökalut-valinta TortoiseSVN-asennuksen yhteydessä, mutta voit halutessasi asentaa viimeisimmän version komentorivityökaluista Subversion-sivustosta.

Palvelinpään komentojonot

Toimintokomento (engl. hook script) on ohjelma, joka käynnistyy jonkin arkistotapahtuman (esim. uuden version luonti tai versioimattoman ominaisuuden muokkaus) takia. Toimintokomento saa parametreinaan tiedot arkistotapahtumasta, sen kohteesta sekä tekijästä. Toimintokomennon tuloksista tai paluuarvosta riippuen komento voi jatkaa tapahtumaa, keskeyttää sen tai viivästyttää sitä jollain tavoin. Lue Subversion-kirjan kappaleesta Hook Scripts yksityiskohtaisempaa tietoa tuetuista toimintokomentotyypeistä.

Toimintokomennot suorittaa palvelin, jolla arkisto sijaitsee. TortoiseSVN sallii myös asiakaspään toimentokomentojen määrittelyn. Ne suoritetaan paikallisesti joidenkin tapahtumien yhteydessä. Katso lisätietoja luvusta ”Asiakaspään komentojonot”.

Esimerkkejä toimintokomennoista löytyy arkiston hooks -hakemistosta. Nämä esimerkit on tarkoitettu Unix/Linux -palvelimille, ja niitä on muutettava, mikäli palvelimesi on Windows-pohjainen. Toimintokomento voi olla komentojono tai ohjelma. Seuraava esimerkki näyttää komentojonon, jota voitaisiin käyttää toteuttamaan pre-revprop-change -toimintokomento.

rem Only allow log messages to be changed.
if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1

Huomaa, että kaikki komennon stdout-kahvaan tehty tulostus katoaa. Mikäli haluat virheilmoituksen ilmestyvän Toimitus peruttu -ikkunaan, se on kirjoitettava stderr-kahvaan. Komentojonossa tämän voi tehdä lausekkeella >&2.

Komentojonojen ohittaminen

Mikäli komentojono estää toimituksen arkistoon, ei paljoa ole tehtävissä. Voit kuitenkin rakentaa komentojonoon ohitusmekanismin käyttämällä taikasanatekniikkaa: jos komentojono päättää perua toiminnon, se etsii ensin lokiviestistä erityistä tekstiä (esim. jokin tietty sana tai tiedostonimi etuliitteen kera). Mikäli taikasana löytyy, toimituksen annetaan jatkua. Jos taikasanaa ei löydy, toimitus estetään ja annetaan virheilmoitus (esim. Et sanonut taikasanaa. :-)

Noutolinkit

Jos haluat saattaa Subversion-arkistosi muiden käyttöön, voit lisätä siihen osoittavan linkin web-sivustoosi. Eräs tapa tähän on noutolinkin lisääminen muille TortoiseSVN-käyttäjille.

Kun asennat TortoiseSVN-ohjelman, se rekisteröi uuden tsvn: -yhteyskäytännön. Kun TortoiseSVN-käyttäjä napasauttaa tällaista linkkiä, työkopion hakuikkuna avautuu automaattisesti, arkiston paikannin valmiiksi lisättynä.

Lisätäksesi tällaisen linkin omaan web-sivustoosi, lisää siihen seuraavan tapainen HTML-koodi:

<a href="tsvn:http://project.domain.org/svn/trunk">
</a>

Tietysti sopiva kuva parantaa linkin ulkonäköä vielä entisestään. Voit käyttää kuvaa TortoiseSVN logo tai lisätä omasi.

<a href="tsvn:http://project.domain.org/svn/trunk">
<img src=TortoiseCheckout.png></a>

Voit myös asettaa linkin osoittamaan tiettyyn versioon, esimerkiksi

<a href="tsvn:http://project.domain.org/svn/trunk?100">
</a>

Arkiston käyttö

Käyttääksesi TortoiseSVN-ohjelmaa (tai jotain toista Subversion-asiakasta), tarvitset paikan, missä arkistosi sijaitsevat. Voit tallettaa arkistosi joko paikallisesti ja kytkeytyä niihin käyttämällä file:// -yhteyskäytäntöä, tai voit sijoittaa arkistot palvelimelle ja kytkeytyä niihin http:// tai svn:// -yhteyskäytännöillä. Nämä kaksi palvelinyhteyskäytäntöä voidaan myös salata, jolloin ne ovat vastaavasti muotoa https:// tai svn+ssh://. Salausta tuetaan myös svn://-yhteyskäytännön kanssa SASL-kirjaston avulla.

Jos käytät jotain julkista arkistopalvelua, kuten esim.SourceForge tai palvelimesi on jo asennettu jonkun toimesta, voit siirtyä suoraan lukuun Luku 4, Päivittäisen käytön opas.

Jos sinulla ei ole palvelinta ja työskentelet yksin (tai jos vain kokeilet Subversion- ja TortoiseSVN-ohjelmia), niin paikallinen arkisto on luultavasti paras vaihtoehto. Voit luoda suoraan arkiston aiemmin luvussa Luku 3, Arkisto kuvatulla tavalla. Lue tämän jälkeen luvusta Luku 4, Päivittäisen käytön opas peruskäytön ohjeet.

Jos ajattelit ottaa käyttöön usean käyttäjän arkiston verkkojaolla, harkitse uudelleen. Luvussa ”Arkiston käyttö verkkojaolta” kerrotaan, miksi tämä on mielestämme huono ajatus. Palvelimen asennus ei ole niin vaikeaa, miltä se kuulostaa, ja tarjoaa vakaamman ympäristön ja luultavasti myös nopeusetuja.

Tarkempaa tietoa Subversionin palvelinvaihtoehdoista ja vinkkejä sinulle parhaiten sopivaan kokoonpanoon löydät Subversion-kirjan kappaleesta Server Configuration.

Subversionin alkuaikoina palvelimen käyttöönotto vaati hyvän ymmärryksen sen konfiguroinnista, ja aiemmat versiot tästä ohjeesta sisälsivät yksityiskohtaisia kuvauksia palvelimen käyttöönotosta. Sittemmin asiat ovat muuttuneet helpommiksi ja tarjolla on erilaisia palvelinasennuspaketteja, jotka ohjaavat läpi asennusprosessin. Ohessa muutamia näistä:

Löydät uusimmat linkit aina Subversion -verkkosivustolta.

Löydät lisää Kuinka Teen -ohjeita TortoiseSVN-verkkosivuilta.

Luku 4. Päivittäisen käytön opas

Sisällys

Yleiset ominaisuudet
Kuvakepäällykset
Kontekstivalikot
Raahaa ja pudota
Yleisimpien komentojen pikanäppäimiä
Tunnistaminen
Ikkunoiden maksimointi
Tiedon tuonti arkistoon
Tuo
Tuonti arkistoon työkopion kautta
Erikoistiedostot
Työkopion hakeminen
Työkopion haun syvyys
Muutosten toimittaminen arkistoon
Toimitusikkuna
Muutoslistat
Toimita vain osia tiedostoista
Kohteiden ohittaminen toimitusikkunassa
Toimituksen lokiviestit
Toimituksen eteneminen
Päivitä työkopioosi muiden tekemät muutokset
Ristiriitojen ratkonta
Tiedostoristiriidat
Ominaisuusristiriidat
Puuristiriidat
Työkopion tilan selvittäminen
Kuvakepäällykset
Yksityiskohtaiset tilatiedot
Paikallinen ja etätila
Vertailu
Muutoslistat
Hyllyttäminen
Versioloki
Versiolokin avaaminen
Versiolokin toimintoja
Lisätietoa
Lisää lokiviestejä
Työkopion nykyinen versio
Suoritettujen yhdistämisten jäljitys
Lokiviestin ja tekijätietojen muuttaminen
Lokiviestin suodattaminen
Tilastotiedot
Yhteydetön tila
Näytön päivitys
Vertailu
Tiedostojen erot
Rivinlopetin- ja tyhjämerkkiasetukset
Kansioiden vertailu
Kuvien vertailu TortoiseIDiff-työkalulla
Office-dokumenttien vertailu
Erilliset vertailu- ja yhdistämistyökalut
Uusien tiedostojen ja kansioiden lisääminen
Tiedostojen ja kansioiden kopiointi, siirto ja uudelleen nimeäminen
Tiedostojen ja kansioiden ohittaminen
Tiedostonimien täsmäys ohituslistoissa
Poistaminen, siirtäminen ja uudelleen nimeäminen
Tiedostojen ja kansioiden poisto
Tiedostojen ja kansioiden siirto
Tiedostonimien merkkitaso-ongelmien ratkaisu
Tiedostojen uudelleen nimeämisten korjaaminen
Versioimattomien tiedostojen poisto
Muutosten peruminen
Siivoaminen
Projektiasetukset
Subversion-ominaisuudet
TortoiseSVN-projektin ominaisuudet
Ominaisuuksen muokkaaminen
Ulkoiset kohteet
Ulkoiset kansiot
Ulkoiset tiedostot
Ulkoisten viittausten luonti raahaamalla ja pudottamalla
Haarautuminen / merkitseminen
Haaran tai merkityn version luonti
Muita tapoja haaran tai merkityn version luontiin
Hakeako työkopio vai vaihtaa...
Yhdistäminen
Versiovälin yhdistäminen
Kahden eri puun yhdistäminen
Yhdistämisvalinnat
Yhdistämisen tulosten tarkistaminen
Tehtyjen yhdistämisten jäljitys
Ristiriitojen ratkaisu yhdistämisen jälkeen
Kehityshaaran ylläpito
Lukitseminen
Kuinka lukitus toimii Subversionissa
Lukitseminen
Lukon vapautus
Lukkojen tarkistus
Lukitsemattomien tiedostojen pakottaminen kirjoitussuojatuiksi
Lukituskomentojonot
Paikkatiedostojen luonti ja käyttäminen
Paikkatiedoston luominen
Paikkatiedoston käyttäminen
Kuka muutti mitäkin riviä?
Selvitä tekijät tiedostoille
Vertaa ja selvitä tekijät
Arkistoselain
Versiograafit
Versiograafin solmut
Näytön vaihto
Graafin käytöstä
Näytön päivitys
Puiden karsiminen
Subversion-työkopion vienti
Työkopion poisto versionhallinnasta
Työkopion uudelleen sijoittaminen
Integrointi vikaseurantaohjelmiin
Vikanumeroiden lisääminen lokiviesteihin
Tiedon saanti vikaseurantaohjelmasta
Integrointi web-pohjaisiin arkistoselaimiin
TortoiseSVN-asetukset
Yleiset asetukset
Versiograafin asetukset
Kuvakepäällykset
Verkkoasetukset
Ulkoiset ohjelmat
Tallennettujen tietojen asetukset
Lokiviestien talletus
Asiakaspään komentojonot
TortoiseBlame-asetukset
TortoiseUDiff-asetukset
TSVN-asetusten vienti
Lisäasetukset
Lopuksi

Tämä luku kuvaa TortoiseSVN-asiakkaan päivittäisen käytön. Se ei ole johdatus versionhallintajärjestelmien perusteisiin eikä johdatus Subversionin (SVN) käyttöön. Kyseessä on pikemminkin ohje, jonka puoleen voit kääntyä, kun tiedät suunnilleen, mitä haluat tehdä, mutta et aivan muista, miten se tehdään.

Jos tarvitset johdantoa versionhallintaan Subversionin avulla, suosittelemme, että luet mainion kirjan Version Control with Subversion.

Tämä käyttöohje päivittyy jatkuvasti, samoin kuin TortoiseSVN ja Subversion. Jos löydät virheitä, ole hyvä ja kerro niistä postituslistalla, jotta voimme päivittää käyttöohjeen. Jotkut ruutukaappaukset Päivittäisen käytön oppaassa (PKO) eivät ehkä vastaa ohjelman nykyistä ulkoasua. Ole kärsivällinen. Työskentelemme TortoiseSVN:n parissa vapaa-aikanamme.

Saadaksesi eniten irti Päivittäisen käytön oppaasta:

  • TortoiseSVN:n pitäisi jo olla asennettu.

  • Sinun pitäisi olla sinut versionhallintajärjestelmien periaatteiden kanssa.

  • Sinun pitäisi tietää perusteet Subversionista.

  • Sinulla pitäisi olla asennettu palvelin ja/tai pääsy Subversion-arkistoon.

Yleiset ominaisuudet

Tässä kappaleessa kerrotaan TortoiseSVN-ohjelman yleisistä ominaisuuksista. Huomaa, ettö useat toiminnot ovat tarjolla vain kansioille, jotka ovat Subversion-työkopioita.

Kuvakepäällykset

Kuva 4.1. Resurssienhallinnan kuvakepäällykset

Resurssienhallinnan kuvakepäällykset


Yksi TortoiseSVN:n näkyvimmistä ominaisuuksista ovat kuvakepäällykset, jotka näkyvät työkopiosi tiedostoille. Niiden avulla näet yhdellä silmäyksellä, mitkä tiedostoistasi ovat muuttuneet. Katso luvusta ”Kuvakepäällykset” mitä eri päällykset merkitsevät.

Kontekstivalikot

Kuva 4.2. Kontekstivalikko versioidulle hakemistolle

Kontekstivalikko versioidulle hakemistolle


Kaikki TortoiseSVN-komennot käynnistyvät Windows-resurssienhallinnan kontekstivalikosta. Useimmat ovat heti näkyvissä, kun oikea-napsautat tiedoston tai kansion päällä. Käytettävissä olevat komennot riippuvat siitä, mikäli tiedosto, kansio tai sen isäkansio on versioitu. TortoiseSVN-valikko näkyy myös osana Resurssienhallinnan Tiedosto-valikkoa.

Vihje

Jotkut harvoin käytetyt komennot ovat saatavilla vain laajennetusta kontekstivalikosta. Saat sen näkyviin pitämällä Shift-näppäimen painettuna avatessasi kontekstivalikon hiiren oikealla näppäimellä.

Joissain tapauksissa saatat nähdä valikossa useita TortoiseSVN-kohtia. Tämä ei ole virhe!

Kuva 4.3. Pikakuvakkeen Tiedosto-valikko versioidussa kansiossa

Pikakuvakkeen Tiedosto-valikko versioidussa kansiossa


Tässä esimerkissä versioimaton pikakuvake sijaitsee versioidussa kansiossa, ja Resurssienhallinnan Tiedosto-valikossa on kolme TortoiseSVN-kohtaa. Yksi on kansiolle, yksi pikakuvakkeelle itselleen ja kolmas oliolle, johon pikakuvake viittaa. Auttaakseen sinua erottamaan ne toisistaan, kuvakkeilla on tunnus oikeassa alakulmassa näyttämään, onko valikon kohta tiedostolle, kansiolle, pikakuvakkeelle vaiko useille valituille kohteille.

Raahaa ja pudota

Kuva 4.4. Oikea-raahaa -valikko versioidulle kansiolle

Oikea-raahaa -valikko versioidulle kansiolle


TortoiseSVN-komentoja on käytettävissä myös, kun oikea-raahaat tiedostoja tai kansioita uuteen paikkaan työkopion sisällä tai kun oikea-raahaat versioimattoman tiedoston tai kansion versioituun hakemistoon.

Yleisimpien komentojen pikanäppäimiä

Joillakin tavallisilla toiminnoilla on vakiintuneet Windows-pikanäppäimet, mutta ne eivät näy painikkeissa tai valikoissa. Jos et keksi, miten saada tehtyä jotain ilmeistä, esim. ikkunan päivitys, tarkista oheinen lista.

F1

Käyttöohje (tietenkin).

F5

Päivitä nykyinen ikkuna. Tämä on kenties kaikkein hyödyllisin yhden näppäimen komento. Esimerkiksi Resurssienhallinnassa se päivittää työkopiosi kuvakepäällykset. Arkistoon toimitusikkunassa se käy työkopiosi uudelleen läpi etsien uutta toimitettavaa. Loki-ikkunassa se ottaa yhteyden arkistoon ja hakee uusimmat muutokset.

Ctrl-A

Valitse kaikki. Tätä voi käyttää, mikäli saat virheilmoituksen ja haluat kopioida ja liimata sen sähköpostiviestiin. Paina Ctrl-A valitaksesi virheilmoituksen ja sitten...

Ctrl-C

Kopioi valittu teksti. Mikäli valintaa ei ole, aktiivisen listavalinnan tai viesti-ikkunan sisältö kopioidaan leikepöydälle.

Tunnistaminen

Mikäli arkisto käyttää salasanasuojausta, esiin aukeaa tunnistusikkuna.

Kuva 4.5. Tunnistusikkuna

Tunnistusikkuna


Syötä käyttäjätunnuksesi ja salasanasi. Valintaruudun avulla voit tallettaa tiedot Subversionin oletushakemiston %APPDATA%\Subversion\auth kolmeen alihakemistoon:

  • svn.simple sisältää tiedot perustunnistukseen (käyttäjätunnus/salasana). Huomaa, että salasanat talletetaan WinCrypt-APIn avulla, ei pelkkänä tekstinä.

  • svn.ssl.server sisältää SSL-palvelinsertifikaatit.

  • svn.username sisältää tiedot pelkän käyttäjänimen avulla tapahtuvaan tunnistukseen (salasanaa ei tarvita).

Mikäli haluat tyhjentää talletetut tunnistetiedot, voit tehdä sen TortoiseSVN:n asetusikkunan Tallennetut tiedot -sivulla. Painike Tyhjennä kaikki poistaa talletetut tunnistetiedot kaikista arkistoista. Painike Tyhjennä... puolestaan avaa ikkunan, josta voit valita poistettavat yksittäiset tunnistetiedot. Katso myös ”Tallennettujen tietojen asetukset”.

Jotkut käyttäjät haluavat, että tunnistustiedot poistetaan, kun Windows suljetaan tai siitä kirjaudiutaan ulos. Tämä voidaan tehdä uloskirjautumiskomentojonolla, joka poistaa kansion %APPDATA%\Subversion\auth, esim.

@echo off
rmdir /s /q "%APPDATA%\Subversion\auth"

Verkkosivusto http://www.windows-help-central.com/windows-shutdown-script.html sisältää ohjeita tällaisten komentojonojen käyttämiseen.

Katso ”Arkiston käyttö” saadaksesi lisätietoja tunnistuksen ja saantioikeuksien määrittelystä SVN-palvelimelle.

Ikkunoiden maksimointi

Monet TortoiseSVN-ikkunat sisältävät paljon tietoa, ja voit joutua kasvattamaan niiden kokoa. Usein on kuitenkin hyödyllisempää kasvattaa pelkästään korkeutta, tai pelkästään leveyttä, kun maksimoida ikkuna näytön kokoiseksi. Tämän helpottamiseksi Suurenna-painikkeella on lisätoimintoja: hiiren keskinäppäin suurentaa pystysuunnassa, ja hiiren oikea näppäin suurentaa vaakasuunnassa.

Tiedon tuonti arkistoon

Tuo

Jos olet tuomassa uutta projektia arkistoon, joka sisältää olemassa olevia projekteja, on kansiorakenne jo kiinnitetty. Jos sen sijaan olet tuomassa projektia uuteen arkistoon, kannattaa miettiä hetki arkiston rakenteen organisointia. Luku ”Arkiston rakenne” käsittelee asiaa tarkemmin.

Tämä luku kuvaa Subversionin tuontikomennon, joka suunniteltiin kansiohierarkian tallettamiseksi arkistoon yhdellä kertaa. Vaikka tämä onnistuukin, komennossa on muutamia puutteita:

  • Tuotavia tiedostoja ja kansioita ei voi valita muuten kuin käyttämällä yleisiä ohitusasetuksia.

  • Tuotu kansio ei automaattisesti muutu työkopioksi, vaan sinun on haettava työkopio palvelimelta eri komennolla.

  • On helppoa vahingossa tuoda tiedostot arkistoon väärälle kansiotasolle.

Näistä syistä suosittelemme, ettet käytä tuontikomentoa, vaan noudatat sen sijaan luvussa ”Tuonti arkistoon työkopion kautta” kuvattua kaksivaiheista menetelmää (kolmas vaihtoehto on luoda yksinkertainen /trunk /tags /branches -rakenne arkistoosi). Seuraavat kappaleet kuvaavat kuitenkin itse tuontikomennon toiminnan.

Ennen kuin tuot projektisi arkistoon sinun tulee:

  1. Poistaa kaikki tiedostot, joita ei tarvita projektin rakentamiseen (väliaikaiset tiedostot, kääntäjän tuottamat tiedostot, esim. *.obj, käännetyt binääritiedostot, ...)

  2. Järjestää tiedostot kansioihin ja alikansioihin. Vaikka on mahdollista nimetä tiedostot ja siirtää niitä myöhemmin, on suositeltavaa laittaa projektirakenne kuntoon ennen tuontia!

Valitse nyt projektisi kansiorakenteen juurihakemisto Windows Resurssienhallinnassa ja napsauta hiire oikeaa näppäintä avataksesi kontekstivalikon. Valitse komento TortoiseSVNTuo arkistoon... joka avaa seuraavan ikkunan:

Kuva 4.6. Tuonti-ikkuna

Tuonti-ikkuna


Tähän ikkunaan sinun on annettava arkistopaikannin, johon haluat tuoda projektisi. On tärkeää muistaa, että paikallinen kansio, jota olet tuomassa, ei itse siirry arkistoon, vain sen sisältö. Jos kansiorakenteesi näyttää esimerkiksi seuraavalta:

C:\Projects\Widget\source
C:\Projects\Widget\doc
C:\Projects\Widget\images

ja tuot kansion C:\Projects\Widget arkistopaikantimeen http://mydomain.com/svn/trunk, saatat yllättyä havaitessasi, että alikansiosi ovat suoraan hakemistossa trunk alihakemiston Widget sijaan. Alikansio on annettava osana paikanninta: http://mydomain.com/svn/trunk/Widget-X. Huomaa, että tuontikomento luo automaattisesti alikansiot arkistoon, jos niitä ei vielä ole olemassa.

Tuontiviestiä käytetään lokiviestinä.

Oletusarvoisesti tiedostoja ja kansioita, jotka täsmäävät yleisen ohituslistan (global ignore pattern) kanssa, ei tuoda. Muuttaaksesi tätä käytäntöä voit ruksata Ota mukaan ohitetut tiedostot -valintalaatikon. Katso luvusta ”Yleiset asetukset” lisätietoa globaalin ohituslausekkeen asettamisesta.

Heti napsautettuasi OK-näppäintä TortoiseSVN tuo koko hakemistopuun kaikki tiedostot arkistoon. Projekti on nyt talletettu arkiston versionhallintaan. Huomaa, että kansio itse EI kuitenkaan versioidu! Saadaksesi työkopion juuri arkistoon tuoduista tiedostoista sinun on erikseen haettava niistä työkopio. Seuraavassa luvussa kuvataan vaihtoehtoinen tekniikka, jonka avulla voit tuoda tiedostot arkistoon ja luoda työkopion samalla kertaa.

Tuonti arkistoon työkopion kautta

Olettaen että sinulla on jo arkisto ja haluat lisätä siihen uuden kansiorakenteen, seuraa seuraavia ohjeita:

  1. Käytä arkistoselainta luodaksesi uuden projektikansion suoraan arkistoon. Jos käytät arkistossasi jotain vakioitua rakennetta, kansio kannattaa luoda päähaaran alikansioksi arkiston juuren sijaan. Arkistoselain näyttää arkiston rakenteen Windows-resurssienhallinnan tapaan, joten näet helposti, miten se on organisoitu.

  2. Hae työkopio uudesta kansiosta siihen kansioon, jonka haluat tuoda. Näet varoituksen, että paikallinen kansio ei ole tyhjä. Älä välitä siitä. Nyt sinulla on versioitu ylätason kansio, jossa on versioimatonta sisältöä.

  3. Käytä komentoa TortoiseSVNLisää... versioidussa kansiossa lisätäksesi muun sisällön. Voit lisätä ja poistaa tiedostojaon asettaa svn:ignore ominaisuuksia kansioille ja tehdä muita tarvittavia muutoksia.

  4. Toimita ylätason kansio arkistoon ja näin olet versioinut olemassa olevan kansiosi sekä saanut siitä paikallisen työkopion.

Erikoistiedostot

Joskus joudut versioimaan tiedoston, joka sisältää käyttäjäkohtaisia tietoja. Toisin sanoen jokainen käyttäjä/kehittäjä joutuu muokkaamaan sitä omiin tarpeisiinsa soveltuvaksi. Tällaisen tiedoston versiointi on kuitenkin vaikeaa, koska jokainen käyttäjä toimittaa joka kerta omat muutoksensa arkistoon.

Tällaisissa tapauksissa kannattaa käyttää tiedostopohjia. Luot tiedoston, joka sisältää kaikki kehittäjien tarvitsemat tiedot, lisäät sen versionhallintaan ja annat kehittäjien noutaa sen. Jokainen kehittäjä voi sitten tehdä kopion tiedostosta ja nimetä sen uudelleen. Tämän jälkeen kopion muokkaus ei ole enää ongelma.

Voit esimerkiksi vilkaista TortoiseSVN:n käännöskomentojonoa. Se kutsuu tiedostoa nimeltä default.build.user, jota ei ole arkistossa. Arkistossa on vain tiedosto default.build.user.tmpl, joka on pohja, josta kehittäjän on tehtävä kopio nimellä default.build.user. Tiedosto sisältää kommentteja, joista selviää, mitä rivejä pitää muuttaa paikallisia asetuksia vastaaviksi, jotta käännös toimisi.

Lopuksi lisäsimme vielä tiedoston default.build.user isähakemistonsa ohituslistaan, ts. sisällytimme sen Subversion-ominaisuuteen svn:ignore. Siten se ei turhaan näy toimitusikkunassa.

Työkopion hakeminen

Saadaksesi työkopion sinun on haettava työkopio arkistosta.

Valitse Windowsin Resurssienhallinnasta hakemisto, johon haluat sijoittaa työkopiosi. Oikea-napsauta avataksesi kontekstivalikon ja anna sitten komento TortoiseSVNHae työkopio..., joka avaa seuraavan ikkunan:

Kuva 4.7. Työkopion hakuikkuna

Työkopion hakuikkuna


Jos syötät kansionimen, jota ei vielä ole olemassa, se luodaan automaattisesti.

Tärkeää

Oletusarvoisesti työkopion hakukomento ei sijaitse TortoiseSVN-alivalikossa vaan Resurssienhallinnan päävalikossa. TortoiseSVN-komennot, jotka eivät sijaitse alivalikossa, sisältävät SVN -etuliitteen: SVN Hae työkopio...

Työkopion haun syvyys

Hakiessasi työkopiota voit valita syvyyden, joka määrittää, miten syvälle alikansioihin työkopion haku etenee. Mikäli haluat vain muutamia osia suuresta versiopuusta, voit hakea työkopion vain ylätasolta ja päivittää sitten tarvittavat alikansiot palautuvasti.

Täysin palautuva

Hae työkopio koko puusta, mukaan lukien alikansiot sisältöineen.

Välittömät lapset (myös kansiot)

Hae työkopio määritellystä hakemistosta, mukaan lukien kaikki tiedostot ja välittömät alikansiot. Älä kuitenkaan kansoita alikansioita.

Vain tiedostot

Hae työkopio määritellystä hakemistosta, mukaan lukien kaikki tiedostot, mutta ei alikansioita.

Väin tämä kohde

Hae työkopio vain tästä kansiosta. Älä kansoita sitä tiedostoilla tai alikansioilla.

Työkopio

Säilytä työkopion määrittelemä syvyys. Tätä vaihtoehtoa ei käytetä työkopion hakuikkunassa, mutta se on oletusarvo kaikille muille toiminnoille, jotka käyttävät syvyysasetusta.

Jätä pois

Käytetään pienentämään työkopion syvyyttä, kun kansio on jo noudettu. Tämä valinta on käytettävissä ainoastaan Päivitä versioon -ikkunassa.

Voit helposti muodostaa työkopion vain osasta arkistoa siten, että työkopio muistaa valitut osat. Tämä tapahtuu napsauttamalla painiketta Valitse kohteet... ja valitsemalla avautuvasta ikkunasta työkopioon lisättävät kohteet. Tällaista työkopiota kutsutaan epätäydelliseksi (engl. sparse). Kun päivität epätäydellisen työkopion, puuttuvia kohteita ei lisätä, vaan päivitys koskee pelkästään jo olemassa olevaa työkopion sisältöä.

Jos noudat epätäydellisen työkopion (valitsemalla syvyydeksi jotain muuta kuin täysin palautuva), voit myöhemmin helposti lisätä tai poistaa alihakemistoja jollain seuraavista tavoista.

Epätäydellinen päivitys komennon Päivitä versioon kanssa

Oikea-napsauta versioitua kansiota ja valitse komento TortoiseSVNPäivitä versioon. Painikkeen Valitse kohteet... avulla voit lisätä tai poistaa päivitykseen sisältyviä kansioita. Tämä tapa on näppärä, mutta voi olla hidas, koska kukin kohde päivitetään erikseen.

Epätäydellinen päivitys arkistoselaimessa

Oikea-napsauta versioitua kansiota ja valitse komento TortoiseSVNArkistoselain selataksesi arkiston sisältöä. Etsi hakemisto, jonka haluat sisällyttää työkopioon ja valitse komento KontekstivalikkoPäivitä kohde versioon….

Epätäydellinen päivitys Tarkista muutokset -ikkunassa

Napsauta Tarkista muutokset -ikkunan painiketta Tarkista arkisto pitämällä samalla shift-näppäin painettuna. Ikkuna näyttää kaikki arkistosta löytyvät tiedostot ja kansiot, joita et ole hakenut työkopioosi, tilassa lisätty etänä. Oikea-napsauta kansioita, jotka haluat lisätä työkopioosi ja anna komento Kontekstivalikko

Tämä ominaisuus on näppärä, kun haluat hakea työkopioosi osia suuresta hakemistopuusta, säilyttäen silti mahdollisuuden päivitykseen yhdellä operaatiolla. Jos hakemistopuussasi on esimerkiksi alihakemistot Project01 ... Project99, ja haluat työkopion vain kansioista Project03, Project25 ja Project76/SubProj, toimi seuraavasti:

  1. Hae työkopio projektit sisältävästä kansiosta syvyydellä Vain tämä kohde. Sinulla on nyt tyhjä juurihakemisto.

  2. Valitse uusi kansio ja käytä komentoa TortoiseSVNArkistoselain tutkiaksesi arkiston sisältöä.

  3. Valitse kansio Project03 ja anna komento KontekstivalikkoPäivitä tiedosto versioon.... Hyväksy oletusarvot napsauttamalla OK. Valittu kansio on nyt haettu kokonaisuudessaan.

    Toista sama kansiolle Project25.

  4. Toista sama kansiolle Project76/SubProj. Huomaa tällä kertaa, että kansio Project76 sisältää pelkästään hakemiston SubProj, joka on haettu kokonaisuudessaan. Subversion luo tarvittavat välikansiot automaattisesti.

Työkopion syvyyden muuttaminen

Kun olet kerran hakenut työkopion tietyllä syvyydellä, voit vaihtaa syvyyttä myöhemmin komennolla KonstekstivalikkoPäivitä kohde versioon.... Muista asettaa avautuvassa ikkunassa valinta Tee syvyydestä tarttuva.

Vanhan palvelinversion käyttö

Palvelimet, joiden versio on 1.4.x tai vanhempi, eivät tue työkopion syvyysominaisuutta, joten ne eivät aina optimaalisesti. Komennot toki toimivat, mutta vanhemmat palvelimet saattavat lähettää kaiken tiedon, jolloin verkkoliikennettä tulee paljon. Jos mahdollista, kannattaa palvelin päivittää ainakin versioon 1.5.

Mikäli projekti viittaa ulkoisiin projekteihin, joita et halua noutaa samalla kertaa, ruksaa valintaruutu Ohita ulkoiset polut.

Tärkeää

Kun Ohita ulkoiset polut on valittu, tai kun haluat kasvattaa haun syvyyttä, sinun on päivitettävä työkopiotasi käyttämällä komentoa TortoiseSVNPäivitä versioon... komennon TortoiseSVNPäivitä sijaan. Normaali päivitys ottaa mukaan kaikki ulkoiset viitteet ja säilyttää työkopion nykyisen hakusyvyyden.

Suositamme, että haet työkopion vain tiedostopuun trunk-haarasta tai alempaa. Jos haet koko tiedostopuun, kiintolevysi saattaa täyttyä, koska saat kopion koko arkistosta, mukaan lukien kaikki projektin haarat ja merkityt versiot!

Vienti

Saatat joskus haluta luoda työkopiosta kopion ilman Subversion-metatietoja (.svn-hakemistot), esim. luodaksesi lähdekoodeista zip-paketin. Luvussa ”Subversion-työkopion vienti” kerrotaan, miten se onnistuu.

Muutosten toimittaminen arkistoon

Työkopioosi tehtyjen muutosten lähettämistä arkistoon kutsutaan muutosten toimittamiseksi. Ennen toimitusta sinun on varmistettava, että työkopiosi on ajan tasalla. Voit käyttää joko komentoa TortoiseSVNPäivitä suoraan tai tarkistaa ensin komennolla TortoiseSVNTarkista muutokset, mitkä tiedostot ovat muuttuneet paikallisesti ja/tai palvelimella.

Toimitusikkuna

Kun työkopiosi on päivitetty eikä siinä ole ristiriitoja, olet valmis toimittamaan muutoksesi arkistoon. Valitse toimitettavat kansiot ja/tai tiedostot ja suorita komento TortoiseSVNToimita....

Kuva 4.8. Toimitusikkuna

Toimitusikkuna


Toimitusikkuna näyttää kaikki muuttuneet tiedostot, mukaan lukien lisätyt, poistetut ja versioimattomat tiedostot. Jos et halua toimittaa jotain muuttunutta tiedostoa, poista sen valinta. Jos taas haluat sisällyttää toimitukseen versioimattoman tiedoston, ruksaa sen valinta.

Voit nopeasti valita tai poistaa valinnan kaikilta tietyn tyyppisiltä tiedostoilta napsauttamalla jotain tiedostolistan yläpuolella olevista linkeistä.

Luvussa ”Paikallinen ja etätila” on kuvattu, miten tiedostojen tilan mukaan tapahtuva väritys ja kuvakepäällykset toimivat.

Kohteet, jotka on vaihdettu osoittamaan toiseen arkistopolkuun, on merkitty (s)-merkillä. Olet saattanut esim. vaihtaa työkopion polkuja työskennellessäsi jossain haarassa ja unohtanut vaihtaa takaisin päähaaraan. Tämä on varoitus siitä!

Toimittaako tiedostoja vai kansioita?

Kun toimitat tiedostoja, toimitusikkuna näyttää vain valitsemasi tiedostot. Kun toimitat kansion, toimitusikkuna valitsee muuttuneet tiedostot automaattisesti. Jos unohdat lisätä luomasi uuden tiedoston, kansion toimitus löytää sen silti. Kansion toimittaminen ei tarkoita, että kaikki sen tiedostot merkitään muuttuneiksi; se vain helpottaa elämääsi etsimällä muutokset.

Useita versioimattomia tiedostoja toimitusikkunassa

Jos toimitusikkuna näyttää mielestäsi liikaa versioimattomia tiedostoja (esim. kääntäjän tuottamia tai varmistuksia), voit vaikuttaa tähän monella tapaa:

  • lisää tiedosto (tai tiedostojoukko, esim. *.obj) pois jätettävien tiedostojen listaan asetusikkunassa. Tämä vaikuttaa kaikkiin työkopioihisi.

  • lisää tiedosto svn:ignore-listaan antamalla komento TortoiseSVNLisää ohituslistaan. Tämö vaikuttaa vain hakemistoon, jolle asetat svn:ignore-ominaisuuden. Voit muuttaa hakemiston svn:ignore-ominaisuutta myös ominaisuuseditorin kautta.

  • lisää tiedosto svn:global-ignores -listaan komennolla TortoiseSVNLisää ohituslistaan (palautuvasti). Tämä vaikuttaa hakemistoon, jolle svn:global-ignores -ominaisuus on asetettu sekä sen kaikkiin alihakemistoihin.

Katso yksityiskohdat luvusta ”Tiedostojen ja kansioiden ohittaminen”.

Kaksoisnapsautus jonkin muutetun tiedoston päällä toimitusikkunassa käynnistää vertailutyökalun muutostesi näyttämiseksi. Kontekstivalikossa on lisää toimintoja, kuten oheinen kuva näyttää. Voit myös raahata tiedostoja toiseen sovellukseen kuten tekstieditoriin tai kehitysympäristöön.

Voit valita tai poistaa kohteitten valinnan napsauttamalla valintalaatikkoa niiden vasemmalla puolella. Hakemistoille voit käyttää toimintoa Shift-napsauta suorittaaksesi toiminnon palautuvasti.

Alapaneelissa näytetyt sarakkeet ovat mukautettavissa. Kun oikea-napsautat jonkin sarakeotsikon päällä, esiin aukeaa kontekstivalikko, jonka avulla näytetyt sarakkeet voi valita. Voit myös vaihtaa sarakkeen leveyttä käyttämällä raahauskahvaa, joka ilmestyy kun siirrät hiiren sarakkeiden väliselle rajalle. Mukautukset muistetaan, joten näet samat otsakkeet myös seuraavalla kerralla.

Oletusarvoisesti kaikki tiedostolukot vapautuvat onnistuneen toimituksen jälkeen. Jos haluat säilyttää lukot, varmista että valinta Pidä lukot on ruksattu. Valinnan oletusarvo otetaan no_unlock-asetuksesta Subversionin määrittelytiedostossa. Luvussa ”Yleiset asetukset” kerrotaan lisää Subversionin määrittelytiedoston muokkaamisesta.

Varoitus toimitettaessa merkittyyn versioon

Toimitukset tehdään tavallisesti päähaaraan tai sivuhaaraan, ei merkittyyn versioon. Merkitty versio on yleensä kiinnitetty eikä sen tulisi muuttua.

Mikäli toimitusta kohdistuu merkittyyn versioon, TortoiseSVN pyytää erillisen vahvistuksen. Tämä siitä syystä, että useimmiten kyseessä on vahinko.

Tämä tarkistus toimii vain, mikäli arkiston rakenne vastaa suositusta, ts. se käyttää nimiä trunk, branches ja tags erottaakseen kolme pääaluetta. Mikäli rakenne on erilainen, päähaaran, sivuhaarojen ja merkittyjen versioiden rakenne (ns. luokittelusäännöt) voidaan määritellä asetusikkunassa: ”Versiograafin asetukset”

Raahaa ja pudota

Voit raahata tiedostoja toimitusikkunaan muualta, kunhan työkopiot on haettu samasta arkistosta. Esimerkki: sinulla on valtava työkopio, ja tarvitset useita Resurssinhallintaikkunoita näyttämään kansiohierarkian kaukaisia osia. Jos haluat välttää toimitusta työkopion juurikansiosta käsin (koska muuttuneiden tiedostojen haku voi olla hidas), voit avata toimitusikkunan yhdelle kansiolle ja raahata kohteita muista ikkunoista sisällyttääksesi ne samaan toimitukseen.

Voit myös raahata toimitusikkunaan versioimattomia tiedostoja, jotka sijaitsevat työkopiossa; tällöin ne merkitään automaattisesti versioitaviksi.

Jos raahaat tiedostoja toimitusikkunan alaosasta lokiviestin syöttökenttään, tiedostopolut lisätään siihen tekstimuodossa. Tästä on hyötyä, jos haluat lokiviestin viittaavan tiedostoihin nimeltä.

Ulkoisten uudelleen nimentöjen korjaus

Joskus tiedostoja nimetään uudelleen Subversionin ulkopuolella, ja ne näkyvät toimitusikkunassa puuttuvana ja versioimattomana tiedostona. Välttääksesi menettämästä tiedoston historiaa, sinun on kerrottava Subversionille kytkennästä. Voit yksinkertaisesti valita sekä vanhan nimen (puuttuu) ja uuden nimen (versioimaton) sekä käyttää komentoa KontekstivalikkoKorjaa siirto tulkitaksesi tiedostoparin uudelleennimennäksi.

Versioimattomien kopioiden korjaus (kytkeminen versionhallintaan)

Jos unohdit käyttää SVN-komentoa tiedoston kopioimiseen, voit korjata kopion siten, ettei uusi tiedosto menetä historiaansa. Tämä tapahtuu seuraavasti: valitse sekä vanha nimi (normaali tai muokattu) ja uusi nimi (versioimaton) ja käytä komentoa KontekstivalikkoKorjaa kopio tulkitaksesi tiedostoparin kopioksi.

Muutoslistat

Toimitusikkuna tukee Subversionin muutoslistoja, joiden avulla toisiinsa liittyvät tiedostot voi niputtaa yhteen. Ominaisuudesta kerrotaan lisää luvussa ”Muutoslistat”.

Toimita vain osia tiedostoista

Joskus on tarpeen pystyä toimittamaan vain osa tiedostoon tehdyistä muutoksista. Tällainen tilanne sattuu tavallisesti, kun olet työstämässä jotain toimintoa, mutta kiireinen korjaus vaatii riippumatonta muutosta tiedostoon, jota olet jo muuttanut.

oikea-napasauta tiedostoa ja anna komento KontekstivalikkoPalauta toimituksen jälkeen. Tämä luo kopion tiedostosta sen hetkisessä tilassaan., minkä jälkeen voit muokata tiedostoa vapaasti ja poistaa muutokset, joita et halua mukaan. Kun olet valmis, talleta muutokset ja toimita ne arkistoon.

TortoiseMergen käyttö

Jos muokkaat tiedostoa TortoiseMergen avulla, voit joko tehdä muutoksia tavalliseen tapaan tai vaihtoehtoisesti merkitä ne muutokset, jotka haluat ottaa mukaan. Merkintä tehdään Oikea-napsauttamalla muutettua tekstilohkoa ja valitsemalla komento KontekstivalikkoMerkitse tämä muutos. Komento KontekstivalikkoJätä vain merkityt muutokset puolestaan muuttaa oikeaan näkymään vain merkityt muutokset ja poistaa ne muutokset, joita ei ole merkitty.

Kun toimitus on valmis, tiedoston kopio palautetaan automaattisesti, ja sinulla on taas muuttunut tiedosto, jonka muutoksia ei ole vielä arkistossa.

Kohteiden ohittaminen toimitusikkunassa

Joskus on tarpeen versioida tiedostoja, jotka muuttuvat usein, mutta joita et oikeastaan halua toimittaa arkistoon. Tämä voi olla merkki huonosta ohjelmiston rakennusprosessista - miksi tiedostot on ylipäätään versioitu? Olisiko parempi käyttää kaavaintiedostoja? Versiointi on kuitenkin välttämätöntä, jos kehitysympäristösi esimerkiksi muuttaa projektitiedoston aikaleimaa jokaisen käännöksen yhteydessä. Projektitiedosto on tietenkin versioitava, koska se sisältää kaikki käännösasetukset; toisaalta sitä ei haluta toimittaa arkistoon pelkän aikaleiman muuttumisen vuoksi.

Näitä hankalia tilanteita voi helpottaa käyttämällä erityistä ignore-on-commit -muutoslistaa. Kaikki tämän listan tiedostot jäävät oletusarvoisesti pois arkistotoimituksesta. Voit yhä toimittaa ne, mutta tämä vaatii tiedostojen valitsemista erikseen toimitusikkunassa.

Toimituksen lokiviestit

Muista syöttää lokiviesti, joka kuvaa muutoksia, joita olet toimittamassa. Tämä auttaa sinua näkemään, mitä milloinkin tapahtui, kun myöhemmin selaat projektilokia. Viesti voi olla niin pitkä tai lyhyt kuin haluat; monilla projekteilla on sovittu käytäntö lokiviestin sisällölle ja käytettävälle kielelle - joskus jopa yksityiskohtaiselle rakenteelle.

Voit muotoilla lokiviestiäsi yksinkertaisesti käyttämällä saman tapaista muotoilua kuin sähköpostiviesteissä. Muotoillaksesi tekstin kirjoita *tekstin* lihavoidaksesi, _tekstin_ alleviivataksesi ja ^tekstin^ kursivoidaksesi sen.

Kuva 4.9. Toimitusikkunan oikeinkirjoituksen tarkastus

Toimitusikkunan oikeinkirjoituksen tarkastus


TortoiseSVN sisältää oikeinkirjoituksen tarkistuksen, joka auttaa lokiviestin kirjoituksessa. Työkalu korostaa kaikki väärin kirjoitetut sanat. Käytä kontekstivalikkoa ottaaksesi käyttöön ehdotetut korjaukset. Työkalu ei tietenkään tunne kaikkia sinun tuntemiasi teknisiä termejä, joten oikein kirjoitetut sanatkin näkyvät joskus virheinä. Voit tällöin lisätä ne omaan sanastoosi kontekstivalikon avulla.

Lokiviesti-ikkunassa on myös tiedosto- ja funktionimien automaattinen täydennys. Työkalu käyttää säännöllisiä lausekkeita hakeakseen luokkien ja funktioiden nimiä niistä tekstitiedostoista, joita olet toimittamassa arkistoon. Jos sana, jota olet kirjoittamassa, täsmää minkään listalla olevan kanssa (kirjoitettuasi vähintään kolme merkkiä tai painettuasi Ctrl+Välilyönti), näkyviin ilmestyy pudotusvalikko, josta voit valita koko nimen. TortoiseSVN:n mukana tulevat säännölliset lausekkeet sijaitsevat TortoiseSVN-asennuksen bin-hakemistossa. Voit määritellä omia lausekkeitasi ja tallettaa ne tiedostoon %APPDATA%\TortoiseSVN\autolist.txt. Tämä tiedosto ei häviä, jos päivität TortoiseSVN-asennuksen. Jos et tunne säännöllisiä lausekkeita, tutustu niihin osoitteessa https://en.wikipedia.org/wiki/Regular_expression. Käyttöohjeen ja aloittelijan oppaan löydät osoitteesta https://www.regular-expressions.info/.

Säännöllisen lausekkeen säätäminen toimivaksi voi olla työlästä. Tästä syystä TSVN sisältää testi-ikkunan, johon voi syöttää säännöllisen lausekkeen ja tiedostonimiä, joita vastaan sitä testataan. Käynnistys tapahtuu komennolla TortoiseProc.exe /command:autotexttest.

Lokiviesti-ikkuna sisältää myös viestikatkelmatoiminnon. Katkelmat näytetään automaattisen täydennyksen pudotusvalikossa, kun näppäilet katkelman pikavalinnan. Katkelman valinta lisää koko katkelman lokiviestiin. TortoiseSVN-asennuksen mukana tulee joukko oletuskatkelmia, jotka sijaitsevat asennushakemiston kansiossa bin. Voit myös lisätä omia katkelmiasi tiedostoon %APPDATA%\TortoiseSVN\snippet.txt. Katkelmatiedostossa merkki # aloittaa kommenttirivin, merkit \n ja \r lisäävät rivinvaihdon ja merkki \\ lisää kenoviivan.

Voit käyttää uudelleen aiemmin syötettyjä lokiviestejä. Napsauta Viimeisimmät viestit nähdäksesi luettelon viimeisimmistä tälle työkopiolle syötetyistä viesteistä. Talletettujen viestien määrän voi muuttaa TortoiseSVN:n asetuksista.

Voit tyhjentää kaikki talletetut toimitusviestit TortoiseSVN:n asetuksien sivulta Talletetut tiedot. Voit myös tyhjentää yksittäisiä viestejä Viimeisimmät viestit-ikkunasta käyttämällä Delete-näppäintä.

Jos haluat sisällyttää valitut polut lokiviestiin, voit käyttää komentoa KontekstivalikkoLiitä tiedostonimilista lokiviestin syöttöikkunassa.

Toinen keino lisätä polkuja lokiviestiin on yksinkertaisesti raahata tiedostot tiedostolistasta lokiviestin syöttöikkunaan.

Erityiset kansio-ominaisuudet

TortoiseSVN:ssä on erityisiä kansio-ominaisuuksia, joita voi käyttää lokiviestien pakotettuun muotoiluun, oikeinkirjoitusmodulin kielen valintaan jne. Lue lisätietoja luvusta ”Projektiasetukset”.

Kytkentä vikaseurantatyökaluihin

Jos olet aktivoinut vikaseurantaintegraation, voit luetella yhden tai useampia virheitä Vikatunnus:-kentässä. Virheet erotetaan pilkuilla. Jos olet asettanut vikaseurannan käyttämään säännöllisiä lausekkeita, voit vaihtoehtoisesti lisätä asiaviitteet suoraan osaksi lokiviestiä. Katso lisää luvusta ”Integrointi vikaseurantaohjelmiin”.

Toimituksen eteneminen

Napsautettuasi OK esiin aukeaa ikkuna, joka näyttää toimituksen edistymisen.

Kuva 4.10. Edistymisikkuna näyttää toimituksen vaiheet

Edistymisikkuna näyttää toimituksen vaiheet


Edistymisikkuna käyttää värikoodausta korostaakseen eri toimintoja

Sininen

Toimittamassa muutosta.

Purppura

Toimittamassa lisäystä.

Tummanpunainen

Toimittamassa poistoa tai korvausta.

Musta

Kaikki muut kohteet.

Tässä on lueteltu oletusarvoiset värit, mutta voit mukauttaa värejä käyttämällä asetusikkunaa. Tätä on kuvattu tarkemmin luvussa ”Väriasetukset”.

Päivitä työkopioosi muiden tekemät muutokset

Kuva 4.11. Edistymisikkuna päättyneen päivityksen jälkeen

Edistymisikkuna päättyneen päivityksen jälkeen


Sinun kannattaa ajoittain varmistaa, että muitten tekemät muutokset päätyvät paikalliseen työkopioosi. Toimenpidettä, jolla haet muutokset palvelimelta paikalliseen työkopioosi, kutsutaan päivittämiseksi. Päivitys voidaan tehdä yksittäisille tiedostoille, joukolle valittuja tiedostoja, tai palautuvasti kokonaisille hakemistopuille. Kun haluat päivittää, valitse haluamasi tiedostot ja/tai kansiot ja oikea-napsauta kontekstivalikon komento TortoiseSVNPäivitä. Esiin aukeaa ikkuna, joka näyttää päivityksen etenemisen. Muitten tekemät muutokset yhdistetään tiedostoihisi, säilyttäen kaikki sinun samaisiin tiedostoihin mahdollisesti tekemäsi muutokset. Arkisto ei muutu päivityksen seurauksena.

Edistymisikkuna käyttää värikoodausta korostaakseen erilaisia päivitystoimenpiteitä

Purppura

Uusi työkopioosi lisätty kohde.

Tummanpunainen

Päällekkäinen tai työkopiosta puuttunut, poistettu/korvattu kohde

Vihreä

Arkiston muutokset yhdistetty onnistuneesti paikallisten muutosten kanssa.

Kirkkaan punainen

Arkiston muutokset yhdistetty paikallisten muutosten kanssa tuottaen ristiriitoja, jotka sinun on ratkaistava.

Musta

Työkopiossasi oleva muuttumaton kohde, joka on päivitetty arkiston uudempaan versioon.

Tässä on lueteltu oletusarvoiset värit, mutta voit mukauttaa värejä käyttämällä asetusikkunaa. Tätä on kuvattu tarkemmin luvussa ”Väriasetukset”.

Jos päivitys tuottaa ristiriitoja (näin voi käydä, jos toiset ovat muuttaneet samoja rivejä samassa tiedostossa kuin sinä, ja muutokset eivät täsmää), niin ikkuna näyttää ne punaisella. Voit kaksoisnapsauttaa näitä rivejä käynnistääksesi ulkoisen yhdistämistyökalun ratkaistaksesi ristiriidat.

Kun päivitys on valmis, edistymisikkuna näyttää yhteenvedon päivitettyjen, lisättyjen, poistettujen, ristiriitaisten jne. kohteitten lukumääristä tiedostolistan alapuolella. Tämä yhteenveto voidaan kopioida leikepöydälle komennolla Ctrl+C.

Normaalilla päivityskomennolla ei ole valitsimia; se päivittää työkopiosi vastaamaan arkiston HEAD-versiota, mikä onkin yleisin käyttötapaus. Jos haluat lisää kontrollia päivitykseen, käytä komentoa TortoiseSVNPäivitä versioon.... Komennon avulla voit päivittää työkopion johonkin tiettyyn versioon uusimman asemasta. Jos työkopiosi on esimerkiksi versiossa 100, mutta haluat sen versiota 50 vastaavaan tilaan, voit tehdä sen yksinkertaisesti päivittämällä versioon 50.

Samassa ikkunassa voit myös valita syvyyden, johon nykyinen kansio päivitetään. Vaihtoehdot on kuvattu luvussa ”Työkopion haun syvyys”. Oletussyvyys on Työkopio, joka säilyttää työkopion nykyisen syvyysasetuksen. Voit myös asettaa syvyyden tarttuvaksi, jolloin seuraavat päivitykset muistavat käytetyn syvyyden.

Valitaksesi tai jättääksesi pois tiettyjä osia työkopiosta anna komento Valitse kohteet…. Esiin aukeavasta ikkunasta voit valita ja jättää pois haluamasi alkiot.

Voit myös valita, ohittaako päivitys ulkoiset viittaukset (t.s. projektit, joihin viitataan svn:externals-määreellä).

Varo

Jos päivität tiedoston tai kansion tiettyyn versioon, sinun ei pitäisi muuttaa sitä. Saat muuten vanhentunut -virheilmoituksia koettaessasi toimittaa niitä! Jos haluat perua joitakin tiedostoon tehtyjä muutoksia arkistossa, voit peruuttaa (rollback) edeltävään versioon versiolokista käsin. Katso lisäohjeita ja vaihtoehtoisia toimintatapoja luvusta ”Peruuta arkistoon tehtyjä muutoksia”.

Komento Päivitä versioon voi joskus olla hyödyllinen, kun haluat nähdä, miltä projektisi näytti aiemmin. Mutta yleensä ottaen yksittäisten tiedostojen päivitys edeltävään versioon ei ole hyvä ajatus, koska se jättää työkopiosi epäyhtenäiseen tilaan. Mikäli tiedosto, jota olet päivittämässä, on vaihtanyt nimeä, voit jopa havaita, että se yksinkertaisesti katoaa työkopiostasi, koska sen nimistä tiedostoa ei ollut olemassa aiemmassa versiossa. Huomaa myös, että kohde näytetään normaalin vihreän kuvakepäällyksen kera, joten se ei eroa tiedostoista, jotka ovat ajan tasalla.

Jos tarvitset vain paikallisen kopion tiedoston edeltävästä versiosta, on parempi käyttää komentoa KontekstivalikkoTallenna versio nimellä.... ko. tiedoston versiolokista.

Useita tiedostoja/kansioita

Jos valitset useita tiedostoja ja kansioita Resurssienhallinnassa ja valitset sitten komennon Päivitä, kaikki valitut tiedostot/kansiot päivitetään yksi kerrallaan. TortoiseSVN varmistaa, että kaikki tiedostos/kansiot, jotka ovat samasta arkistosta, päivitetään täsmälleen samaan versioon! Tämä toimii, vaikka päivityksen aikana tapahtuisi lisää toimituksia.

Ristiriitojen ratkonta

Silloin tällöin saat ilmoituksen ristiriidasta päivittäessäsi tai yhdistäessäsi tiedostojasi arkistosta tai vaihtaessasi työkopiosi osoittamaan uuteen paikantimeen. On olemassa kahden tyyppisiä ristiriitoja:

tiedostoristiriidat

Tiedostoristiriita syntyy, kun kaksi (tai useampia) kehittäjää on muuttanut jonkin tiedoston samoja rivejä.

puuristiriidat

Puuristiriita syntyy, kun kehittäjä siirtää/nimeää uudelleen/poistaa tiedoston tai kansion, jonka joku toinen kehittäjä on myös siirtänyt/nimennyt uudelleen/poistanut, tai jota hän on pelkästään muokannut.

Tiedostoristiriidat

Tiedostoristiriita syntyy, kun kaksi tai useampia kehittäjiä on muuttanut samoja rivejä jossain tiedostossa. Koska Subversion ei tiedä mitään projektistasi, se jättää ristiriitojen ratkonnan kehittäjän vastuulle. Ristiriitainen alue merkitään tekstitiedostoissa seuraavasti:

<<<<<<< tiedostonimi
    sinun muutoksesi
=======
    arkistosta yhdistetyt muutokset
>>>>>>> versio

Tämän lisäksi Subversion luo jokaista ristiriitaista tiedostoa kohti kolme ylimääräistä tiedostoa hakemistoosi:

tiedostonimi.mine

Tämä on sinun tiedostosi sellaisena, kun se löytyi työkopiostasi ennen kuin päivitit työkopiosi - siis ilman ristiriitamerkintöjä. Tässä tiedostossa ovat viimeisimmät muutoksesi, eikä muuta.

tiedostonimi.rVANHAVERSIO

Tämä tiedosto oli kantaversio (BASE) ennen kuin päivitit työkopiosi. Toisin sanoen se tiedosto, jonka viimeksi hait ennen kuin aloit muuttaa sitä.

tiedostonimi.rUUSIVERSIO

Tämä on se tiedosto, jonka Subversion-asiakas vastaanotti palvelimelta kun päivitit työkopiosi. Tämä tiedosto vastaa arkiston uusinta (HEAD) versiota.

Voit joko käynnistää ulkoisen yhdistämistyökalun komennolla TortoiseSVNMuokkaa ristiriitoja/guimenuitem> tai voit k.

Suorita lopuksi komento TortoiseSVNRatkaistu ja toimita muutoksesi arkistoon. Huomaa, että Ratkaise-komento ei oikeasti ratkaise ristiriitaa. Se vain poistaa tiedostonimi.mine ja tiedostonimi.r* -tiedostot ja siten sallii myöhemmät toimita-komennot.

Jos sinulla on ristiriitoja binääritiedostojen kanssa, Subversion ei yritä yhdistää tiedostoja itse. Paikallinen tiedosto säilyy muuttumattomana (täsmälleen sellaisena, kuin viimeksi muuttaessasi sitä) ja työkopioosi luodaan tiedostonimi.r* -tiedostot. Jos haluat perua muutoksesi ja pitää arkistoversion, käytä komentoa Palauta. Jos haluat pitää oman versiosi ja ylikirjoittaa arkiston version, käytä komentoa Merkitse ratkaistuksi ja toimita sen jälkeen oma versiosi arkistoon.

Voit käyttää Merkitse ratkaistuksi -komentoa useille tiedostoille, jos valitset yläkansion ja sieltä komennon TortoiseSVNMerkitse ratkaistuksi... Komento näyttää ikkunan, jossa luetellaan kaikki ristiriitaiset tiedostot; voit sitten valita, mitkä niistä merkitään ratkaistuiksi.

Ominaisuusristiriidat

Ominaisuusristiriita syntyy, kun kaksi (tai useampia) kehittäjää on muuttanut samaa ominaisuutta. Kuten tiedostoristiriidan tapauksessa, ristiriidan voi ratkoa vain kehittäjä.

Jos jokin muutoksista korvaa toisen, valitse toinen vaihtoehdoista Ratkaise käyttämällä paikallista ominaisuutta tai Ratkaise käyttämällä etäominaisuutta. Mikäli muutokset on yhdistettävä, valitse Muokkaa ominaisuutta, tee tarvittavat muutokset ja merkitse ristiriita ratkaistuksi.

Puuristiriidat

Puuristiriita syntyy, kun kehittäjä siirtää/nimeää uudelleen/poistaa tiedoston tai kansion, jonka joku toinen kehittäjä on myös siirtänyt/nimennyt uudelleen/poistanut, tai jota hän on pelkästään muokannut. On useita tilanteita, jotka voivat johtaa puuristiriitaan, ja jokainen niistä vaatii erilaisia toimenpiteitä ristiriidan ratkaisemiseksi.

Kun Subversion poistaa tiedoston paikallisesti, se poistetaan myös paikallisesta tiedostojärjestelmästä. Tästä syystä sille ei voida näyttää kuvakepäällystä eikä sitä voida valita komentojen kohteeksi puuristiriitatilanteessa. Käytä sen sijaan Tarkista muutokset -ikkunaa käynnistääksesi Muokkaa ristiriitoja -toiminnon.

TortoiseSVN voi auttaa oikean yhdistämispaikan löytämisessä, mutta ristiriitojen ratkaisemiseen voi liittyä ylimääräistä työtä. Muista, että päivityksen jälkeen työkopion BASE-versio sisältää jokaisen kohteen version sellaisena, kun se oli arkistossa päivityshetkellä. Jos palautat muutoksen päivityksen jälkeen, kohde palautuu arkistoversioon, ei siihen versioon, joka oli käytössä aloittaessasi omia muutoksiasi.

Paikallinen poisto, saapuva muutos päivityksen yhteydessä

  1. Kehittäjä A muokkaa tiedostoa Foo.c ja toimittaa sen arkistoon.

  2. Kehittäjä B on samaan aikaan siirtänyt tiedoston Foo.c tiedostoon Bar.c työkopiossaan, tai yksinkertaisesti poistanut tiedoston Foo.c tai sen sisältävän kansion.

Kehittäjän B työkopion päivitys synnyttää puuristiriidan:

  • Tiedosto Foo.c on poistettu työkopiosta, mutta merkitty puuristiriitaiseksi.

  • Jos ristiriita ei johdu poistosta vaan uudelleen nimeämisestä, tiedosto Bar.c merkitään lisätyksi, mutta ei sisällä kehittäjän A muutoksia.

Kehittäjän B on nyt valittava, haluaako hän säilyttää kehittäjän A muutokset. Jos kyseessä on tiedoston uudelleen nimentä, hän voi yhdistää tiedoston Foo.c muutokset tiedostoon Bar.c. Tiedostojen tai kansioiden poiston yhteydessä hän voi valita, säilyttääkö hän kehittäjän A muutokset ja peruu poistonsa. Merkitsemällä ristiriidan ratkaistuksi tekemättä mitään hän voi toisaalta poistaa kehittäjän A muutokset.

Ristiriitojen muokkausikkuna tarjoutuu yhdistämään muutokset, jos se löytää uudelleen nimetyn tiedoston Bar.c alkuperäisen version. Jos mahdollisia tiedostoja on useita, voit valita oikean tiedoston.

Paikallisia muutoksia, saapuva poisto päivityksen yhteydessä

  1. Kehittäjä A siirtää tiedoston Foo.c tiedostoon Bar.c ja toimittaa muutokset arkistoon.

  2. Kehittäjä B muokkaa tiedostoa Foo.c työkopiossaan.

Tai tapauksessa, jossa kansio siirtyy...

  1. Kehittäjä A siirtää yläkansion FooFolder kansioon BarFolder ja toimittaa muutokset arkistoon.

  2. Kehittäjä B muokkaa tiedostoa Foo.c työkopiossaan.

Kehittäjän B työkopion päivitys synnyttää puuristiriidan. Yksinkertaiselle tiedostoristiriidalle:

  • Tiedosto Bar.c lisätään työkopioon normaalina tiedostona.

  • Tiedosto Foo.c merkitään lisätyksi (historia kera) ja puuristiriitaiseksi.

Kansioristiriidalle:

  • Kansio BarFolder lisätään työkopioon normaalina kansiona.

  • Tiedosto Foo.c merkitään lisätyksi (historian kera) ja puuristiriitaiseksi.

    Tiedosto Foo.c merkitään muutetuksi.

Nyt kehittäjän B on päätettävä, hyväksyäkö kehittäjän A uudelleenjärjestelyt ja yhdistää muutoksensa uuden hierarkian vastaavaan tiedostoon, vai peruako kehittäjän A muutokset ja säilyttää paikallinen tiedosto.

Yhdistääkseen paikalliset muutokset kehittäjän B on ensin selvitettävä, mikä on tiedoston Foo.c uusi nimi/paikka arkistossa. Tämä onnistuu loki-ikkunan avulla, minkä jälkeen hän voi valita oikean tiedoston ristiriidan ratkaisemiseksi.

Jos kehittäjä B päättää, että A:n muutokset ovat pahasta, hänen on valittava ristiriitaeditorin painike Merkitse ratkaistuksi. Tämä merkitsee ristiriitaisen tiedoston/kansion ratkaistuksi, mutta kehittäjän A muutokset on poistettava käsin. Tässäkin tapauksessa loki-ikkunan avulla voi selvittää, mitä muutettiin.

Paikallinen poisto, saapuva poisto päivityksen yhteydessä

  1. Kehittäjä A siirtää tiedoston Foo.c tiedostoon Bar.c ja toimittaa muutokset arkistoon.

  2. Kehittäjä B siirtää tiedoston Foo.c tiedostoon Bix.c.

Kehittäjän B työkopion päivitys synnyttää puuristiriidan:

  • Tiedosto Bix.c merkitään lisätyksi historian kera.

  • Tiedosto Bar.c on lisätty työkopioon tilassa 'normaali'.

  • Tiedosto Foo.c merkitään poistetuksi ja puuristiriitaiseksi.

Ratkaistakseen tämän ristiriidan kehittäjän B on selvitettävä, mikä on tiedoston Foo.c uusi nimi arkistossa. Tämä onnistuu loki-ikkunan avulla.

Kehittäjän B on nyt päätettävä, kumman uuden tiedostonimistä Foo.c hän haluaa säilyttää - kehittäjän A tekemän vai itse tekemänsä uudelleennimennän.

Kun kehittäjä B on käsin ratkaissut puuristiriidan, se on merkittävä ratkaistuksi ristiriitaikkunan painikkeella.

Paikallinen puuttuu, saapuva muokkaus yhdistettäessä

  1. Kehittäjä A muokkaa päähaaran tiedostoa Foo.c ja toimittaa muutokset arkistoon.

  2. Kehittäjä B siirtää kehityshaarassa tiedoston Foo.c tiedostoon Bar.c ja toimittaa muutokset arkistoon

Kehittäjän A päähaaramuutosten yhdistäminen kehittäjän B kehityshaaran työkopioon tuottaa puuristiriidan:

  • Tiedosto Bar.c on jo olemassa työkopiossa tilassa 'normaali'.

  • Tiedosto Foo.c merkitään puuttuvaksi ja puuristiriitaiseksi.

Ratkaistakseen tämän ristiriidan kehittäjän B on merkittävä tiedosto ratkaistuksi ristiriitaikkunassa, jolloin se poistuu ristiriitaluettelosta. Tämän jälkeen hänen on päätettävä, kopioidako puuttuva tiedosto Foo.c arkistosta työkopioon, yhdistääkö kehittäjän A muutokset tiedostosta Foo.c uudelleen nimettyyn tiedostoon Bar.c, vai jättääkö muutokset huomioimatta merkitsemällä ristiriita suoraan ratkaistuksi.

Huomaa, että jos kopioit puuttuvan tiedoston arkistosta ja merkitset sen ratkaistuksi, kopiosi poistetaan jälleen. Sinun on ensin ratkaistava ristiriita.

Paikallinen muokkaus, saapuva poisto yhdistettäessä

  1. Päähaarassa työskentelevä kehittäjä A siirtää tiedoston Foo.c tiedostoon Bar.c ja toimittaa sen arkistoon.

  2. Kehittäjä B muokkaa kehityshaarassa tiedostoa Foo.c ja toimittaa muutokset arkistoon.

  1. Kehittäjä A siirtää päähaaran yläkansion FooFolder kansioon BarFolder ja toimittaa muutokset arkistoon.

  2. Kehittäjä B muokkaa kehityshaaran tiedostoa Foo.c työkopiossaan.

Kehittäjän A päähaaramuutosten yhdistäminen kehittäjän B kehityshaaran työkopioon tuottaa puuristiriidan:

  • Tiedosto Bar.c merkitään lisätyksi.

  • Tiedosto Foo.c merkitään muutetuksi ja puuristiriitaiseksi.

Nyt kehittäjän B on päätettävä, hyväksyäkö kehittäjän A uudelleenjärjestelyt ja yhdistää muutoksensa uuden hierarkian vastaavaan tiedostoon, vai peruako kehittäjän A muutokset ja säilyttää paikallinen tiedosto.

Yhdistääkseen paikalliset muutoksensa uuteen paikkaan, kehittäjän B on ensin selvitettävä, mikä on tiedoston Foo.c uusi nimi ja/tai sijainti arkistossa. Tämän voi selvittää tutkimalla kopiolähteen loki-ikkunaa: ristiriitaeditori kykenee näyttämään lokin vain työkopiolle, koska se ei tiedä yhdistettäessä käytettyä polkua. Muutokset on sitten yhdistettävä käsin. Kun tämä on tehty, ristiriitainen polku on tarpeeton ja voidaan poistaa.

Jos kehittäjä B päättää, että A:n muutokset ovat pahasta, hänen on valittava ristiriitaeditorin painike Merkitse ratkaistuksi. Tämä merkitsee ristiriitaisen tiedoston/kansion ratkaistuksi, mutta kehittäjän A muutokset on poistettava käsin. Tässäkin tapauksessa yhdistämislähteen loki-ikkunan avulla voi selvittää, mitä muutettiin.

Paikallinen poisto, saapuva poisto yhdistettäessä

  1. Päähaarassa työskentelevä kehittäjä A siirtää tiedoston Foo.c tiedostoon Bar.c ja toimittaa sen arkistoon.

  2. Kehittäjä B siirtää kehityshaaran tiedoston Foo.c tiedostoon Bix.c ja toimittaa muutokset arkistoon

Kehittäjän A päähaaramuutosten yhdistäminen kehittäjän B kehityshaaran työkopioon tuottaa puuristiriidan:

  • Tiedosto Bix.c asetetaan tilaan 'normaali' (ei muutoksia).

  • Tiedosto Bar.c merkitään lisätyksi historian kera.

  • Tiedosto Foo.c merkitään puuttuvaksi ja puuristiriitaiseksi.

Ratkaistakseen tämän ristiriidan kehittäjän B on selvitettävä, mikä on tiedoston Foo.c uusi nimi/paikka arkistossa. Tämä onnistuu yhdistämislähteen loki-ikkunan avulla.

Kehittäjän B on nyt päätettävä, kumman uuden tiedostonimistä Foo.c hän haluaa säilyttää - kehittäjän A tekemän vai itse tekemänsä uudelleennimennän.

Kun kehittäjä B on käsin ratkaissut puuristiriidan, se on merkittävä ratkaistuksi ristiriitaikkunan painikkeella.

Muut puuristiriidat

On muita tapauksia, jotka luokitellaan puuristiriidoiksi, koska ristiriitaan liittyy kansio tiedoston sijaan. Jos esimerkiksi lisäät kansion samalla nimellä kahteen eri haaraan ja koetat yhdistää ne, syntyy puuristiriita. Mikäli haluat säilyttää yhdistämiskohteen kansion, riittää kun merkitset ristiriidan ratkaistuksi. Jos haluat käyttää yhdistämislähteen versiota, sinun on poistettava yhdistämiskohteen versio ja suoritettava yhdistäminen uudelleen. Mikäli tarvitaan monimutkaisempia toimenpiteitä, on ne ratkottava erikseen käsin.

Työkopion tilan selvittäminen

Työskennellessäsi tarvitset usein tietoa siitä, mitkä tiedostot ovat muuttuneet/lisätty/poistettu tai nimetty uudelleen työkopiossasi; ja ehkäpä myös tietoa siitä, mitkä tiedostot ovat muuttuneet arkistossa muitten toimesta.

Kuvakepäällykset

Kuva 4.12. Resurssienhallinnan kuvakepäällykset

Resurssienhallinnan kuvakepäällykset


Haettuasi työkopion Subversion-arkistosta näet tiedostosi Windows-resurssienhallinnassa erilaisin kuvakkein. Tämä on eräs syy siihen, miksi TortoiseSVN on niin suosittu. TortoiseSVN lisää ns. kuvakepäällyksen jokaisen versioidun tiedoston oman kuvakkeen päälle. Riippuen tiedoston Subversion-tilasta päällys on erilainen.

Juuri haettu työkopion tiedoston kuvakepäällys on vihreä ruksi. Subversion-tila on normaali.

Heti kun alat muokata tiedostoa, tila muuttuu muutetuksi ja kuvakepäällys puolestaan punaiseksi huutomerkiksi. Tämän avulla voit helposti nähdä, mitkä tiedostot ovat muuttuneet viime päivityksen jälkeen ja jotka pitää toimittaa arkistoon.

Jos päivityksen aikana syntyy ristiriita, kuvakepäällys muuttuu keltaiseksi huutomerkiksi.

Jos olet asettanut svn:needs-lock -ominaisuuden tiedostolle, Subversion poistaa kirjoitusoikeudet tiedostoon kunnes lukitset sen. Tällaisilla tiedostoilla on kuvakepäällys, joka kertoo, että tiedosto on lukittava ennen kuin sitä voi muokata.

Jos olet lukinnut tiedoston, ja Subversion-tila on normaali, tämä kuvakepäällys muistuttaa, että jos et aio muuttaa sitä, sinun tulee vapauttaa lukko salliaksesi muitten muutokset.

Tämä kuvakepäällys ilmaisee, että jotkut tiedostot/kansiot nykyisen kansion alapuolella on määritelty poistettaviksi versionhallinnasta. Se voi merkitä sitä, että versioitu tiedosto puuttuu kansiosta.

Plusmerkki kertoo, että tiedosto/kansio on merkitty lisättäväksi versionhallintaan.

Palkki ilmaisee, että tiedosto/kansio on ohitettu versionhallintatoiminnoissa. Päällys on valinnainen.

Tämä kuvake näytetään sellaisille tiedostoille ja kansioille, joita ei ole versioitu eikä myöskään ohitettu. Päällys on valinnainen.

Saatat havaita, että kaikkia näitä kuvakkeita ei käytetä sinun järjestelmässäsi. Tämä johtuu siitä, että kuvakepäällysten maksimimäärä Windowsissa on hyvin rajallinen, ja jos käytät myös TortoiseCVS-ohjelman vanhaa versiota, kuvakepäällyksiä on liikaa. TortoiseSVN yrittää olla mallikansalainen ja rajoittaa kuvakepäällysten käyttöä antaakseen myös muille sovelluksille mahdollisuuden.

Nykyisin, kun Tortoise-tyyppisiä ohjelmia on useita (TortoiseCVS, TortoiseHg, ...), kuvakkeiden rajallinen määrä on todellinen ongelma. Ratkaistakseen tämän TortoiseSVN-projekti on luonut DLL-muodossa jaettavan jaetun kuvakejoukon, jota kaikki Tortoise-ohjelmat voivat käyttää. Tarkista ohjelmasi tekijöiltä, onko se jo otettu käyttöön :-)

Lisätietoa siitä, miten kuvakepäällykset vastaavat Subversion-tiloja sekä muita teknisiä yksityiskohtia löytyy luvusta ”Kuvakepäällykset”.

Yksityiskohtaiset tilatiedot

Kuva 4.13. Resurssienhallinnan ominaisuudet, Subversion-sivu

Resurssienhallinnan ominaisuudet, Subversion-sivu


Joskus on tarpeen saada yksityiskohtaisempaa tietoa tiedostosta/kansiosta kuin mitä pelkkä kuvakepäällys tarjoaa. Nämä tiedot löytyvät Resurssienhallinnan ominaisuuksien Subversion-sivulta. Valitse tiedosto tai kansio ja anna komento Windows-valikkoOminaisuudet kontekstivalikossa (huomaa: tämä on Resurssienhallinnan tavallinen Ominaisuudet-komento, ei TortoiseSVN-alivalikosta löytyvä!). Ominaisuudet-ikkunassa on TortoiseSVN:n lisäämä sivu versioiduille tiedostoille/kansioille, jossa näet kaikki oleelliset tiedot.

Paikallinen ja etätila

Kuva 4.14. Tarkista muutokset

Tarkista muutokset


On usein hyödyllistä tietää, mitä tiedostoja olet muutanut ja mitä tiedostoja muut ovat muuttaneet versionhallinnassa. Tällöin komento TortoiseSVNTarkista muutokset... on tarpeen. Avautuva ikkuna näyttää kaikki jollain tapaa muuttuneet tiedostot työkopiossasi, samoin kuin mahdolliset versioimattomat tiedostosi.

Napsauttamalla Tarkista arkisto voit etsiä muutoksia myös arkistosta. Tällä tavoin voit ennen päivitystä tarkistaa mahdolliset syntyvät ristiriidat. Voit myös päivittää valitsemasi tiedostot arkistosta päivittämättä koko kansiota. Oletusarvoisesti Tarkista arkisto-toiminto tutkii arkistoa työkopion syvyyden perusteella. Jos haluat nähdä arkiston kaikki tiedostot ja kansiot (ts. myös ne, joita ei ole haettu työkopioon), sinun on pidettävä Shift-näppäin pohjassa Tarkista arkisto painikkeen napsautuksen aikana.

Ikkuna käyttää värikoodausta korostaakseen tilaa.

Sininen

Paikallisesti muuttuneet kohteet.

Jos ei-muuttuneet tiedostot ovat hakemistossa, joka on siirretty, tilasarakkeessa on + -merkki sinisellä pohjalla.

Purppura

Lisätyt kohteet. Kohteilla, jotka on lisätty historian kera, on + -merkki sarakkeessa Tekstin tila, ja lisäksi työkaluvihje näyttää, mistä kohde kopioitiin.

Tummanpunainen

Poistetut tai puuttuvat kohteet.

Vihreä

Kohteet, jotka ovat muuttuneet sekä paikallisesti että arkistossa. Muutokset yhdistetään päivityksen yhteydessä. Ne saattavat tuottaa ristiriitoja päivitettäessä.

Kirkkaan punainen

Kohteet, jotka ovat muuttuneet paikallisesti ja poistettu arkistosta, tai muuttuneet arkistossa ja poistettu paikallisesti. Ne tuottavat ristiriitoja päivitettäessä.

Musta

Muuttumattomat ja versioimattomat kohteet.

Tässä on lueteltu oletusarvoiset värit, mutta voit mukauttaa värejä käyttämällä asetusikkunaa. Tätä on kuvattu tarkemmin luvussa ”Väriasetukset”.

Kuvakepäällyksiä käytetään kuvaamaan myös muita tiloja. Seuraava kuva näyttää kaikki mahdolliset kuvakepäällykset jotka näytetään tarpeen vaatiessa.

Kuvakepäällykset näytetään seuraavissa tiloissa:

  • Hakusyvyys tyhjä, tarkoittaen vain itse tiedostoa.

  • Hakusyvyys tiedostot, tarkoittaen vain itse kansiota ja sen välittömästi sisältämiä tiedostoja.

  • Hakusyvyys välittömät, tarkoittaen itse kansiota ja sen välittömästi sisältämiä tiedostoja ja kansioita.

  • Sisällytetyt tiedostot, ts. työkopiot työkopion sisällä.

  • Ulkoiset tiedostot, ts. ominaisuuden svn:externals kautta lisätyt tiedostot.

  • Tiedostot, jotka on palautettu toimituksen jälkeen. Katso lisätietoja luvusta ”Toimita vain osia tiedostoista”.

  • Tiedostot, joiden svn:mergeinfo -ominaisuuksia on muutettu. Mikäli muita ominaisuuksia on muokattu, kuvakepäällyksiä ei käytetä.

Kohteet, jotka on vaihdettu osoittamaan toiseen arkistopolkuun, on merkitty (s)-merkillä. Olet saattanut esim. vaihtaa työkopion polkuja työskennellessäsi haarassa ja unohtanut vaihtaa ne takaisin päähaaraan. Tämä on varoitus siitä! Konstekstivalikon avulla voit vaihtaa takaisin tavallisiin polkuihin.

Ikkunan kontekstivalikosta voit vertailla muutoksia. Voit tarkistaa itse tekemäsi paikalliset muutokset komennolla KontekstivalikkoVertaa kantaversion (BASE) kanssa. Samoin voit tarkistaa muiden arkistoon tekemät muutokset komennolla KontekstivalikkoNäytä erot unified diff-muodossa.

Voit myös palauttaa muutokset yksittäisiin tiedostoihin. Jos poistit tiedoston vahingossa, se näkyy muodossa Puuttuu ja voit käyttää Palauta-komentoa poiston palauttamiseen.

Versioimattomat ja ohitetut tiedostot voidaan lähettää Roskakoriin käyttäen komentoa KontekstivalikkoPoista. Jos haluat poistaa tiedostot pysyvästi (ohittaen Roskakorin), pidä Shift-näppäin pohjassa kun napsautat Poista.

Jos haluat tutkia tiedostoa yksityiskohtaisesti, voit raahata sen täältä toiseen sovellukseen (esim. tekstieditori tai IDE). Voit myös tallettaa siitä kopion raahaamalla sen johonkin kansioon Windows-resurssienhallinnassa.

Sarakkeet ovat muokattavia. Jos oikea-napsautat minkä tahansa sarakeotsikon päällä, näkyviin ilmestyy kontekstivalikko, jonka avulla voit valita näytettävät sarakkeet. Voit myös vaihtaa sarakkeen leveyttä käyttämällä raahauskahvaa, joka ilmestyy, kun siirrät hiiren sarakerajalle. Nämä mukautukset muistetaan, joten näet samat otsikot myös seuraavalla kerralla.

Jos työskentelet useiden, toisistaan riippumattomien tehtävien parissa, voit myös ryhmitellä tiedostot muutoslistoihin. Lue lisätietoa luvusta ”Muutoslistat”.

Ikkunan alaosassa näytetään yhteenvetona työkopiosi sisältämä versioväli. Näytetyt versiot perustuvat toimitettuihin, ei päivitettyihin versioihin; ne esittävät versioväliä, jolla tiedostot viimeksi toimitettiin arkistoon, ei versioita, joihin ne on päivitetty. Huomaa myös, että versioväli perustuu vain näytettyihin tietoihin, ei koko työkopioon. Jos haluat nähdä tiedot koko työkopiosta, ruksaa valinta Näytä muuttumattomat tiedostot.

Vihje

Jos haluat yksitasoisen näkymän työkopioosi, ts. kaikki tiedostot ja kansiot eri kansiohierarkiatasoilla, niin Tarkista muutokset-komento on helpoin tapa tehdä se. Riittää, kun ruksaat valintalaatikon Näytä muuttumattomat tiedostot näyttääksesi kaikki työkopion tiedostot.

Ulkoisten uudelleen nimentöjen korjaus

Joskus tiedostoja nimetään uudelleen Subversionin ulkopuolella, ja ne näkyvät toimitusikkunassa puuttuvana ja versioimattomana tiedostona. Välttääksesi menettämästä tiedoston historiaa, sinun on kerrottava Subversionille kytkennästä. Voit yksinkertaisesti valita sekä vanhan nimen (puuttuu) ja uuden nimen (versioimaton) sekä käyttää komentoa KontekstivalikkoKorjaa siirto tulkitaksesi tiedostoparin uudelleennimennäksi.

Versioimattomien kopioiden korjaus (kytkeminen versionhallintaan)

Jos unohdit käyttää SVN-komentoa tiedoston kopioimiseen, voit korjata kopion siten, ettei uusi tiedosto menetä historiaansa. Tämä tapahtuu seuraavasti: valitse sekä vanha nimi (normaali tai muokattu) ja uusi nimi (versioimaton) ja käytä komentoa KontekstivalikkoKorjaa kopio tulkitaksesi tiedostoparin kopioksi.

Vertailu

Usein on tarpeen tutkia tiedostojen sisältöä muutettujen kohtien osalta. Tämä tehdään valitsemalla muuttunut tiedosto ja antamalla komento Vertaa kontekstivalikosta. Tämä käynnistää ulkoisen vertailuohjelman, joka sitten vertaa nykyistä versiota alkuperäiseen (BASE-versio), joka otettiin talteen viimeisimmässä työkopion haussa tai päivityksessä.

Vihje

Vaikket työskentelisi työkopion sisällä tai kun sinulla on useita versioita tiedostosta, voit silti vertailla niitä:

Valitse ne kaksi tiedostoa, joita haluat vertailla Windowsin Resurssienhallinta-ohjelmalla (esim. käyttäen Ctrl-näppäintä ja hiirtä) ja valitse komento Vertaa kontekstivalikosta.

Muutoslistat

Ihannemaailmassa työskentelet aina vain yhden asian parissa kerrallaan, ja työkopiosi sisältää vain yhden loogisen muutosjoukon. Todellisuudessa usein käy niin, että joudut työskentelemään useiden riippumattomien tehtävien parissa yhtä aikaa, mutta toimitusikkunassa kaikki muutokset on lueteltu yhdessä. Muutoslista auttaa ryhmittelemään tiedostot yhteen, tehden helpommaksi nähdä, mitä olet tekemässä. Tämä voi tietenkin toimia vain, jos muutokset eivät mene päällekkäin. Jos kaksi eri tehtävää vaikuttaa samaan tiedostoon, muutoksia ei voi erottaa.

Näet muutoslistoja useissa paikoissa, mutta tärkeimmät ovat toimitusikkuna ja tarkista muutokset -ikkuna. Otetaan esimerkiksi tarkista muutokset -ikkuna tilanteessa, jossa olet työskennellyt useiden työpakettien ja tiedostojen kanssa. Kun avaat ikkunan ensimmäistä kertaa, kaikki muuttuneet tiedostot luetellaan yhdessä. Oletetaan, että haluat nyt organisoida asiat paremmin ja ryhmitellä tiedostot työpaketin perusteella.

Valitse yksi tai useampia tiedostoja ja käytä komentoa KontekstivalikkoSiirrä muutoslistaan lisätäksesi kohteet muutoslistaan. Alussa muutoslistoja ei ole, joten ensimmäinen komento luo uuden muutoslistan. Anna sille kuvaava nimi ja napsauta OK. Ikkuna muuntuu näyttämään tiedostot ryhmiteltyinä.

Luotuasi muutoslistan voit vetää ja pudottaa siihen kohteita joko toisesta muutoslistasta tai Windowsin Resurssienhallinnasta. Raahaaminen Resurssienhallinnasta on näppärää, koska sen avulla voit lisätä tiedoston muutoslistaan ennen kuin sitä on muutettu. Voit toki tehdä saman tarkista muutokset -ikkunassa, mutta vain valitsemalla muuttumattomat tiedostot mukaan listaukseen.

Kuva 4.15. Toimitusikkuna muutoslistojen kanssa

Toimitusikkuna muutoslistojen kanssa


Toimitusikkunassa näet samat tiedostot ryhmiteltyinä muutoslistoihin. Otsikot havainnollistavat muutoslistan sisältöä; lisäksi niitä voidaan käyttää valitsemaan toimitettavat tiedostot.

TortoiseSVN varaa yhden muutoslistan omaan käyttöönsä: ignore-on-commit. Listaa käytetään merkitsemään versioidut tiedostot, joita et useimmiten halua toimittaa arkistoon, vaikka niissä olisi paikallisia muutoksia. Ominaisuus on kuvattu luvussa ”Kohteiden ohittaminen toimitusikkunassa”.

Kun toimitat muutoslistaan kuuluvat tiedostot arkistoon, on tavallista olettaa, etteivät ne enää kuulu muutoslistaan. Tästä syystä tiedostot oletusarvoisesti poistetaan muutoslistoista automaattisesti toimituksen yhteydessä. Jos haluat säilyttää tiedoston muutoslistassa, käytä valintaa Säilytä muutoslistat toimitusikkunan alaosassa.

Vihje

Muutoslistat ovat täysin paikallinen ominaisuus, joka helpottaa muutosten organisointia. Niiden luominen ja poisto ei vaikuta arkistoon eikä muihin asiakkaisiin.

Varoitus

Huomaa. että jos käytät muutoslistoja, ulkoiset viitteet eivät enää näy omina ryhminään. Muutoslistojen olemassaolo muuttaa ryhmityksen niiden sisällön mukaiseksi.

Hyllyttäminen

Joskus on tarpeen keskeyttää meneillään oleva työ ja siirtyä tekemään jotain muuta. Vakavan ongelman löytyminen voi esimerkiksi vaatia korjauksen tekemistä välittömästi, jolloin meneillään oleva uuden ominaisuuden kehittäminen pitää väliaikaisesti keskeyttää. Mikäli mahdollista, tehdyt muutokset tulisi toimittaa arkistoon ennen ongelman korjausta. Usein tämä ei kuitenkaan ole mahdollista muutosten keskeneräisyyden vuoksi.

Jos et voi toimittaa muutoksiasi arkistoon, ne on siirrettävä sivuun siksi ajaksi, kun työskentelet kiireellisemmän asian parissa. Hyllytys auttaa juuri tässä: voit tallettaa muutoksesi hyllylle ja poistaa ne työkopiosta siksi aikaa, kun teet jotain muuta. Kun olet saanut muun työn päätökseen ja toimitettua versionhallintaan, voit palauttaa hyllystä aiemmin kesken jääneet muutokset ja jatkaa niiden parissa.

Tätä ominaisuutta varten on kaksi komentoa, yksi hyllyttämiseen ja toinen hyllyltä palauttamiseen.

Hyllyttääksesi paikalliset muutokset, anna työkopiollesi komento KontekstivalikkoHyllytä. Esiin aukeavassa ikkunassa voit valita hyllytettävät tiedostot ja antaa hyllylle nimen.

Kuva 4.16. Hyllytysikkuna

Hyllytysikkuna


Mikäli haluat käyttää olemassa olevaa hyllyä, muutoksistasi luodaan uusi versio. Antamalla uuden nimen, valituille tiedostoille luodaan kokonaan uusi hylly.

Napsauttamalla Hyllytä, hylly luodaan ja muutokset poistetaan työkopiostasi. Jos sen sijaan valitset painikkeen Tarkistuspiste, hylly luodaan, mutta paikalliset muutokset säilyvät työkopiossasi.

Palauttaaksesi muutoksesi hyllystä, anna komento KontekstivalikkoPalauta hyllystä. Esiin aukeavassa ikkunassa luetellaan kaikki hyllytetyt muutokset. Valitse hyllytetty muutos ja versio, jonka haluat palauttaa työkopioosi ja napsauta Käytä.

Kuva 4.17. Palauta hyllystä -ikkuna

Palauta hyllystä -ikkuna


Vihje

Hyllyt ovat pelkästään paikallinen ominaisuus. Hyllytys tai hyllytyksen poisto eivät vaikuta arkistoon eivätkä kenenkään muun työkopioon.

Kokeellinen

Hyllytys on vielä kokeellinen ominaisuus.

Kokeellinen tarkoittaa, että vaikka hyllytys toimii dokumentoidusti, sitä kehitetään ja parannetaan vielä. Tämä tarkoittaa myös, että luomasi hyllytykset eivät mahdollisesti ole yhteensopivia tulevien ohjelmistoversioiden kanssa. Käyttöliittymä saattaa tietenkin myös muuttua.

Versioloki

On järkevää liittää kuvaava lokiviesti kaikkiin muutoksiin, joita toimitat arkistoon. Tällä tavoin voit myöhemmin paremmin selvittää, mitä muutoksia on tehty, ja mistä syystä. Samalla saat yksityiskohtaisen kehityshistorian projektistasi.

Versioloki hakee kaikki nuo lokiviestit ja näyttää ne. Näyttö on jaettu kolmeen paneeliin.

  • Yläpaneeli näyttää listan versioista, joissa tehtiin muutoksia valittuun tiedostoon/kansioon. Yhteenvedossa näytetään päiväys ja kellonaika, muutoksen tehneen henkilön nimi ja lokiviestin alkuosa.

    Siniset rivit osoittavat, että jotain on kopioitu tähän kehityshaaraan (ehkäpä jostain toisesta haarasta).

  • Keskipaneeli näyttää täyden lokiviestin valitulle versiolle.

  • Alapaneeli luettelee kaikki tiedostot ja kansiot, joita muutettiin valitussa versiossa.

Versioloki tekee toki paljon muutakin - sen kontekstivalikoiden komentojen avulla voit noutaa vielä enemmän tietoa projektin historiasta.

Versiolokin avaaminen

Kuva 4.18. Versioloki

Versioloki


Voit avata loki-ikkunan useista paikoista:

  • TortoiseSVN-kontekstivalikon alavalikosta

  • Ominaisuuksista

  • Etenemisikkunasta päivityksen päätyttyä. Tällöin loki näyttää vain ne versiot, jotaka muuttuivat viimeisen päivityksesi jälkeen

  • Arkistoselaimesta

Jos arkisto ei ole saatavilla, saat ilmoituksen Siirrytäänkö yhteydettömään tilaan?, joka on kuvattu luvussa ”Yhteydetön tila”.

Versiolokin toimintoja

Yläpaneelissa on Toimenpiteet-sarake, jonka kuvakkeet antavat yhteenvedon kussakin versiossa suoritetuista toimenpiteistä. Erilaisia kuvakkeita on neljä, joista kukin näytetään omassa sarakkeessaan.

Jos versio muutti tiedostoa tai hakemistoa, niin muutettu-kuvake näytetään ensimmäisessä sarakkeessa.

Jos versio lisäsi tiedoston tai hakemiston, niin lisätty-kuvake näytetään toisessa sarakkeessa.

Jos versio poisti tiedoston tai hakemiston, niin poistettu-kuvake näytetään kolmannessa sarakkeessa.

Jos versio korvasi tiedoston tai hakemiston, niin korvattu-kuvake näytetään neljännessä sarakkeessa.

Jos versio muutti tai nimesi uudelleen tiedoston tai hakemiston, niin siirretty-kuvake näytetään neljännessä sarakkeessa.

Jos versio korvasi tiedoston tai hakemiston siirtämällä tai nimeämällä sen uudelleen, niin siirtämällä korvattu-kuvake näytetään neljännessä sarakkeessa.

Jos versio yhdisti tiedoston tai hakemiston, niin yhdistetty-kuvake näytetään neljännessä sarakkeessa.

Jos versio yhdisti käänteisesti tiedoston tai hakemiston, niin käänteisesti yhdistetty-kuvake näytetään neljännessä sarakkeessa.

Lisätietoa

Kuva 4.19. Versiolokin yläpaneelin kontekstivalikko

Versiolokin yläpaneelin kontekstivalikko


Loki-ikkunan yläpaneelissa on kontekstivalikko, jonka komentojen avulla saat lisää tietoa. Jotkut komennot ovat saatavilla vain, kun lokia näytetään tiedostolle, jotkut taas ovat käytettävissä vain, kun lokia näytetään kansiolle.

Vertaa työkopioon

Vertaa valittua versiota työkopioosi. Oletusarvoinen vertailutyökalu on TortoiseMerge, joka tulee TortoiseSVN:n mukana. Mikäli lokia näytetään kansiolle, komento näyttää luettelon muuttuneista tiedostoista ja sallii tiedostoihin tehtyjen muutosten tutkimisen yksitellen.

Vertaa ja selvitä tekijätiedot BASE-versioon nähden

Selvitä tekijät valitun version ja kantaversion (BASE) välillä sekä vertaa tuloksia. Katso lisätietoa luvusta ”Vertaa ja selvitä tekijät” (vain tiedostot).

Näytä muutokset unified diff -muodossa

Tutki valitussa versiossa tehtyjä muutoksia unified diff -muodossa (GNU-paikkaformaatti). Tämä näyttää vain muutokset muutaman ympäröivän rivin kera. Sitä on vaikeampaa lukea kuin visuaalista tiedostovertailua, mutta näet kaikki tiedoston muutokset yhdessä tiiviissä muodossa.

Jos pidät Shift-näppäimen painettuna napsauttaessasi valikon komentoa, esiin aukeaa ikkuna, jossa voit muuttaa unified diff-asetuksia (esim. ohittaa muutokset rivinvaihto- tai tyhjämerkeissä).

Vertaa edellisen version kanssa

Vertaa valittua versiota edellisen version kanssa. Komento toimii siis samaan tapaan kuin vertaaminen työkopion kanssa. Kansioille tämä valinta näyttää ensin luettelon muuttuneista tiedostoista, josta voit sitten valita vertailtavat tiedostot.

Vertaa ja selvitä tekijätiedot edelliseen versioon nähden

Näyttää muuttuneiden tiedostojen luettelon, josta voit valita tiedostot. Voit selvittää tekijät valitulle ja sitä edeltävälle versiolle ja verrata tuloksia (vain kansiot).

Talleta versio...

Talleta valittu versio tiedostoon, jotta saat käyttöösi tiedoston aiemman version (vain tiedostot).

Avaa / Avaa sovelluksessa...

Avaa valittu tiedosto joko tiedostotyypin oletuskatseluohjelmalla tai valitsemalla ohjelma käsin (vain tiedostot).

Selvitä tekijät...

Selvitä tiedoston tekijät valittuun versioon saakka (vain tiedostot).

Selaa arkistoa

Avaa arkistoselain tutkiaksesi valittua tiedostoa tai kansiota sellaisena, kuin se oli valitussa versiossa.

Luo versiosta haara / merkitty versio

Luo valitusta versiosta haara / merkitty versio. Tämä on hyödyllistä, jos esim. unohdat merkitä version ja olet jo toimittanut arkistoon muutoksia, joiden ei pitänyt päätyä merkittyyn ohjelmaversioon.

Päivitä kohde versioon

Päivittää työkopiosi valittuun versioon. Tästä on hyötyä, jos haluat palauttaa työkopiosi johonkin ajankohtaan menneisyydessä, tai jos arkistossa on myöhempiä versioita, jotka haluat tuoda työkopioosi järjestyksesä yksi kerrallaan. On parempi päivittää työkopiosi koko hakemisto, ei vain yksittäistä tiedostoa; muuten työkopiosi saattaa jäädä epäyhtenäiseksi.

Jos sen sijaan haluat perua aiemman muutoksen pysyvästi, käytä komentoa Palauta tähän versioon.

Palaa tähän versioon

Palauta aiempi versio. Komento on tarpeen, jos olet tehnyt useita muutoksia, ja päätät sitten, että haluat oikeastaan palauttaa tilanteen versioon N. Muutokset palautetaan taaskin työkopioosi, joten operaatio ei muuta arkiston tilaa ennen kuin toimitat muutokset sinne. Huomaa, että komento peruu kaikki muutokset, jotka on tehty valitun version jälkeen, korvaten tiedoston/kansion sen aiemmalla versiolla.

Jos työkopiosi ei ole muuttunut, se näytetään tämän toiminnon jälkeen muuttuneena. Jos työkopiossasi oli jo aiempia paikallisia muutoksia, komento yhdistää perumismuutokset työkopioosi.

Sisäisesti Subversion suorittaa käänteisen yhdistämisen kaikista valitun version jälkeisistä muutoksista, siten peruen niiden vaikutuksen.

Jos haluat tämän toimenpiteen jälkeen perua perunnan ja palauttaa työkopiosi aiempaan, muuttumattomaan tilaan, sinun on annettava komento TortoiseSVNPalauta, joka poistaa käänteisen yhdistämisen tekemät muutokset.

Jos pelkästään haluat nähdä, miltä tiedosto tai kansio näytti aiemmassa versiossa, käytä sen sijaan komentoa Pävitä versioon tai Talleta versio nimellä....

Poista tämän version muutokset

Poistaa muutokset, jotka tehtiin valitussa versiossa. Muutokset poistetaan työkopiostasi, joten operaatio ei vaikuta arkistoon! Huomaa, että komento peruu vain valitussa versiossa tehdyt muutokset. Se ei korvaa työkopiotasi tiedoston kokonaisella aiemmalla versiolla. Tästä on hyötyä, jos haluat perua jonkin aiemman muutksen, kun muita, riippumattomia muutoksia on jo ehditty tehdä jälkikäteen.

Jos työkopiosi ei ole muuttunut, se näytetään tämän toiminnon jälkeen muuttuneena. Jos työkopiossasi oli jo aiempia paikallisia muutoksia, komento yhdistää perumismuutokset työkopioosi.

Sisäisesti Subversion suorittaa käänteisen yhdistämisen valitulle versiolle, peruen sen vaikutukset edelliseen toimitukseen nähden.

Voit perua perumisen kuten edellä kuvattiin kohdassa Palauta tähän versioon.

Yhdistä versio...

Yhdistää valitut versiot toiseen työkopioon. Voit valita kansioikkunasta työkopion, johon yhdistäminen tehdään, mutta tämän jälkeen ei ole enää varmistusta tai mahdollisuutta testiajoon! Kannattaa tehdä yhdistäminen muuttamattomaan työkopioon, jotta voit perua muutokset helposti tarvittaessa! Tämä on hyödyllinen ominaisuus, jos haluat yhdistää valitut versiot haarasta toiseen.

Hae työkopio...

Nouda tuore työkopio valitusta kansiosta valitussa versiossa. Komento avaa ikkunan, jossa voit vahvistaa paikantimen ja version sekä valita paikan uudelle työkopiolle.

Vie...

Vie valittu tiedosto/kansio valitussa versiossa. Komento avaa ikkunan, jossa voit vahvistaa paikantimen ja version sekä valita talletuskansion vietäville tiedostoille.

Muokkaa tekijää / lokiviestiä

Muokkaa jonkin edeltävän toimituksen lokiviestiä tai tekijää. Lue lisätietoa kappaleesta ”Lokiviestin ja tekijätietojen muuttaminen”.

Näytä versio-ominaisuudet

Tutki ja muokkaa mitä tahansa versio-ominaisuutta, ei pelkästään lokiviestiä ja tekijää. Katso lisää luvusta ”Lokiviestin ja tekijätietojen muuttaminen”.

Kopioi leikepöydälle

Kopioi valittujen versioiden lokiviestit leikepöydälle. Komento kopioi kustakin versiosta versionumeron, tekijän, päiväyksen, lokiviestin ja listan muuttuneista kohteista.

Etsi lokiviesteistä...

Etsii lokiviesteistä syöttämääsi tekstiä. Komento läy läpi syöttämäsi lokiviestit samoin kuin Subversionin luomat toimintoyhteenvedot (näkyvissä alapaneelissa). Komennon suoritus ei riipu merkkien tasosta.

Luo code collaborator -katselmus...

Tämä valinta näytetään vain, jos SmartBear Code Collaborator -työkalu on asennettu. Ensimmäisellä käyttökerralla toiminto pyytää käyttäjältä sekä Code Collaborator- että Subversion-käyttäjätiedot. Tämän jälkeen asetusikkunaa ei enää näytetä, ellei Ctrl -näppäintä pidetä pohjassa komentoa annettaessa. Käyttäjätietoja ja valittuja versioita käytetään graafisessa Code Collaborator -työkalussa, joka luo uuden katselmuksen valituista versioista.

Kuva 4.20. Code Collaborator -asetusikkuna

Code Collaborator -asetusikkuna


Kuva 4.21. Yläpaneeli kaksi versiota valittuna

Yläpaneeli kaksi versiota valittuna


Jos valitset kaksi versiota kerralla (käyttäen Ctrl-näppäintä), kontekstivalikko on erilainen:

Vertaa versioita

Vertaa kahta valittua versiota käyttäen määriteltyä vertailutyökalua. Oletustyökalu on TortoiseMerge, joka tulee TortoiseSVN:n mukana.

Jos valitset tämän toiminnon kansiolle, näet luettelon muuttuneista tiedostoista uudessa ikkunassa, josta voit jatkaa vertailua. Lue lisää versioiden vertailuikkunasta luvusta ”Kansioiden vertailu”.

Selvitä tekijät versiovälillä

Selvitä muutosten tekijät valittujen versioiden välillä ja näytä tulokset. Lue lisää luvusta ”Vertaa ja selvitä tekijät”.

Näytä muutokset unified diff -muodossa

Vertaa kahden valitun version eroja unified diff -muodossa. Komento toimii tiedostoille ja kansioille.

Kopioi leikepöydälle

Kopioi lokiviestit leikepöydälle (kuten aiemmin kuvattiin).

Etsi lokiviesteistä...

Etsi lokiviestejä (kuten aiemmin kuvattiin).

Jos valitset useita peräkkäisiä versioita (käyttäen Ctrl tai Shift -näppäimiä), kontekstivalikko sisältää vaihtoehdon kaikkien versiovälillä tehtyjen muutosten perumiseen. Tämä on helpoin tapa poistaa joukko muutoksia yhdellä kertaa.

Voit myös yhdistää valitut versiot toiseen työkopioon, kuten yllä on kuvattu.

Jos kaikilla valituilla versioilla on sama tekijä, voit muokata kaikkien versioiden tekijää yhdellä kertaa.

Kuva 4.22. Lokin alapaneelin kontekstivalikko

Lokin alapaneelin kontekstivalikko


Loki-ikkunan alapaneelissa on myös kontekstivalikko, jonka komentojen avulla voit

Näytä muutokset

Näytä valitussa versiossa valittuun tiedostoon tehdyt muutokset.

Selvitä muutosten tekijät

Selvitä tekijät valitun tiedostoversion ja sen edeltäjän välillä sekä näytä tulokset. Lue lisätietoja luvusta ”Vertaa ja selvitä tekijät”.

Näytä unified diff -muodossa

Näytä tiedoston muutokset unified diff -muodossa. Komento on käytettävissä vain muuttuneille tiedostoille.

Avaa / Avaa sovelluksessa...

Avaa valittu tiedosto joko tiedostotyypin oletuskatseluohjelmalla tai valitsemalla ohjelma itse.

Selvitä tekijät...

Avaa Selvitä tekijät -ikkunan, jossa voit selvittää valitun version tekijät.

Poista tämän version muutokset

Peru työkopiosta valitussa tiedostoversiossa tehdyt muutokset.

Näytä ominaisuudet

Näytä Subversion-ominaisuudet valitulle kohteelle.

Näytä loki

Näytä versioloki valitulle yksittäiselle tiedostolle.

Hae yhdistämisloki

Näyttää valitun, yksittäisen tiedoston versiolokin, jossa ovat mukana yhdistämisten seurauksena tulleet muutokset. Katso lisää luvusta ”Suoritettujen yhdistämisten jäljitys”.

Talleta versio...

Talleta valittu versio tiedostoon, jotta saat käyttöösi tiedoston aiemman version.

Vie...

Vie valitut tiedostot tästä versiosta kansioon, säilyttäen tiedostohierarkian.

Kun loki-ikkunan alapaneelissa on useita tiedostoja valittuina, kontekstivalikko muuttuu seuraavaksi:

Kuva 4.23. Lokin alapaneelin kontekstivalikko, kun useita tiedostoja on valittuna.

Lokin alapaneelin kontekstivalikko, kun useita tiedostoja on valittuna.


Talleta versio...

Talleta valittu versio tiedostoon, jotta saat käyttöösi tiedoston aiemman version.

Näytä useita muutoksia...

Näytä valittuihin tiedostoihin valitussa versiossa tehdyt muutokset. Huomaa, että muutosvertailu käynnistyy useaan otteeseen, mikä saattaa käynnistää valitsemasi vertailuohjelman useaan kertaan. Jos olet valinnut yli 15 tiedostoa, toiminnon suoritus varmistetaan erikseen.

Avaa useita paikallisia...

Tämä avaa valitsemasi työkopiotiedostot käyttäen sovellusta, joka on rekisteröity avaamaan ne (kuten tapahtuisi kaksoisnapsauttaessasi tiedostoja Windows-resurssienhallinnassa). Sovelluksesta riippuen, tämä voi olla hidas toiminto. Pahimmassa tapauksessa sovellus saatetaan käynnistää jokaiselle valitulle tiedostolle.

Mikäli pidät Ctrl -näppäimen painettuna tätä komentoa käynnistettäessä, työkopiotiedostot avataan aina Visual Studio -ympäristössä. Tämä onnistuu vain, jos Visual Studio on samassa käyttäjäkontekstissa (pääkäyttäjä, normaali käyttäjä) kuin TortoiseProc.exe -ohjelma. Voi olla tarpeen avata muuttuneet tiedostot sisältävä [.sln]-tiedosto, vaikka tämä ei ole pakollista. Vain tiedostot, joiden laajennusosa on [.cpp, .h, .cs, .rc, .resx, .xaml, .js, .html, .htm, .asp, .aspx, .php, .css tai .xml], avataan. Korkeintaan 100 tiedostoa voidaan avata Visual Studioon kerrallaan, ja ne avautuvat erillisiin välilehtiin. Koodimuutosten katselmointi Visual Studiossa on usein hyödyllistä, koska voit käyttää hyväksi sen eri työkaluja.

Vie...

Vie valitut tiedostot/kansiot valitussa versiossa. Komento avaa ikkunan, jossa voit vahvistaa paikantimen ja version sekä valita talletuskansion.

Vihje

Olet ehkä huomannut, että joskus viittaamme muutoksiin ja joskus eroihin. Mitä eroa näillä on?

Subversion käyttää versionumeroita tarkoittamaan kahta eri asiaa. Yleensä versio kuvaa arkiston tilaa tietyllä ajan hetkellä, mutta sitä voidaan myös käyttää kuvaamaan sitä muutosjoukkoa, jolla versio luotiin, esim. X tehty versiossa r1234 tarkoittaa, että versiossa 1234 toimitetut muutokset toteuttavat ominaisuuden X. Tehdäksemme selväksi, kumpaa asiaa tarkoitetaan, käytämme kahta eri termiä.

Jos valitset kaksi versiota N ja M, kontekstivalikossa on komento, joka näyttää erot versioiden välillä. Subversion-termein tämä ilmaistaan diff -r M:N.

Jos valitset yksittäisen version N, kontekstivalikossa on komento, joka näyttää versiossa tehdyt muutokset.

Alapaneeli näyttää kaikki valituissa versioissa muuttuneet tiedostot, joten kontekstivalikossa on aina mukana komento Näytä muutokset.

Lisää lokiviestejä

Loki ei aina näytä kaikkia koskaan tehtyjä muutoksia useista eri syistä:

  • Suuressa arkistossa voi olla satoja tai tuhansia muutoksia, ja niiden kaikkien hakeminen voi viedä runsaasti aikaa. Tavallisesti olet luultavasti kuitenkin kiinnostunut vain viimeisimmistä muutoksista. Oletusarvoisesti TortoiseSVN noutaa 100 viimeisintä lokiviestiä, mutta voit muuttaa tätä arvoa komennolla TortoiseSVNAsetukset (”Ikkuna-asetukset 1”),

  • Kun valinta Pysäytä kopion/uudelleennimennän kohdalla on ruksattu, Näytä loki pysähtyy kohdassa, missä valittu tiedosto tai kansio kopioitiin jostain muualta arkistosta. Tästä on hyötyä, kun tutkit haaraa (tai merkittyä versiota), koska silloin loki pysähtyy haaran juureen, ja voit nopeasti tutkia pelkästään haarassa tehtyjä muutoksia.

    Tavallisesti on parasta jättää tämä valinta tyhjäksi. TortoiseSVN muistaa valintalaatikon tilan, joten voit muuttaa sen haluamaksesi pysyvästi.

    Kun loki avataan yhdistämiskomennon aikana, valinta on aina oletusarvoisesti päällä. Tämä johtuu siitä, että yhdistämisessä on enimmäkseen kyse haaroissa tehtyjen muutosten etsimisestä, ja haaran juurta edeltävä historia ei siksi yleensä ole kiinnostavaa.

    Huomaa, että uudelleennimentä on nykyään toteutettu Subversionissa kopioi/poista -komentoparina, joten tiedoston tai kansion nimeäminen uudelleen pysäyttää myös lokin, jos tämä valinta on aktiivinen.

Jos haluat nähdä lisää lokiviestejä, napsauta Seuraavat 100 -painiketta saadaksesi 100 seuraavaa lokiviestiä. Voit toistaa tämän niin monta kertaa kuin on tarpeen.

Tämän painikkeen vieressä on monitoimipainike, joka muistaa, mihin sitä viimeksi käytettiin. Napsauta nuolta nähdäksesi vaihtoehtoiset komennot.

Käytä Näytä väli ... -komentoa, jos haluat nähdä tietyn versiovälin. Komento avaa ikkunan, johon voit syöttää alku- ja loppuversion.

Käytä Näytä kaikki -komentoa, jos haluat nähdä kaikki lokiviestit HEAD-versiosta aina versioon 1 saakka.

Päivittääksesi viimeisimmän näytetyn version, paina F5.

Paina Ctrl-F5 päivittääksesi lokivälimuistin.

Työkopion nykyinen versio

Koska loki-ikkuna näyttää HEAD-version (eikä työkopion nykyversion) lokin, saattaa usein käydä niin, että näet lokiviestejä sisällölle, joka ei ole vielä mukana työkopiossa. Jotta tämä olisi selkeämpää, työkopiosi versiota vastaava toimitusviesti näytetään lihavoituna.

Kun näytät loki-ikkunan kansiolle, sen sisältämä suurin versionumero korostetaan; tämä vaatii työkopion läpikäymisen. Läpikäynti tapahtuu erillisessä säikeessä jotta loki-ikkunan näyttäminen ei viivästyisi, mutta tästä syystä kansioiden korostus ei välttämättä näy heti.

Suoritettujen yhdistämisten jäljitys

Subversion 1.5 ja uudemmat versiot pitävät kirjaa tehdyistä yhdistämisistä ominaisuuksien avulla. Tämän ansiosta yhdistämisistä saadaan tarkempaa historiatietoa kuin aiemmin. Jos esimerkiksi kehität uuden ominaisuuden haarassa ja yhdistät sen sitten päähaaraan, ominaisuuden kehitysloki näkyy päähaaran lokissa vain yhtenä toimituksena (tehty yhdistäminen), vaikka haarassa on saattanut olla satoja arkistotoimituksia ominaisuuden kehityksen aikana.

Kuva 4.24. Yhdistettyjen versioiden jäljitys loki-ikkunassa

Yhdistettyjen versioiden jäljitys loki-ikkunassa

Jos haluat nähdä yksityiskohtaisesti, mitkä versiot yhdistettiin näytettävään haaraan osana arkistotoimitusta, ruksaa valinta Ota yhdistetyt versiot mukaan. Toiminto hakee lokiviestit uudelleen, mutta lisää väliin lokiviestit, jotka yhdistettiin. Yhdistetyt versiot näytetään harmaina koska ne esittävät muutoksia, jotka on tehty eri osaan arkistopuuta.

Yhdistäminen ei tietenkään koskaan ole yksinkertaista! Kun jotain toimintoa kehitetään omassa kehityshaarassaan, siihen luultavasti tehdään ajoittaisia yhdistämisiä päähaarasta, jotta kehityshaara pysyy ajan tasalla. Niinpä haaran yhdistämishistoria sisältää myös lisäkerroksen yhdistämishistoriaa. Nämä eri kerrokset näytetään lokissa sisentämällä.

Lokiviestin ja tekijätietojen muuttaminen

Versio-ominaisuudet eroavat täysin kunkin Subversion-kohteen ominaisuuksista. Versio-ominaisuudet (eng. revprops) ovat kuvaustietoja (esim. lokiviesti, toimituspäiväys ja tekijä), jotka liitetään tiettyyn versionumeroon arkistossa.

Joskus saatat haluta muuttaa aimmin syöttämääsi lokiviestiä, ehkäpä kirjoitusvirheen takia, tai koska haluat parantaa sitä tai muuttaa sitä muista syistä. Tai haluat muuttaa toimituksen tekijätiedon, koska unohdit laittaa tunnistuksen kuntoon, tai...

Sekä lokiviestiä että tekijätietoja voidaan muuttaa milloin vain. Koska tällaisia muutoksia ei voi perua (muutokset eivät versioidu), ominaisuus on oletusarvoisesti estetty. Salliaksesi sen sinun on määriteltävä pre-revprop-change -toimintokomento. Katso lisätietoa Subversion-kirjan kappaleesta Hook Scripts. Luvussa ”Palvelinpään komentojonot” on tietoa toimintokomentojen ottamisesta käyttöön Windows-ympäristössä.

Määriteltyäsi tarpeelliset komentosarjat palvelimellasi voit muuttaa minkä tahansa version tekijätietoja tai lokiviestejä (tai mitä tahansa versio-ominaisuutta). Komento tähän löytyy loki-ikkunan yläpaneelin kontekstivalikosta. Voit myös muokata lokiviestiä keskipaneelin kontekstivalikon avulla.

Varoitus

Koska Subversionin versio-ominaisuudet eivät itse versioidu, tällaiset muutokset (esim. toimitusviestin ominaisuus svn:log) hävittävät ominaisuuden edellisen arvon pysyvästi.

Tärkeää

Koska TortoiseSVN säilöö lokitiedot välimuistiin, lokiviestien ja tekijöiden muutokset näkyvät vain paikallisessa tietokoneessa. Muut TortoiseSVN-käyttäjät näkevät muutokset vasta, kun he päivittävät oman lokivälimuistinsa. Ks. ”Näytön päivitys”

Lokiviestin suodattaminen

Jos et halua käydä läpi satojen lokiviestien listaa, voit rajoittaa näytetyt lokiviestit vain niihin, joista olet kiinnostunut käyttämällä loki-ikkunan yläosassa olevia suodatintoimintoja. Alku- ja loppupäiväyskontrollien avulla näytetyt viestit voi rajoittaa tietylle päivämäärävälille. Hakukontrollin avulla voit näyttää vain viestit, jotka sisältävät annetun tekstin.

Napsauta etsintäkuvaketta valitaksesi, mitä etsitään. Valitse etsintä säännöllisten lausekkeiden avulla. Tavallisesti tarvitset luultavasti vain yksinkertaista tekstihakua, mutta monimutkaisemmissa hauissa säännöllisten lausekkeiden käytöstä on hyötyä. Jos viet hiiren kontrollin päälle, esiin aukeaa työkaluvihje, jossa on vinkkejä säännöllisten lausekkeiden käytöstä ja merkkijonofunktioista. Suodatin toimii tarkistamalla, täsmääkö antamasi merkkijono lokiviestien kanssa, ja vain ne lokiviestit näytetään, jotka täsmäävät suodatinmerkkijonon kanssa.

Yksinkertainen osamerkkijonohaku toimii samaan tapaan kuin hakukone. Etsittävät merkkijonot erotetaan välilyönnein, ja kaikkien on täsmättävä. Voit käyttää etuliitettä - kertomaan, että osamerkkijonoa ei saa löytyä, ja etuliitettä ! lausekkeen alussa kertomaan, että koko lauseke on täsmättävä käänteisesti. Voit käyttää etuliitettä + kertomaan, että osamerkkijonon on löydyttävä (vaikka se olisi aiemmin suljettu pois etuliitteellä -). Huomaa, että järjestyksellä on tässä väliä. Voit käyttää lainausmerkkejä ympäröimään merkkijonoja, joissa on välilyöntejä, ja mikäli haluat etsiä itse lainausmerkkiä, tapahtuu se laittamalla kaksi lainausmerkkiä perätysten. Huomaa, että kenoviivaa ei käytetä pakomerkkinä. Esimerkit selventävät asiaa:

Alice Bob -Eve

etsii merkkijonoja, joissa esiintyy sekä Alice että Bob muttei Eve.

Alice -Bob +Eve

etsii merkkijonoja, joissa esiintyy sekä Alice muttei Bob, tai jonoja joissa esiintyy Eve.

-Case +SpecialCase

etsii merkkijonoja, joissa ei esiinny Case, ottaen kuitenkin mukaan jonot, joissa esiintyy SpecialCase.

!Alice Bob

etsii merkkijonoja, joissa ei esiinny sekä Alice että Bob.

!-Alice -Bob

muistatko De Morganin lauseen? NOT(NOT Alice AND NOT Bob) yksinkertaistuu muotoon (Alice OR Bob).

"Alice and Bob"

etsii merkkijonoa Alice and Bob.

""

etsii lainausmerkkiä missä tahansa tekstissä.

"Alice says ""hi"" to Bob"

etsii merkkijonoa Alice says "hi" to Bob.

Säännölliset lausekkeet eivät mahdu tämän oppaan aihepiiriin, mutta löydät johdantomateriaalia osoitteestahttp://www.regular-expressions.info/.

Huomaa, että suodattimet toimivat vain jo haettuihin viesteihin. Niillä ei ole vaikutusta viestien hakemiseen arkistosta.

Voit myös suodattaa alapaneelissa näytettyjä polkunimä käyttämällä Näytä vain kohteeseen liittyvät polut -valintaa. Liittyvät polut ovat niitä, jotka sisältävät osanaan polun, jota käytetään itse lokin näyttämiseen. Jos lokia näytetään kansiolle, tämä tarkoittaa kaikkia tiedostoja kansiossa tai sen alapuolella. Tiedostolle se tarkoittaa vain tiedostoa itseään. Normaalisti polkuilista näyttää kaikki polut, jotka liittyvät samaan toimitukseen, mutta harmaina. Mikäli valinta on käytössä, nämä polut piilotetaan.

Joskus on tarpeen vaatia, että lokiviestit noudattavat sovittua muotoa, mikä tarkoittaa, että muutoksia kuvaava teksti ei näy yläpaneelin lyhennetyssä yhteenvedossa. Ominaisuutta tsvn:logsummary voidaan käyttää irrottamaan lokiviestistä yläpaneelissa näkyvä osa. Lue luvusta ”TortoiseSVN-projektin ominaisuudet” kuinka ominaisuutta käytetään.

Lokiviestien muotoilu ei ole käytettävissä arkistoselaimessa

Koska lokiviestien muotoilu vaatii Subversion-ominaisuuksien käyttöä, näet tulokset vain työkopion kautta. Ominaisuuksien haku palvelimelta on hidasta, joten tämä toiminto ei ole käytettävissä arkistoselaimessa.

Tilastotiedot

Tilastot-painike näyttää joitain mielenkiintoisia metriikoita lokissa näkyvistä versioista. Komento laskee, kuinka monta tekijää on tehnyt muutoksia, kuinka monta muutosta on tehty, mikä on ollut viikottainen edistyminen, jne. Näet yhdellä silmäyksellä, kuka on tehnyt eniten töitä, ja kuka on laiskotellut ;-)

Tilastoikkuna

Tämä ikkuna näyttää monenlaisia metriikoita näytetyistä lokiviesteistä, erityisesti katetun ajanjakson ja versioiden määrän sekä muutamia minimi/maksimi/keskiarvotietoja.

Toimitukset arkistoon tekijöittäin

Kuva 4.25. Toimitukset tekijöittäin -histogrammi

Toimitukset tekijöittäin -histogrammi


Tämä graafi näyttää, ketkä tekijät ovat olleet aktiivisimpia projektissa. Piirtovaihtoehtoina ovat histogrammi, pinottu histogrammi tai ympyräkaavio.

Kuva 4.26. Toimitukset tekijöittäin -ympyräkaavio

Toimitukset tekijöittäin -ympyräkaavio


Tilanteessa, jossa päätekijöitä on vähän ja avustavia tekijöitä paljon, pienten segmenttien suuri lukumäärä voi tehdä graafista vaikealukuisen. Ikkunan alaosassa olevan liukukytkimen avulla voit säätää kynnyksen (prosentteina kaikista toimituksista), jonka alapuolinen aktiviteetti niputetaan kategoriaan Muut.

Toimitukset päiväyksen mukaan

Kuva 4.27. Toimitukset päiväyksen mukaan -graafi

Toimitukset päiväyksen mukaan -graafi


Tässä ikkunassa näet graafisesti projektin aktiivisuuden toimitusten lukumäärän ja tekijöiden mukaan. Graafi antaa osviittaa siitä, milloin projektin parissa työskennellään, ja kuka työskentelee milloinkin.

Kun tekijöitä on useita, graafissa on useita viivoja. Saatavilla on kaksi näkymää: tavallinen, missä kunkin tekijän aktiivisuus on suhteessa perusviivaan, ja pinottu, missä kunkin tekijän aktiivisuus on suhteessa alla olevaan viivaan. Jälkimmäinen vaihtoehto välttää viivojen leikkaukset, mikä saattaa tehdä graafista helppolukuisemman; toisaalta yksittäisen tekijän tuotoksien määrää on vaikeampi arvioida.

Oletusarvoisesti analyysi välittää merkkien tasoista, joten käyttäjiä PeterEgan ja PeteRegan kohdellaan eri tekijöinä. Monissa tapauksissa käyttäjänimet eivät välitä merkkien tasosta, ja voivat siten olla vaihtelevasti syötettyjä. Tällöin haluat luultavasti käyttäjien DavidMorgan ja davidmorgan tarkoittavan samaa henkilöä. Käytä Tekijät merkkien tasosta välittämättä -valintaa määrittämään, miten tässä toimitaan.

Huomaa, että tilastot kattavat saman jakson, minkä loki näyttää. Jos se näyttää vain yhtä versiota, tilastot eivät kerro sinulle kovin paljon.

Yhteydetön tila

Kuva 4.28. Yhteydetön tila

Yhteydetön tila


Jos palvelimeen ei saada yhteyttä ja lokiviestien talletus on päällä, voit käyttää loki-ikkunaa ja versiograafia yhteydettömässä tilassa. Tällöin käytetään paikallisesti talletettuja lokitietoja, ja voit jatkaa työskentelyä, vaikka tiedot eivät välttämättä ole ajan tasalla tai täydellisiä.

Tässä sinulla on kolme vaihtoehtoa:

Yhteydetön toistaiseksi

Saata nykyinen toiminto päätökseen yhteydettömässä tilassa, mutta yritä kytkeytymistä uudelleen seuraavalla kerralla.

Pysyvästi yhteydetön

Pysy yhteydettömässä tilassa kunnes arkistotarkistusta erityisesti pyydetään. Katso luku ”Näytön päivitys”.

Peru

Jos et halua jatkaa toimintoa mahdollisesti vanhentuneilla tiedoilla, peruuta se.

Valinta Tee tästä oletusarvo estää ikkunan näyttämisen uudelleen ja valitsee sen sijaan aina vaihtoehdon, jonka valitset seuraavaksi. Voi yhä vaihtaa (tai poistaa) oletuksen toiminnolla TortoiseSVNAsetukset.

Näytön päivitys

Jos haluat tarkistaa palvelimelta uudet lokiviestit, voit päivittää näytön helposti painamalla F5. Mikäli käytät lokivälimuistia (oletusarvoisesti päällä), komento noutaa arkistosta vain uudet lokiviestit. Jos lokivälimuisti on yhteydettömässä tilassa, komento koettaa myös siirtyä takaisin yhteydelliseen tilaan.

Jos käytät lokivälimuistia ja uskot lokiviestin sisällön tai tekijän muuttuneen, voit käyttää komentoa Shift-F5 tai Ctrl-F5 hakeaksesi näytössä olevat viestit uudelleen palvelimelta lokivälimuistiin. Huomaa, että tämä koskee vain näytettäviä viestejä eikä mitätöi kyseisen arkiston lokivälimuistia kokonaisuudessaan.

Vertailu

Yksi tavallisimmista vaatimuksista projektityössä on kyetä näkemään, mikä on muuttunut. Saattaa olla tarpeen verrata saman tiedoston kahta eri versiota tai kahta eri tiedostoa. TortoiseSVN:n mukana tulee työkalu nimeltä TortoiseMerge, jonka avulla voi vertailla tekstitiedostojen välisiä eroja. Kuvatiedostojen vertailuun TortoiseSVN:n mukana tulee puolestaan työkalu nimeltä TortoiseIDiff. Voit tietysti myös halutessasi käyttää muita ohjelmia.

Tiedostojen erot

Paikalliset muutokset

Jos haluat nähdä omat työkopioosi tekemäsi muutokset, valitse Resurssienhallinnan kontekstivalikosta komento TortoiseSVNVertaa.

Ero toiseen haaraan / merkittyyn versioon

Jos haluat nähdä, mitä muutoksia päähaarassa (olettaen, että työskentelet haarassa) tai jossain tietyssä haarassa (olettaen, että työskentelet päähaarassa) on tapahtunut, voit käyttää Resurssienhallinnan kontekstivalikkoa. Pidä Shift-näppäintä pohjassa napsauttaessasi hiiren oikealla näppäimellä tiedostoa. Valitse sitten komento TortoiseSVNVertaa paikantimen kanssa. Esiin aukeaa ikkuna, johon voit syöttää paikantimen, johon haluat verrata paikallista tiedostoa.

Voit myös avata arkistoselaimen ja valita kaksi verrattavaa tiedostopuuta, ehkäpä kaksi merkittyä versiota tai haaran / merkityn version ja päähaaran. Arkistoselaimen kontekstivalikon komento Vertaa paikantimia. Lisätietoja löydät luvusta ”Kansioiden vertailu”.

Erot edeltävään versioon

Jos haluat nähdä erot tietyn version ja työkopiosi välillä, avaa versioloki, valitse haluamasi versio ja anna kontekstivalikosta komento Vertaa työkopioon.

Jos haluat verrata viimeisintä toimitettua versiota työkopioosi (olettaen, että työkopio ei ole muuttunut), anna kontekstivalikon komento TortoiseSVNVertaa edelliseen versioon. Vertailu suoritetaan viimeisintä toimitusaikaa (talletettu työkopioon) edeltävän version ja kantaversion (BASE) välillä. Toisin sanoen näet muutokset, jotka johtivat nykyiseen työkopioon. Komento ei näytä työkopiotasi uudempia muutoksia.

Erot kahden edellisen version välillä

Jos haluat nähdä erot kahden, jo arkistoon toimitetun version välillä, avaa versioloki ja valitse vertailtavat versiot (käyttäen valintaa normaalisti Ctrl-näppäintä). Valitse sitten kontekstivalikon komento Vertaa versioita.

Jos teet tämän kansion versiolokista, näyttöön aukeaa Vertaa versiota-ikkuna, jossa luetellaan kansiossa olevat muuttuneet tiedostot. Lue lisää luvusta ”Kansioiden vertailu”.

Kaikki toimituksessa tehdyt muutokset

Jos haluat nähdä kaikki tietyssä versiossa tehdyt muutokset yhdellä kertaa, voit käyttää Unified diff-komentoa, joka näyttää erot (muutaman kontekstirivin kera) GNU Patch-muodossa. Eroja on vaikeampi tulkita kuin visuaalisessa vertailussa, mutta toisaalta ne ovat kaikki yhdessä. Valitse versiolokista haluttu versio ja anna sen jälkeen kontekstivalikosta komento Näytä erot Unified diff -muodossa."

Erot tiedostojen välillä

Jos haluat vertailla kahta eri tiedostoa, voit tehdä sen suoraan Resurssienhallinnasta valitsemalla molemmat tiedostot (käyttäen Ctrl-näppäintä). Valitse sitten kontekstivalikon komento TortoiseSVNVertaa.

Jos verrattavat tiedostot eivät ole samassa kansiossa, käytä komentoa TortoiseSVNVertaa myöhemmin merkitäksesi ensimmäisen vertailtavan tiedoston. Siirry sen jälkeen toisen tiedoston luo ja käytä komentoa TortoiseSVNVertaa tiedostoon "polku/merkittyyn/tiedostoon". Poistaaksesi merkityn tiedoston anna komento TortoiseSVNVertaa myöhemmin pitämällä samalla näppäin Ctrl painettuna.

Erot työkopion tiedoston/kansion ja paikantimen välillä

Jos haluat verrata työkopiosi tiedostoa tiedostoon jossain Subversion-arkistossa, voit tehdä niin suoraan Resurssienhallinnasta valitsemalla tiedoston ja pitämällä pohjassa Shift-näppäintä samalla kuin avaat kontekstivalikon hiiren oikealla näppäimellä. Anna lopuksi komento TortoiseSVNVertaa paikantimen kanssa. Voit tehdä saman asian työkopion työkopion kansiolle. TortoiseMergenäyttää erot samaan tapaan kuin paikkatiedoston - luettelona muuttuneista tiedostoista, joita voit katsella yksi kerrallaan.

Erot ja niiden tekijät

Jos haluat nähdä erojen lisäksi myös tekijän, version ja muutosten päiväyksen, voit yhdistää vertailun ja tekijöiden selvityksen versiolokissa. Lue yksityiskohdat luvusta ”Vertaa ja selvitä tekijät”.

Erot kansioiden välillä

TortoiseSVN:n mukana tulevat työkalut eivät tue kansiohierarkioiden välisten erojen vertailua. Jos sinulla kuitenkin on työkalu, joka tukee tällaista, voit käyttää sitä sen sijaan. Luvussa ”Erilliset vertailu- ja yhdistämistyökalut” kerromme muutamista käyttämistämme työkaluista.

Jos olet määritellyt ulkoisen vertailuohjelman, voit käyttää vaihtoehtoista työkalua pitämällä Shift -näppäimen pohjassa antaessasi Vertaa-komennon. Lue luvusta ”Ulkoiset ohjelmat”, miten ulkoiset vertailutyökalut määritellään.

Rivinlopetin- ja tyhjämerkkiasetukset

Jossain vaiheessa projektia saattaa tulla tarpeelliseksi muuttaa rivinloppumerkit CRLF-muodosta LF-muotoon. Saatat myös muuttaa jonkun lohkon sisennystä. Valitettavasti molemmat toimenpiteet merkitsevät suuren määrän rivejä muuttuneiksi, vaikka itse sisällön merkitys ei muutu. Seuraavat asetukset auttavat tällaisissa tilanteissa vertailtaessa ja sovellettaessa paikkatiedostoja. Valinnat löytyvät komentojen Yhdistä ja Selvitä tekijät yhteydestä, samoin kuin TortoiseMerge-työkalun asetuksista.

Älä välitä rivinvaihdoista ohittaa muutokset, jotka johtuvat pelkästään erilaisesta rivinlopetustyylistä.

Vertaa tyhjämerkkejä tulkitsee kaikki muutokset sisennyksessä ja rivin sisäisissä tyhjämerkeissä lisättyinä/poistettuina riveinä.

Ohita muuttuneet tyhjämerkit jättää pois muutokset, jotka johtuvat pelkästään tyhjämerkkien määrän tai tyypin muutoksesta, esim. sisennysmerkkien muuttumisesta tabulointimerkeistä välilyönneiksi. Tyhjämerkkien lisääminen paikkaan, missä niitä ei ennen ollut, tai kaikkien tyhjämerkkien poisto luetaan yhä muutokseksi.

Ohita kaikki tyhjämerkit jättää huomiotta kaikki tyhjämerkeistä johtuvat muutokset.

Kaikki rivit, joiden sisältö on muuttunut, sisältyvät tietenkin aina vertailuun.

Kansioiden vertailu

Kuva 4.29. Versioiden vertailu

Versioiden vertailu


Kun valitset kaksi alipuuta arkistoselaimesta, tai kun valitset jonkin kansion kaksi eri versiota loki-ikkunasta, voit antaa komennon KontekstivalikkoVertaa versioita.

Ikkuna näyttää listan kaikista muuttuneista tiedostoista ja sallii yksittäisten tiedostojen vertaamisen tai muutosten tekijöiden selvittämisen kontekstivalikon kautta.

Voit viedä muutospuun, mistä voi olla hyötyä, jos joudut lähettämään jollekulle projektisi puurakenteen, joka sisältää vain muuttuneet tiedostot. Toiminto koskee vain valittuja tiedostoja, joten joudut valitsemaan haluamasi tiedostot - yleensä kaikki - ja antamaan sitten komennon KontekstivalikkoVie valitut tiedostot.... Sinulta kysytään lopuksi muutospuun talletuspaikka.

Voit myös siirtyä tietylle riville käyttämällä komentoa MuokkaaSiirry riville....

Jos haluat viedä tiedostolistan ja toimenpiteet (muutettu, lisätty, poistettu) samalla kertaa, voit tehdä sen komennolla KontekstivalikkoKopioi valinta leikepöydälle.

Ikkunan yläosassa oleva nuolipainike sallii vertailun suunnan muuttamisen. Voit siis näyttää muutokset, joiden avulla A:sta saadaan B, tai, halutessasi, miten B:stä saadaan A.

Versionumeroilla varustettuja painikkeita voi käyttää asettamaan erilainen versioväli. Aina kun vaihdat väliä, lista vertailtavien versioiden välissä muuttuneista kohteista päivittyy automaattisesti.

Jos tiedostonimilista on hyvin pitkä, voit käyttää etsintäkenttää supistamaan sitä. Huomaa, että haku on yksinkertainen tekstihaku, joten jos haluat rajoittaa listan C-tiedostoihin, syötä .c eikä *.c.

Kuvien vertailu TortoiseIDiff-työkalulla

Tekstitiedostojen vertailuun on saatavilla useita työkaluja, muiden muassa TortoiseMerge, mutta usein on tarpeen nähdä, miten kuvatiedosto on muuttunut. Tätä varten kehitettiin TortoiseIDiff.

Kuva 4.30. Kuvien vertailuohjelma

Kuvien vertailuohjelma


Komento TortoiseSVNVertaa mille tahansa yleiselle kuvaformaatille käynnistää TortoiseIDiff-työkalun, jolla kuvia voi verrata. Oletusarvoisesti kuvat näytetään rinnakkain, mutta Näytä-valikon tai työkalurivin avulla voit vaihtaa ne näkymään pinottuna; voit myös halutessasi näyttää kuvat sekoitettuna päällekkäin.

Käytössä on tietenkin myös zoomaus- ja siirtotyökalut. Voit siirtää kuvaa raahaamalla sitä hiiren vasemmalla napilla. Jos valitset asetuksen Kytke kuvat yhteen , niin siirtokontrollit (vierityspalkit, hiiren rullapyörä) kytkeytyvät molemmissa kuvissa yhteen.

Kuvan tietolaatikko näyttää yksityiskohtia kuvatiedostosta, kuten koko pikseleinä, tarkkuus ja värisyvyys. Jos tietolaatikko on tiellä, komento NäytäKuvan tiedot piilottaa sen. Samat tiedot näytetään työkaluvihjeessä, kun pidät hiirtä hetken kuvaotsikon päällä.

Kun kuvat ovat päällekkäin, niiden suhteellista intensiteettiä (alpha) kontrolloidaan ikkunan vasemmalla puoliskolla olevan liukukytkimen avulla. Voit napsauttaa minne tahansa liukukytkimen päällä tai säätää sitä muuttaaksesi sekoitusta interktiivisesti. Toiminto CTRL+SHIFT-Hiiren vieritysrulla vaihtaa myös sekoitusta.

Liukusäätimen yläpuoinen painike vaihtaa 0% ja 100% sekoituksien välillä, ja jos kaksoisnapsautat painiketta, sekoitus alkaa vaihdella automaattisesti sekunnin välein, kunnes napsautat painiketta uudelleen. Tästä voi olla hyötyä pienten muutosten etsinnässä.

Joskus on hyödyllistä nähdä erot sekoituksen sijaan. Sinulla saattaa olla esim. kaksi piirilevykaavion versiota ja haluat tietää, mitkä osat ovat muuttuneet. Jos otat pois käytöstä sekoitustilan, ero näytetään pikselien väriarvojen XOR-operaationa. Muuttumattomat alueet ovat valkoisia ja muutetut alueet värjättyjä.

Office-dokumenttien vertailu

Kun haluat vertailla muuta kuin tekstiä sisältäviä dokumentteja, on normaalisti käytettävä ohjelmaa, jolla dokumentti luotiin, koska vain se tuntee dokumentin rakenteen. Yleisesti käytetyissä Microsoft Office- ja Open Office -ympäristöissä onkin mukana vertailutuki, ja TortoiseSVN sisältää komentojonoja, joiden avulla ohjelmat käynnistyvät oikeilla asetuksilla, kun vertailet niillä tehtyjä dokumentteja. Voit tarkistaa, mitä tiedostotyyppejä tuetaan ja lisätä omiasi komennolla TortoiseSVNAsetukset ja napsauttamalla Ulkoiset ohjelmat -osion painiketta Lisäasetukset.

Ongelmia Office 2010:n kanssa

Jos olet asentanut Click-to-Run -version Office 2010-ympäristöstä ja koetat vertailla dokumentteja, saatat saada seuraavan Windows Script Host -virheilmoituksen: ActiveX component can't create object: word.Application. Mitä ilmeisimmin Office on asennettava MSI-versiona, jotta vertailu toimisi.

Erilliset vertailu- ja yhdistämistyökalut

Jos TortoiseSVN:n mukana tulevat työkalut eivät tee kaikkia haluamiasi asioita, koeta jotain toista avoimen lähdekoodin- tai kaupallista työkalua. Jokaisella on oma suosikkinsa, eikä seuraava luettelo ole millään muotoa täydellinen, mutta tässä on muutamia harkitsemisen arvoisia työkaluja:

WinMerge

WinMerge

Perforce Merge

Perforce on kaupallinen versionhallintajärjestelmä, mutta sen vertailu/yhdistämistyökalua saa käyttää ilmaiseksi. Lisätietoa löytyy Perforce-sivustosta.

KDiff3

KDiff3 on ilmainen vertailutyökalu, joka osaa myös käsitellä hakemistoja. Voit noutaa sen osoitteesta http://kdiff3.sf.net/.

SourceGear DiffMerge

SourceGear Vault on kaupallinen versionhallintaohjelmisto, mutta voit käyttää sen diff/merge -työkalua ilmaiseksi. Lisätietoa osoitteessa https://www.sourcegear.com/diffmerge/.

ExamDiff

ExamDiff Standard on ilmaisohjelma. Se osaa käsitellä tiedostoja, muttei hakemistoja. ExamDiff Pro on maksullinen julkisohjelma (shareware), joka lisää tähän joukon lisäominaisuuksia (mm. hakemistojen käsittely ja tiedostojen muokkaus). Molemmat ohjelmat tuntevat Unicode-merkistön versiosta 3.2 eteenpäin. Void ladata ne yrityksen sivuilta osoitteesta http://www.prestosoft.com/.

Beyond Compare

Kuten ExamDiff Pro, Beyond Compare on mainio maksullinen tiedostojen vertailuohjelma, joka osaa käsitellä hakemistoeroja ja Unicode-merkistöä. Lataa se osoitteesta Scooter Software.

Araxis Merge

Araxis Merge on hyödyllinen kaupallinen työkalu vertailuun ja tiedostojen/kansioiden yhdistämiseen. Se osaa kolmisuuntaisen vertailun yhdistettäessä ja tuntee synkronointilinkit, joita voi käyttää funktioiden järjestyksen muuttuessa. Lataa ohjelma seuraavasta osoitteesta: Araxis.

Lue kappaleesta ”Ulkoiset ohjelmat” lisätietoa työkalujen ottamisesta käyttöön TortoiseSVN:ssä.

Uusien tiedostojen ja kansioiden lisääminen

Kuva 4.31. Resurssienhallinnan kontekstivalikko versioimattomille tiedostoille

Resurssienhallinnan kontekstivalikko versioimattomille tiedostoille


Jos olet luonut uusia tiedostoja ja/tai hakemistoja kehitysprosessin aikana, ne on myös lisättävä versionhallintaan. Valitse tiedosto(t) ja/tai hakemisto sekä anna komento TortoiseSVNLisää.

Kun olet lisännyt tiedostot/kansiot versionhallintaan, tiedoston kuvakepäällys muuttuu tilaan lisätty, mikä tarkoittaa, että muutokset on toimitettava arkistoon, jotta ne näkyvät muille kehittäjille. Pelkkä kansion tai hakemiston lisääminen ei vaikuta arkistoon!

Useat lisäykset

Voit käyttää Lisää-komentoa myös jo versioituihin kansioihin. Tässä tapauksessa lisäysikkuna näyttää kaikki versioidun kansion sisältämät versioimattomat tiedostot. Tämä auttaa, jos sinulla on paljon uusia tiedostoja, ja haluat lisätä ne kerralla.

Voit käyttää raahaamismekanismia lisätäksesi tiedostoja työkopion ulkopuolelta:

  1. Valitse tiedostot, jotka haluat lisätä

  2. Oikea-raahaa ne uuteen paikkaan työkopion sisällä

  3. Vapauta hiiren oikea näppäin

  4. Valitse komento KontekstivalikkoSVN Lisää tiedostot tähän työkopioon. Tiedostot kopioidaan työkopioon ja lisätään versionhallintaan.

Voit myös lisätä tiedostoja työkopion sisällä yksinkertaisesti raahaamalla ja pudottamalla tiedostoja toimitusikkunaan hiiren vasenta painiketta käyttäen.

Jos lisäsit tiedoston tai kansion vahingossa, voit perua lisäyksen ennen toimitusta komennolla TortoiseSVNPeru lisäys....

Tiedostojen ja kansioiden kopiointi, siirto ja uudelleen nimeäminen

Usein käy, että sinulla on jo tarvitsemasi tiedostot jossain arkistosi toisessa projektissa, ja haluat vain kopioida ne uuteen projektiin. Voisit yksinkertaisesti kopioida tiedostot työkopioosi ja lisätä ne, mutta tällöin menettäisit muutoshistorian. Lisäksi on huomattava, että jos myöhemmin teet muutoksia alkuperäisiin tiedostoihin, voit yhdistää ne automaattisesti vain, jos uusi kopio on suhteessa vanhaan Subversion-arkistossa.

Helpoin tapa kopioida tiedostoja ja kansioita työkopiossa on käyttää hiiren oikean näppäimen raahausvalikkoa. Kun oikea-raahaat tiedoston tai kansion työkopiosta toiseen (tai jopa saman kansion sisällä), esiin aukeaa kontekstivalikko, kun vapautat hiiren.

Kuva 4.32. Oikea-raahaa -valikko versioidulle kansiolle

Oikea-raahaa -valikko versioidulle kansiolle


Näillä komennoilla voit kopioida olemassa olevaa, versioitua sisältöä paikasta toiseen, ja mahdollisesti nimetä sen samalla uudelleen.

Voit myös kopioida tai siirtää versioituja tiedostoja työkopion sisällä tai kahden työkopion välillä perinteisellä leikkaa-liimaa -menetelmällä. Käytä Windowsin normaaleja Kopioi tai Leikkaa -toimintoja kopioidaksesi yhden tai useamman versioidun kohteen leikepöydälle. Jos leikepöytä sisältää tällaisia versioituja kohteita, voit käyttää komentoa TortoiseSVNLiitä (huomaa: ei Windowsin tavallinen Liitä -komento) kopioidaksesi tai siirtääksesi kohteet uuteen paikkaan työkopiossa.

Voit kopioida tiedostoja ja kansioita työkopiostasi muualle arkistoon komennolla TortoiseSVNLuo haara / merkitty versio. Katso lisää luvusta ”Haaran tai merkityn version luonti”.

Voit etsiä lokista tiedoston tai kansion vanhemman version, ja kopioida sen uuteen paikkaan arkistossa suoraan loki-ikkunasta komennolla KontekstivalikkoLuo versiosta haara / merkitty versio. Katso lisää luvusta ”Lisätietoa”.

Voit myös käyttää arkistoselainta etsimään haluamasi sisältö ja kopioidaksesi sen työkopioosi suoraan arkistosta, tai kopioidaksesi sen toiseen paikkaan arkistossa. Katso lisää luvusta ”Arkistoselain”.

Kopiointi arkistojen välillä ei ole mahdollista

Vaikka voit kopioida ja siirtää tiedostoja tai kansioita arkiston sisällä, niin kopiointi arkistojen välillä historiatiedot säilyttäen ei ole mahdollista. Ei, vaikka arkistot sijaitsisivat samalla palvelimella. Voit ainoastaan kopioida lähdesisällön nykytilassaan ja lisätä sen uutena sisältönä toiseen arkistoon.

Jos et ole varma, viittaako samalla palvelimella sijaitsevaa kaksi paikanninta eri arkistoihin, käytä arkistoselainta avataksesi toisen paikantimen ja siirtyäksesi sen juureen. Jos voit nyt nähdä molemmat paikantimet samassa arkistoselaimessa, ne sijaitsevat samassa arkistossa.

Tiedostojen ja kansioiden ohittaminen

Kuva 4.33. Resurssienhallinnan kontekstivalikko versioimattomille tiedostoille

Resurssienhallinnan kontekstivalikko versioimattomille tiedostoille


Useimmissa projekteissa on tiedostoja ja kansioita, joita ei tulisi versioida. Tällaisia ovat esim. kääntäjän luomat tiedostot (*.obj, *.lst), tehdyn sovelluksen sisältävä kansio, jne. Aina kun toimitat muutokset, TortoiseSVN näyttää versioimattomat tiedostosi, mikä täyttää toimitusikkunan tiedostolistan. Voit tietysti kytkeä näiden tiedostojen näytön pois päältä, mutta silloin saatat joskus unohtaa versioida uudet tiedostot.

Paras tapa välttää näitä ongelmia on lisätä tällaiset tiedostot projektin ohituslistaan. Siten ne eivät koskaan näy toimitusikkunassa, mutta versioimattomat, aidosti uudet tiedostot näkyvät silti.

Jos oikea-napsautat versioimatonta tiedostoa ja annat komennonTortoiseSVNLisää ohituslistaan, esiin aukeaa alivalikko, jossa voit valita vain kyseisen tiedoston, tai kaikki tiedostot, joilla on sama pääte. Molemmille valinnoille on lisäksi (palautuvasti) -vaihtoehto. Jos valitset useita tiedostoja, alivalikkoa ei näytetä ja voit lisätä ohituslistaan vain valitut tiedostot/kansiot.

Kun valitset ohitusvalikon (palautuvasti) -vaihtoehdon, tiedosto ohitetaan myös nykyisen kansion alihakemistoissa. Tämä toiminto on tarjolla versiosta 1.8 alkaen.

Jos haluat myöhemmin poistaa yhden tai useamman kohteen ohituslistasta, oikea-napsauta niitä ja valitse komentoTortoiseSVNPoista ohituslistasta Voit myös muokata kansion svn:ignore-ominaisuutta suoraan. Tällä tavalla voit määritellä yleisempiä ohituslausekkeita, kuten alla on kuvattu. Katso luvusta ”Projektiasetukset” lisätietoa ominaisuuksien asettamisesta suoraan. Huomaa, että kukin ohituslauseke pitää laittaa omalle rivilleen - pelkkä välilyönnein erottaminen ei riitä.

Yleinen ohituslista

Toinen tapa ohittaa tiedostoja on lisätä ne yleiseen ohituslistaan. Suuri ero tässä on se, että yleinen ohituslista on asiakaspään ominaisuus. Se koskee kaikkia Subversion-projekteja, mutta vain yhdessä työasemassa. Yleisesti ottaen on parempi käyttää svn:ignore-ominaisuutta, mikäli mahdollista, koska sitä voidaan käyttää projektin valittuihin osa-alueisiin, ja se toimii yhtäläisesti kaikille, jotka ottavat projektista työkopion. Luvussa ”Yleiset asetukset” on lisätietoa asetuksesta.

Versioitujen kohteiden ohittaminen

Versioituja tiedostoja ja kansioita ei voi koskaan ohittaa - tämä on Subversionin ominaisuus. Jos versioit tiedoston vahingossa, lue luvusta ”Ohita aiemmin versioidut tiedostot” ohjeet, kuinka poistaa sen versiointi.

Tiedostonimien täsmäys ohituslistoissa

Subversionin ohituslausekkeet hyödyntävät tiedostonimien yleistystä (globbing), alun perin Unixista lähtöisin olevaa tekniikkaa, jonka avulla tiedostonimet yleistetään käyttäen erikoismerkkejä:

*

Täsmää minkä tahansa merkkijonon, mukaan lukien tyhjä merkkijono (ei merkkejä).

?

Täsmää minkä tahansa yksittäisen merkin.

[...]

Täsmää yhden hakasuluissa olevista merkeistä. Hakasulkujen sisällä merkillä - erotettu merkkipari täsmää minkä tahansa merkkien välissä olevan merkin. Esimerkiksi [AGm-p] täsmää minkä tahansa seuraavista: A, G, m, n, o ja p.

Hahmontäsmäys riippuu merkkien tasosta, mikä voi aiheuttaa ongelmia Windowsissa, Voit pakottaa ei-riippuvan käytöksen (työläästi) parittamalla merkit, esim. ohittaaksesi *.tmp-hahmon merkkien tasosta riippumatta, voit käyttää hahmoa *.[Tt][Mm][Pp].

Jos olet kiinnostunut yleistyksen virallisestä määrittelystä, voit tutkia komentotulkin IEEE-määrittelyä dokumentissa Pattern Matching Notation.

Yleinen ohituslista on tyhjä

Hahmolausekkeeseen ei kannata lisätä polkunimiä - etsintä on tarkoitettu toimimaan vain yksinkertaisten tiedosto- ja hakemistonimien kanssa. Jos haluat ohittaa kaikki CVS-hakemistot, lisää pelkkä CVS ohituslistaan. Toisin kuin aiemmissa versioissa, hahmolle CVS */CVS ei ole enää tarvetta. Jos haluat ohittaa kaikki tmp-hakemistot silloin, kun ne ovat prog-hakemiston alla, mutta ei silloin, kun ne ovat doc-hakemiston alla, käytä svn:ignore-ominaisuutta Tätä ei voida luotettavasti toteuttaa yleisellä ohituslistalla.

Poistaminen, siirtäminen ja uudelleen nimeäminen

Subversion sallii tiedostojen ja kansioiden uudelleen nimeämisen ja siirtelyn. Tästä syystä TortoiseSVN-alivalikossa on komennot poistamista ja uudelleen nimeämistä varten.

Kuva 4.34. Resurssienhallinnan kontekstivalikko versioiduille tiedostoille

Resurssienhallinnan kontekstivalikko versioiduille tiedostoille


Tiedostojen ja kansioiden poisto

Käytä komentoa TortoiseSVNPoista poistaaksesi tiedostoja tai kansioita arkistosta.

Kun poistat tiedoston tai kansion komennolla TortoiseSVNPoista, se häviää heti työkopiostasi ja merkitään poistettavaksi arkistosta seuraavan toimituksen yhteydessä. Tiedoston sisältävä kansio näyttää muutettu -kuvakepäällystä. Aina arkistotoimitukseen saakka voit saada tiedoston takaisin suorittamalla komennon TortoiseSVNPalauta sen sisältävälle kansiolle.

Jos haluat poistaa kohteen arkistosta, mutta säilyttää sen paikallisesti versioimattomana tiedostona/kansiona, käytä komentoa Laajennettu kontekstivalikkoPoista (säilytä paikallinen). Nähdäksesi komennon sisältävän laajennetun kontekstivalikon, sinun on pidettävä Shift-näppäin painettuna, kun napsautat hiiren oikeaa näppäintä Resurssienhallinnan oikeassa paneelissa.

Jos tiedosto poistetaan Resurssienhallinnan avulla käyttämättä TortoiseSVN-kontekstivalikkoa, toimitusikkuna näyttää sen ja sallii poiston versiohallinnasta ennen toimitusta. Jos kuitenkin päivität työkopiotasi, Subversion havaitsee puuttuvan tiedoston ja korvaa sen viimeisimmällä arkistoversiolla. Jos joudut poistamaan versioidun tiedoston, käytä aina komentoa TortoiseSVNPoista jotta Subversionin ei tarvitse arvata, mitä todella haluat tehdä.

Poistetun tiedoston tai kansion palautus

Jos olet poistanut tiedoston tai kansion ja ehtinyt jo toimittaa muutokset arkistoon, niin tavallinen apukeino, TortoiseSVNPalauta ei enää toimi. Mutta ei tiedosto tai kansio tietenkään ole hävinnyt. Jos tiedät version, jossa tiedosto/kansio poistettiin (ja jollet tiedä, katso lokista), avaa arkistoselain ja vaihda siihen versioon. Valitse sitten poistamasi tiedosto/kansio, napsauta hiiren oikeaa näppäintä ja anna komento KontekstivalikkoKopioi.... Valitse kohteeksi kopioinnille työkopiosi.

Tiedostojen ja kansioiden siirto

Mikäli on tarpeen nimetä tiedosto tai kansio uudelleen, käytä komentoa KontekstivalikkoNimeä uudelleen.... Syötä kohteelle uusi nimi ja olet valmis.

Jos haluat siirtää tiedostoja työkopion sisällä, ehkäpä eri alikansioon, raahaa ne käyttäen hiiren oikeaa näppäintä:

  1. valitse siirrettävät tiedostot ja kansiot

  2. Oikea-raahaa ne uuteen paikkaan työkopion sisällä

  3. Vapauta hiiren oikea näppäin

  4. anna kontekstivalikossa komento KontekstivalikkoSVN siirrä versioidut tiedostot tähän

Toimita yläkansio

Koska uudelleennimeämiset ja siirrot tehdään komentoparina poista+lisää, sinun on toimitettava arkistoon uudelleen nimetyn/siirretyn tiedoston yläkansio, jotta siirron/uudelleennimeämisen poistettu osa näkyy toimitusikkunassa. Jos et toimita tätä poistettua osaa, se säilyy arkistossa, ja kun työtoverisi päivittävät työkopionsa, vanhaa tiedostoa ei poisteta. Toisin sanoen työkopiot sisältävät molemmat, sekä uuden että vanhan kopion.

Siniun täytyy toimittaa kansion uudellleennimeäminen arkistoon ennen kuin muutat kansion sisältämiä tiedostoja, muuten työkopiosi voi mennä todella sekaisin.

Toinen keino tiedostojen kopiointiin tai siirtämiseen on käyttää Windowsin kopioi/leikkaa -komentoja. Valitse haluamasi tiedostot, napsauta hiiren oikeata painiketta ja valitse komento KontekstivalikkoKopioi. Siirry sitten kohdehakemistoon, napsauta hiiren oikeata painiketta ja valitse komento TortoiseSVNLiitä. Jos haluat siirtää tiedostoja, käytä komentoa KontekstivalikkoLeikkaa komennon KontekstivalikkoKopioi sijaan.

Voit myös käyttää arkistoselainta kohteiden siirtelyyn. Lue lisää luvusta ”Arkistoselain”.

Älä siirrä tai uudelleennimeä ulkoisia projekteja

Ei ole hyvä ajatus käyttää Siirrä tai Nimeä uudelleen -komentoja kohteeseen, joka on luotu svn:externals-mekanismilla. Tämä poistaisi ulkoisen projektin sen omasta arkistosta, mikä luultavasti sotkisi muiden ihmisten työt. Jos joudut siirtämään ulkoista kohdetta, se kannattaa tehdä tavallisella Resurssienhallinnan siirtokomennolla ja sitten muokata lähde- ja kohdehakemistojen svn:externals-ominaisuudet kuntoon.

Tiedostonimien merkkitaso-ongelmien ratkaisu

Jos arkisto sisältää jo kaksi tiedostoa, joilla on sama nimi, mutta eri merkkitasot (esim. TEST.TXT ja test.txt), et pysty päivittämään tai hakemaan työkopiota tiedostot sisältävästä arkiston hakemistosta Windows-ympäristössä. Vaikka Subversion tukee merkkitasosta riippuvia tiedostonimiä, Windows ei sitä tee.

Tämä tilanne syntyy joskus, kun kaksi kehittäjää toimittaa muutokset arkistoon eri työkopioista, joissa on sama tiedosto eri tavoin nimettynä. Se voi myös sattua, kun tiedostot toimitetaan esim. Linux-työasemasta.

Tällaisessa tapauksessa sinun on päätettävä, kumman tiedoston haluat pitää, ja tuhota (tai nimetä uudelleen) toinen arkistosta.

Samojen tiedostonimien ongelman ennaltaehkäisy

Paikantimessa https://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/ on saatavana palvelimen toimintokomento, joka estää toimitukset, joista seuraisi merkkitaso-ongelmia.

Tiedostojen uudelleen nimeämisten korjaaminen

Joskus käy niin, että ystävällinen kehitysympäristösi nimeää tiedostoja puolestasi uudestaan esim. osana ohjelman uudelleenjärjestelyä (refactoring), eikä tietenkään kerro tästä Subversionille. Jos päätät toimittaa muutoksesi arkistoon tässä tilanteessa, Subversion tulkitsee, että vanha tiedosto puuttuu ja uusi on versioimaton. Voisit tietenkin ruksata uuden tiedoston saadaksesi sen lisätyksi, mutta menettäisit silloin lokihistorian, koska Subversion ei tiedä, että tiedostot liittyvät toisiinsa.

Parempi keino ratkaista asia on kertoa Subversionille, että kyseessä on oikeastaan uudelleen nimeäminen. Voit tehdä tämän sekä Toimita että Tarkista muutokset -ikkunoista: valitse sekä vanha (puuttuva) ja uusi (versioimaton) nimi sekä anna komento KontekstivalikkoKorjaa siirto parittaaksesi tiedostot uudelleennimennäksi.

Versioimattomien tiedostojen poisto

Tavallisesti ohituslista kannattaa asettaa niin, että kaikki tuotetut tiedostot ohitetaan Subversionissa. Mutta entäpä jos haluat poistaa kaikki ohitetut kohteet esim. rakentaaksesi sovelluksen alusta uudelleen? Tavallisesti tällainen tehdään makefile-tiedostolla tai kehitysympäristön komennolla, mutta joskus tämä ei ole mahdollista, joten on hyödyllistä pystyä nollaamaan tilanne muutenkin.

TortoiseSVN sisältää komennon Laajennettu kontekstivalikkoPoista versioimattomat kohteet ... juuri tätä tarkoitusta varten. Sinun on pidettävä Shift-näppäin pohjassa oikea-napsauttaessasi hiirellä Resurssienhallinnan oikeassa paneelissa saadaksesi laajennetun kontekstivalikon näkyviin. Komento avaa ikkunan, jossa on lueteltu kaikki kansion sisältämät versioimattomat tiedostot. Voit sitten valita ne tiedostot, jotka haluat poistettavan.

Kun tällaiset kohteet poistetaan, ne siirretään Roskakoriin, joten virheen sattuessa voit yhä palauttaa alkuperäisen tilanteen.

Muutosten peruminen

Jos haluat perua kaikki viimeisimmän päivityksen jälkeen tekemäsi muutokset, valitse tiedostot ja/tai kansiot, joissa muutokset on tehtym ja oikea-napsauta avataksesi kontekstivalikon. Valitse sieltä komento TortoiseSVNPalauta. Esiin aukeava ikkuna luettelee kaikki muutetut tiedostot, jotka voit palauttaa. Valitse niistä haluamasi ja napsauta OK.

Kuva 4.35. Palautusikkuna

Palautusikkuna


Mikäli haluat myös tyhjentää kaikki asetetut muutoslistat, valitse ikkunan alaosassa oleva asetus.

Jos haluat perua poiston tai uudelleen nimeämisen, sinun on käytettävä Palauta-komentoa ylemmässä hakemistossa, koska poistettua kohdetta ei ole käytettävissä.

Komento, jolla perutaan kohteen lisäys, näkyy kontekstivalikossa muodossa KontekstivalikkoPeru lisäys.... Kyseessä on oikeastaa Palauta-komento, joka on tässä yhteydessä nimetty intuitiivisemmin.

Tämän ikkunan sarakkeet voidaan mukauttaa samaan tapaan kuin Tarkista muutokset-ikkunassa. Lue yksityiskohdat luvusta ”Paikallinen ja etätila”.

Koska palautustoimintoa käytetään joskus työkopion siivoamiseen, on ikkunassa painike, jonka avulla voi poistaa myös versioimattomat tiedostot. Painikkeen napsauttaminen versioimattomat tiedostot uudessa ikkunassa, josta ne voi valita poistettaviksi.

Arkistoon toimitettujen muutosten peruminen

Palauta-komento peruu vain paikallisesti tekemäsi muutokset. Se ei kykene perumaan jo arkistoon toimitettuja muutoksia. Jos haluat perua kaikki tietyssä versiossa toimitetut muutokset, lue ohjeet luvusta ”Versioloki”.

Palauttaminen on hidasta

Kun palautat muutoksia, saatat havaita, että toiminto vie pidempään kuin odotit. Tämä johtuu siitä, että muutettu versio lähetetään Roskakoriin, joten voit perua muutoksesi, mikäli teit palautuksen vahingossa. Jos Roskakori on kuitenkin täysi, Windows kuluttaa runsaasti aikaa löytääkseen tiedostolle tilaa. Ratkaisu on yksinkertainen: voit joko tyhjentää roskakorin tai poistaa valinnan Käytä Roskakoria palautettaessa TortoiseSVN-asetuksista.

Siivoaminen

Mikäli jotain Subversion-komentoa ei saada päätettyä onnistuneesti vaikkapa palvelinongelmien vuoksi, työkopiosi voi jäädä epäyhtenäiseen tilaan. Tällöin sinun on käytettävä komentoa TortoiseSVNSiivoa. On suositeltavaa tehdä tämä koko työkopiolle antamalla komento työkopion juurikansiosta.

Kuva 4.36. Siivousikkuna

Siivousikkuna


Siivousikkunassa on myös muita hyödyllisiä valitsimia työkopion puhdistamiseksi.

Siivoa työkopio

Kuten yllä kuvattiin, tämä valinta koettaa korjata vikaantuneen työkopion käytettävään kuntoon. Korjaukset eivät kohdistu tiedostoihin vaan työkopiotietokannan sisäiseen tilaan. Kyseessä on aiemmista TortoiseSVN-versioista ja muista SVN-asiakkaista tuttu Siivoa -komento.

Riko kirjoituslukot

Tämän asetuksen ollessa päällä kaikki kirjoituslukot poistetaan työkopion tietokannasta. Useimmissa tapauksissa tämä on tarpeen, jotta siivous toimisi!

Poista tämä asetus vain, mikäli työkopiolla on muita käyttäjiä. Mikäli siivous myöhemmin epäonnistuu, asetus on laitettava päälle, jotta siivous onnistuisi.

Korjaa aikaleimat

Säätää kaikkien tiedostojen talletettuja aikaleimoja, mikä nopeuttaa tulevia tilatarkistuksia. Tämä nopeuttaa sellaisia ikkunoita, jotka luettelevat työkopion tiedostoja, esimerkiksi toimitusikkuna.

Siivoa alkuperäiskopiot

Poistaa käyttämättömät alkuperäiskopiot ja pakkaa jäljelle jääneet työkopiotiedostojen alkuperäiskopiot.

Päivitä kuvakepäällykset

Joskus Resurssienhallinnan kuvakepäällykset (erityisesti vasemman paneelin puunäkymässä) eivät näytä oikeaa tilaa. Voi myös käydä niin, ettei TortoiseSVN havaitse muutoksia. Näissä tapauksissa voit käyttää tätä komentoa pakottaaksesi päivityksen.

Sisällytä ulkoiset viitteet

Kun tämä valinta on aktiivinen, toimenpiteet suoritetaan myös kaikille tiedostoille ja kansioille, jotka kuuluvat työkopioon svn:externals-ominaisuuden kautta.

Poista versioimattomat tiedostot ja kansiot, Poista ohitetut tiedostot ja kansiot

Tämä on nopea ja yksinkertainen tapa poistaa kaikki väliaikaiset tiedostot ja kansiot työkopiostasi. Poistettavat tiedostot ja kansiot siirretään Roskakoriin.

Huomaa: Voit tehdä saman TortoiseSVNPalauta-ikkunassa. Ikkuna antaa myös mahdollisuuden luetella ja valita poistettavat tiedostot ja kansiot.

Palauta kaikki muutokset palautuvasti

Tämä komento peruuttaa kaikki paikallisest muutokset, joita ei ole vielä toimitettu arkistoon.

Huomaa: On parempi käyttää komentoa TortoiseSVNPalauta, koska siten voit ensin nähdä ja valita palautettavat tiedostot.

Projektiasetukset

Subversion-ominaisuudet

Kuva 4.37. Subversion ominaisuussivu

Subversion ominaisuussivu


Voit katsoa ja asettaa Subversion-ominaisuuksia Resurssienhallinnan ominaisuusikkunasta, mutta se onnistuu myös TortoiseSVN-alivalikosta, TortoiseSVNOminaisuudet.

Voit lisätä sekä omia ominaisuuksiasi että ominaisuuksia, joilla on erityismerkitys Subversionille. Jälkimmäiset alkavat etuliitteellä svn:. Esimerkiksi svn:externals on tällainen ominaisuus; katso lisää ulkoisten viitteiden käytöstä luvusta ”Ulkoiset kohteet”.

svn:keywords

Subversion tukee CVS-tyyppistä avainsanojen laajentamista, jota voi käyttää upottamaan tietoa tiedostosta ja sen versiosta itse tiedostoon. Nykyisin tuetut avainsanat ovat seuraavat:

$Date$

Viimeisen tunnetun arkistotoimituksen päiväys. Tämä perustuu työkopion päivityksessä saatuun tietoon. Komento ei tarkista arkistoa löytääkseen tuoreempia muutoksia.

$Revision$

Viimeisen tunnetun toimituksen versio.

$Author$

Viimeisimmän tunnetun arkistoon toimituksen tekijä.

$HeadURL$

Tämän tiedoston paikannin arkistossa.

$Id$

Tiivistetty yhdistelmä edellisestä neljästä avainsanasta.

Oppiaksesi lisää avainsanojen käytöstä, lue Subversion-kirjan luku svn:keywords section.

Lisätietoa Subversion-ominaisuuksista löydät Subversion-kirjan luvusta Special Properties.

Ominaisuuksien lisääminen ja muokkaus

Kuva 4.38. Ominaisuuksien lisääminen

Ominaisuuksien lisääminen


Lisätäksesi uuden ominaisuuden, napsauta ensin Lisää.... Valitse ominaisuuden nimi valikosta ja syötä tarvittavat tiedot ominaisuuskohtaisesti. Ominaisuuskohtaiset syöttöikkunat on kuvattu tarkemmin luvussa ”Ominaisuuksen muokkaaminen”.

Lisätäksesi ominaisuuden, jolla ei ole omaa erikoisikkunaa, valitse Uusi...-valikon komento Lisäominaisuudet. Valitse sen jälkeen jokin olemassa olevan ominaisuus pudotusvalikosta tai lisää uusi ominaisuus.

Jos haluat lisätä ominaisuuden kerralla useisiin kohteisiin, valitse haluamasi tiedostot/kansiot Resurssienhallinnasta ja anna komento KontekstivalikkoOminaisuudet.

Jos haluat soveltaa ominaisuuden palautuvasti jokaiseen tiedostoon ja kansioon nykyisen kansion alapuolella, ruksaa valinta Sovella palautuvasti.

Jos haluat muuttaa olemassa olevaa ominaisuutta, valitse ominaisuus luettelosta ja napsauta Muokkaa....

Jos haluat poistaa olemassa olevan ominaisuuden, valitse ominaisuus listasta ja napsauta Poista.

Ominaisuutta svn:externals voidaan käyttää toisten, samassa tai eri arkistossa olevien projektien kytkemiseksi työkopioon. Lue lisää luvusta ”Ulkoiset kohteet”.

Muokkaa HEAD-version ominaisuuksia

Koska ominaisuudet ovat versioituvia, et voi muokata edellisten versioiden ominaisuuksia. Loki-ikkunan ja arkistoselaimen (pl. HEAD-versio) näyttämät ominaisuudet eivät siten salli muokkaamista.

Ominaisuuksien tuominen ja vieminen

Usein on tarpeen asettaa samat ominaisuudet (esimerkiksi bugtraq:logregex) useaan kertaan. Jotta asetusten kopiointi projektista toiseen yksinkertaistuisi, voit hyödyntää ominaisuuksien vienti/tuontia.

Valitse tiedosto tai kansio, jonka ominaisuuksia haluat viedä ja anna komento TortoiseSVNOminaisuudet. Valitse sitten ominaisuudet, jotka haluat viedä ja napsauta Vie.... Sinulta kysytään nimi tiedostolle, johon valitut omaisuudet talletetaan.

Valitse kansiot, joihin haluat lisätä nämä ominaisuudet ja anna komento TortoiseSVNOminaisuudet sekä napsauta Tuo.... Sinulta kysytään tuotavan tiedoston nimi. Tiedoston sisältämät ominaisuudet lisätään kansioihin ei-palautuvasti.

Jos haluat lisätä ominaisuudet puuhun palautuvasti, seuraa ensin yllä kuvattuja ohjeita. Tämän jälkeen valitse ominaisuudet ikkunasta yksitellen, napsauta Muokkaa..., ruksaa Aseta ominaisuus palautuvasti ja napsauta lopuksi OK.

Tuotavan tiedoston rakenne on binäärinen ja vain TortoiseSVN:n tunnistama. Sen tarkoitus on pelkästään siirtää ominaisuuksia Tuo/Vie -komennoilla, joten tiedostoja ei ole syytä muokata muilla tavoin.

Binääriset ominaisuudet

TortoiseSVN osaa käsitellä binäärisiä ominaisuusarvoja tiedostojen avulla. Lukeaksesi binäärisen ominaisuuden arvon Tallenna... se tiedostoon. Asettaaksesi binäärisen ominaisuuden arvon käytä soveltuvaa työkalua luodaksesi sisällön johonkin tiedostoon ja Lataa... arvo sitten ko. tiedostosta.

Vaikka binäärisiä oimaisuuksia ei käytetä usein, ne voivat olla hyödyllisiä joissain sovelluksissa. Jos esim. talletat suuria kuvatiedostoja, tai jos tiedoston avaamiseen käytetty sovellus on suuri, saatat haluta tallettaa pienen kuvakkeen binäärisenä ominaisuutena, jotta saat esikatselukuvan nopeasti.

Automaattiset ominaisuudet

Voit komentaa Subversionin asettamaan tiedostoille ja kansioille ominaisuuksia automaattisesti kun ne lisätään arkistoon. Tähän on kaksi tapaa.

Voit muokata Subversion-määrittelytiedostoa ottaaksesi tämän ominaisuuden käyttöön asiakaspäässä. SivuYleiset TortoiseSVN-asetusikkunassa sisältää muokkauspainikkeen, joka tekee tämän suoraan. Määrittelytiedosto on yksinkertainen tekstitiedosto, joka ohjaa joitain Subversionin toimintoja. Sinun on muutettava kaksi asiaa: poista ensinnäkin miscellany-osiosta kommenttimerkit riviltä enable-auto-props = yes. Lisäksi sinun on määriteltävä seuraavaan osioon, mitkä ominaisuudet haluat lisätä ja mille tiedostotyypille. Tämä on Subversionin vakio-ominaisuus ja toimii kaikilla asiakasohjelmilla. Se on kuitenkin määritettävä jokaiseen työasemaan erikseen - asetusten noutaminen suoraan arkistosta ei ole tuettua.

Vaihtoehtoisesti, voit asettaa tsvn:autoprops-ominaisuuden kansioille seuraavan luvun kuvaamalla tavalla. Tämä tapa toimii vain TortoiseSVN-asiakkailla, mutta leviää kaikkiin työkopioihin päivitettäessä.

Subversion-versiosta 1.8 alkaen voit myös asettaa ominaisuuden svn:auto-props juurikansiolle. Ominaisuuden arvo periytyy automaattisesti alipuun alkioille.

Minkä tavan valitsetkin, huomaa, että automaattiset ominaisuudet lisätään tiedostoihin vain silloin, kun ne lisätään arkistoon. Automaattiset ominaisuudet eivät koskaan muuta jo versioitujen tiedostojen ominaisuuksia.

Jos haluat olla täysin varma, että uusilla tiedostoilla on oikeat ominaisuudet, on syytä asentaa arkistoon ennen toimitusta suoritettava komento (engl. pre-commit hook), joka estää toimitukset, joista tarvittavat ominaisuudet puuttuvat.

Ominaisuuksien toimittaminen arkistoon

Subversion-ominaisuudet ovat versioituvia. Kun muutat tai lisäät ominaisuuden, sinun on toimitettava muutokset arkistoon.

Ominaisuusristiriidat

Jos muutoksia toimitettaessa syntyy ristiriita, koska toinen käyttäjä on muuttanut samaa ominaisuutta, Subversion luo .prej-tiedoston. Poista tämä tiedosto, kun olet ratkaissut ristiriidan.

TortoiseSVN-projektin ominaisuudet

TortoiseSVN sisältää muutamia ominaisuuksia, joilla on erityismerkitys. Kaikki alkavat etuliitteellä tsvn:

  • tsvn:logminsize asettaa arkistotoimituksen lokiviestin minimipituuden. Jos syötät lyhyemmän viestin, toimitus estetään. Ominaisuus on hyödyllinen muistuttaja sille, että jokainen toimitus tarvitsee kuvaavan lokiviestin. Jos ominaisuutta ei ole asetettu, tai sen arvo on nolla, tyhjät lokiviestit sallitaan.

    tsvn:lockmsgminsize asettaa minimipituuden lukitusviestille. Jos syötät lyhyemmän viestin, lukitus estetään. Ominaisuus on hyödyllinen muistuttaja sille, että jokainen lukitus tarvitsee kuvaavan viestin. Jos ominaisuutta ei ole asetettu tai sen arvo on nolla, tyhjät lukitusviestit sallitaan.

  • tsvn:logwidthmarker on avuksi projekteissa, jotka vaativat lokiviestien olevan muotoiltuja johonkin maksimipituuteen (tyypillisesti 80 merkkiä) ennen rivinvaihtoa. Ominaisuuden asettaminen nollasta poikkeavaksi saa aikaan kaksi asiaa lokiviestiä syötettäessä: se asettaa merkin maksimipituuden kohdalle ja estää sanojen automaattisen rivityksen, jotta näet, jos viesti on liian pitkä. Huomaa, että ominaisuus toimii oikein vain, jos käytät kiinteän levyistä kirjasinta lokiviesteille.

  • tsvn:logtemplate on hyödyllinen projekteissa, joissa on määritelty säännöt lokiviestien muotoilulle. Ominaisuuden arvona on monirivinen merkkijono, joka lisätään toimitusviestiin kun käynnistät toimitusikkunan. Voit muokata sitä ja lisätä tarpeelliset tiedot. Huomaa: jos käytät myös tsvn:logminsize-ominaisuutta, varmistu, että asetat oikean pituuden, muuten menetät suojausmekanismin.

    On myös olemassa toimintokohtaisia kaavaimia, joita voi käyttää ominaisuuden tsvn:logtemplate asemasta. Näitä käytetään ensisijaisesti, mikäli ne ovat määriteltyjä; muutoin turvaudutaan yleiskaavaimeen tsvn:logtemplate.

    Toimintokohtaiset kaavaimet ovat seuraavat:

    • Ominaisuutta tsvn:logtemplatecommit käytetään toimitettaessa työkopion muutoksia arkistoon.

    • Ominaisuutta tsvn:logtemplatebranch käytetään, kun luot haaran tai merkityn version, tai kun kopioit tiedostoja tai kansioita arkistoselaimessa.

    • Ominaisuutta tsvn:logtemplateimport käytetään tuotaessa tiedostoja arkistoon.

    • Ominaisuutta tsvn:logtemplatedelete käytetään poistettaessa tiedostoja arkistoselaimessa.

    • Ominaisuutta tsvn:logtemplatemove käytetään siirrettäessä tai nimettäessä tiedostoja uudelleen arkistoselaimessa.

    • Ominaisuutta tsvn:logtemplatemkdir käytetään luotaessa hakemistoja arkistoselaimessa.

    • Ominaisuutta tsvn:logtemplatepropset käytetään, kun muokataan ominaisuuksia arkistoselaimessa.

    • Ominaisuutta tsvn:logtemplatelock käytetään lukittaessa tiedostoja.

  • Subversion tukee automaattisia ominaisuuksia (autoprops), jotka lisätään uusille tai tuoduille tiedostoille niiden päätteen perusteella. Asetukset ovat työasemakohtaisia ja sijaitsevat Subversionin määrittelytiedostossa. Ominaisuus tsvn:autoprops voidaan asettaa kansioille; se yhdistetään käyttäjän paikallisiin automaattisiin ominaisuuksiin ja sitä käytetään lisättäessä tai tuotaessa tiedostoja. Esimerkiksi *.sh = svn:eol-style=native;svn:executable asettaa kaksi ominaisuutta tiedostoille, joilla on pääte .sh.

    Jos automaattiset ominaisuudet ja tsvn:autoprops ovat ristiriidassa keskenään, niin jälkimmäinen vie voiton, koska se on projektikohtainen.

    Subversion-versiosta 1.8 alkaen on suositeltavaa käyttää ominaisuuden tsvn:autoprops sijaan uutta svn:auto-props -ominaisuutta. Sillä on sama toiminnallisuus, mutta se toimii kaikkien Subversion-ohjelmien kanssa eikä ole TortoiseSVN-spesifi.

  • Toimitusikkunassa voit liittää lokiviestiin luettelon muuttuneista tiedostoista, mukaan lukien kunkin tila (lisätty, muutettu, jne.). Ominaisuus tsvn:logfilelistenglish määrittää, onko tiedoston tilatieto lokalisoitu vai aina englanniksi (oletusarvo).

  • TortoiseSVN tukee oikeinkirjoituksen tarkistusta. Windows 10-alustalla käytetään käyttöjärjestelmän mukana tulevaa tarkistusta. Aiemmissa Windows-versioissa käytetään samoja oikeinkirjoituskomponentteja, joita OpenOffice ja Mozilla tukevat. Tämä ominaisuus määrittää, mitä niistä käytetään, ts. millä kielellä projektisi lokiviestit tulee kirjoittaa. tsvn:projectlanguage asettaa lokiviestin oikeinkirjoituksen tarkistuskielen. Löydät koodin omalle kielellesi seuraavasta dokumentista: MSDN: Language Identifiers.

    Voit syöttää arvon kymmenjärjestelmässä tai 16-kantaisena, mikäli siinä on etuliite 0x. Esimerkiksi US-englannin kielikoodi voidaan asettaa joko muodossa 0x0409 tai muodossa 1033.

  • Ominaisuutta tsvn:logsummary käytetään erottamaan osa lokiviestistä, joka sitten näytetään lokissa yhteenvetona.

    Ominaisuuden tsvn:logsummary arvoksi asetetaan yhden rivin säännöllinen lauseke, joka sisältää yhden lausekeryhmän. Teksti, joka täsmää ryhmän kanssa, muodostaa yhteenvedon.

    Esimerkki: Lauseke \[SUMMARY\]:\s+(.*) ottaa lokiviestistä talteen kaiken [SUMMARY]-merkkijonon jälkeisen tekstin ja käyttää sitä yhteenvetona.

  • Ominaisuus tsvn:logrevregex määrittää säännöllisen lausekkeen, jolla täsmäytetään lokiviestissä olevia versioviittauksia. Tätä käytetään loki-ikkunassa muuttamaan versioviittaukset linkeiksi, joita napsauttamalla viitattu lokiviesti tuodaan näkyville joko ikkunaa vierittämällä tai avaamalla uusi loki-ikkuna.

    Säännöllisen lausekkeen on täsmättävä koko viite, ei pelkkää versionumeroa. Versionumero erotetaan täsmäytetystä viitteestä automaattisesti.

    Jos ominaisuutta ei ole asetettu, versioviittausten hakemiseen käytetään oletusarvoista säännöllistä lauseketta.

  • Asiakaspään toimintokomentoja voidaan säätää useiden ominaisuuksien avulla. Kukin ominaisuus liittyy tiettyyn toimintotyyppiin.

    Käytettävissä olevat ominaisuudet / komentojonot ovat

    • tsvn:startcommithook
    • tsvn:precommithook
    • tsvn:postcommithook
    • tsvn:startupdatehook
    • tsvn:preupdatehook
    • tsvn:postupdatehook
    • tsvn:prelockhook
    • tsvn:postlockhook

    Parametrit vastaavat toimintokomennoille asetusikkunassa annettavia parametreja. Katso yksityiskohdat luvusta ”Asiakaspään komentojonot”.

    Koska käyttäjien työkopioiden nimet ja sijaintipaikat vaihtelevat, voit asettaa työkopiostasi suoritettavan toimintokomennon sijainnin arkistopaikantimen avulla käyttämällä symbolia %REPOROOT% osana paikanninta. Esimerkki: Jos toimintokomentosi sijaitsee työkopiossa polulla contrib/hook-scripts/client-side/checkyear.js, voit määritellä polun paikantimen muodossa %REPOROOT%/trunk/contrib/hook-scripts/client-side/checkyear.js. Tällöin voit jopa siirtää arkistosi eri palvelimelle ilman, että toimintokomentojen ominaisuuksia tarvitsee säätää.

    Lausekkeen %REPOROOT% ohella voit myös käyttää muotoa %REPOROOT+%. Merkki + korvataan tarpeellisella alipolulla komentojonon löytämiseksi. Tästä on hyötyä, jos haluat kirjoittaa komentojonot siten, että kun luot haaran, komentojono löytyy silti, vaikka työkopion paikannin muuttuu. Yllä olevaa esimerkkiä käyttäen komentojonopolku annettaisiin muodossa %REPOROOT+%/contrib/hook-scripts/client-side/checkyear.js.

    Seuraava ruutukaappaus näyttää, kuinka nykyisen copyright-vuoden tarkistava toimintokomento määritellään.

    Kuva 4.39. Ominaisuusikkuna toimintokomennoille

    Ominaisuusikkuna toimintokomennoille


  • Kun haluat lisätä uuden ominaisuuden, voit valita jonkun pudotusvalikosta tai nimetä sen itse. Jos projektisi käyttää omia ominaisuuksia ja haluat niiden löytyvän suoraan pudotusvalikosta (kirjoitusvihreiden välttämiseksi), voit lisätä ne ominaisuuksiin tsvn:userfileproperties ja tsvn:userdirproperties. Lisää nämä ominaisuudet projektin juurikansiolle. Kun sitten muokkaat projektin alla olevia ominaisuuksia, niin omat ominaisuutesi näkyvät suoraan pudotusvalikossa.

    Voit myös määritellä, käytetäänkö ominaisuutesi lisäykseen ja muokkaukseen räätälöityä ikkunaa. TortoiseSVN tarjoaa neljä erilaista ikkunaa ominaisuutesi tyypistä riippuen

    bool

    Jos ominaisuudellasi voi olla vain kaksi tilaa, esim. tosi ja epätosi, voit tehdä siitä bool-tyyppisen.

    Kuva 4.40. Ominaisuusikkunan boolean-tyyppi

    Ominaisuusikkunan boolean-tyyppi


    Määritä ominaisuus seuraavasti:

    propertyname=bool;labeltext(YESVALUE;NOVALUE;Checkboxtext)

    labeltext on valintalaatikon yläpuolella näytettävä teksti, jonka avulla voit kuvata ominaisuuden tarkoituksen. Muiden parametrien pitäisi olla itsensä selittäviä.

    state

    Mikäli ominaisuutesi esittää yhtä useista mahdollisista tiloista, esim. kyllä, ei, ehkä, voit tehdä siitä state

    Kuva 4.41. Ominaisuusikkunan state-tyyppi

    Ominaisuusikkunan state-tyyppi
    Ominaisuusikkunan state-tyyppi
    Ominaisuusikkunan state-tyyppi


    -tyyppisen seuraavasti:

    propertyname=state;labeltext(DEFVAL;VAL1;TEXT1;VAL2;TEXT2;VAL3;TEXT3;...)

    Parametrit ovat samoja kuin bool -ominaisuudella. DEFVAL on oletusarvo, jota käytetään, jos ominaisuutta ei ole vielä asetettu tai sillä on määrittelemätön arvo.

    Mikäli tila-arvoja on vähemmän kuin neljä, valinta suoritetaan valintanapeilla. Muussa tapauksessa tilan valinta suoritetaan pudotusvalikosta.

    singleline

    Yhden tekstirivin sisältäville ominaisuuksille kannattaa käyttää singleline -tyyppiä:

    Kuva 4.42. Ominaisuusikkunan yksiriviset käyttäjän tyypit

    Ominaisuusikkunan yksiriviset käyttäjän tyypit


    propertyname=singleline;labeltext(regex)

    regex määrittelee säännöllisen lausekkeen, jolla tarkistetaan käyttäjän syöttämä teksti. Jos teksti ei täsmää lausekkeen kanssa, käyttäjälle näytetään virheilmoitus ja ominausuutta ei aseteta.

    multiline

    Useita tekstirivejä sisältäville ominausuuksille kannattaa käyttää multiline -tyyppiä:

    Kuva 4.43. Ominaisuusikkunan useampiriviset käyttäjän tyypit

    Ominaisuusikkunan useampiriviset käyttäjän tyypit


    propertyname=multiline;labeltext(regex)

    regex määrittelee säännöllisen lausekkeen, jolla tarkistetaan käyttäjän syöttämä teksti. Älä unohda rivinvaihtomerkkiä (\n) säännöllisestä lausekkeesta!

    Yllä olevat ruutukaappaukset tehtiin seuraavalla tsvn:userdirproperties -arvolla:

    my:boolprop=bool;This is a bool type property. Either check or uncheck it.(true;false;my bool prop)
    my:stateprop1=state;This is a state property. Select one of the two states.(true;true;true value;false;false value)
    my:stateprop2=state;This is a state property. Select one of the three states.(maybe;true;answer is correct;false;answer is wrong;maybe;not answered)
    my:stateprop3=state;Specify the day to set this property.(1;1;Monday;2;Tuesday;3;Wednesday;4;Thursday;5;Friday;6;Saturday;7;Sunday)
    my:singlelineprop=singleline;enter a small comment(.*)
    my:multilineprop=multiline;copy and paste a full chapter here(.*)
    

TortoiseSVN osaa integroitua joidenkin vikaseurantatyökalujen kanssa. Integrointi perustuu erityisiin projektiominaisuuksiin, jotka alkavat etuliitteellä bugtraq:. Lue lisää luvusta ”Integrointi vikaseurantaohjelmiin”.

TortoiseSVN osaa myös integroitua joidenkin web-pohjaisten arkistoselainten kanssa. Integrointi perustuu ominaisuuksiin, jotka alkavat etuliitteellä webviewer:. Lue lisää luvusta ”Integrointi web-pohjaisiin arkistoselaimiin”.

Projektiominaisuuksien asettaminen kansioille

Nämä erityiset projektiominaisuudet täytyy asettaa kansioille jotta ne toimisivat. Kun toimitat tiedoston tai kansion arkistoon, ominaisuudet luetaan ko. kansiosta. Jos ominaisuuksia ei löydy sieltä, TortoiseSVN etsii ylöspäin kansiopuussa, kunnes löytää ne, saapuu versioimattomaan kansioon tai työkopion juureen (esim. C:\). Jos olet varma, että käyttäjät hakevat työkopion vain arkiston juuresta (esim. trunk/) eikä jostain alikansiosta, niin riittää asettaa ominaisuudet kansiolle trunk/. Jos et ole varma tästä, ominaisuudet kannattaa asettaa palautuvasti kaikille alikansioille. Syvemmällä projektihierarkiassa olevat ominaisuudet ohittavat korkeammilla tasoilla (lähempänä trunk/-kansiota) olevat asetukset.

Projektiominaisuuksien yhteydessä (ts. i.e. tsvn:, bugtraq: ja webviewer:) valinta Sovella palautuvasti asettaa ominaisuuden kaikille kansiopuun alikansioille (muttei tiedostoille).

Kun lisäät työkopioon uusia alikansioita, TortoiseSVN lisää yläkansion projektiominaisuudet niihin automaattisesti.

Rajoitukset arkistoselainta käytettäessä

Ominaisuuksien noutaminen etänä on hidasta, joten jotkin yllä kuvatut ominaisuudet eivät toimi arkistoselaimessa samaan tapaan kuin työkopiossa.

  • Kun lisäät ominaisuuden arkistoselaimessa, esiasetuslista sisältää vain svn: -ominaisuudet. Muut ominaisuudet on lisättävä käsin.

  • Ominausuuksia ei voi asettaa tai poistaa palautuvasti arkistoselaimessa.

  • Projektiominaisuudet eivät leviä automaattisesti, kun alikansio lisätään arkistoselaimen avulla.

  • tsvn:autoprops ei aseta ominaisuuksia tiedostoille, jotka on lisätty arkistoselaimen kautta.

Varo

Vaikka TortoiseSVN:n projektiominaisuudet ovat varsin hyödyllisiä, ne toimivat vain TortoiseSVN-ohjelmassa (ja jotkut eivät edes kaikissa versioissa). Jos projektissasi käytetään useita Subversion-asiakkaita (tai eri TortoiseSVN-versioita), saatat haluta asentaa palvelimellle toimintokomentojonoja pakottamaan halutut projektikäytännöt. Projektiominaisuudet voivat vain auttaa käytännön toteuttamisessa, ei siihen pakottamisessa.

Ominaisuuksen muokkaaminen

Tietyillä ominaisuuksilla sallittujen arvojen joukko tai arvomuoto on rajoitettu. TortoiseSVN käyttää näiden ominaisuuksien muokkaamiseen erityisiä ikkunoita, jotka näyttävät sallitut arvot tai näyttävät ominaisuuden osat.

Ulkoinen sisältö

Kuva 4.44. svn:externals -ominaisuussivu

svn:externals -ominaisuussivu


Ominaisuutta svn:externals voidaan käyttää toisten, samassa tai eri arkistossa olevien projektien kytkemiseksi työkopioon. Lue lisää luvusta ”Ulkoiset kohteet”.

Sinun on määritettävä sen alihakemiston nimi, johon ulkoinen viite noudetaan, sekä ulkoisen viitteen Subversion-paikannin. Voit kytkeä ulkoisen viitteen HEAD-versioon, jolloin työkopioosi lisätään päivityksen yhteydessä automaattisesti ulkoisen viitteen muutokset. Voit myös kytkeä ulkoisen viitteen johonkin kiinteään versionumeroon. Tässä tapauksessa saatat myös haluta antaa saman version ankkuriversioksi, koska jos ulkoinen viite nimetään uudelleen tulevaisuudessa, Subversion ei kykene päivittämään viitettä työkopioosi. Määrittämällä ankkuriversion Subversionille, että ulkoisen viitteen nimeä on etsittävä sellaisena, kun se oli ankkuriversiossa (ankkuriversion oletusarvo on HEAD).

Painike Etsi HEAD-versio noutaa jokaisen ulkoisen viitteen HEAD-version ja näyttää sen oikeanpuolimmaisessa sarakkeessa. Kun HEAD-versio on tiedossa, oikea-napsauta ulkoisen viitteen kohdalla antaa komennon, jolla voit ankkuroida valitut ulkoiset viitteet niiden eksplisiittisiin HEAD-versioihin. Mikäli HEAD-versio ei ole vielä selvillä, oikea-napsauta noutaa sen ensin.

SVN-avainsanat

Kuva 4.45. svn:keywords -ominaisuussivu

svn:keywords -ominaisuussivu


Valitse avainsanat, jotka haluat laajentaa tiedostossasi.

Rivinvaihtotyyli

Kuva 4.46. svn:eol-style -ominaisuussivu

svn:eol-style -ominaisuussivu


Valitse haluamasi rivinlopetustyyli; TortoiseSVN valitsee soveltuvan ominaisuusarvon.

Kytkeytyminen vikaseurantaohjelmiin

Kuva 4.47. tsvn:bugtraq -ominaisuussivu

tsvn:bugtraq -ominaisuussivu


Lokiviestien koot

Kuva 4.48. Lokiviestien ominaisuussivun koko

Lokiviestien ominaisuussivun koko


Nämä kolme ominaisuutta ohjaavat lokiviestien muotoilua. Ensimmäiset kaksi poistavat OK-painikkeen käytöstä toimitus- ja lukitusikkunoissa, kunnes toimitusviesti on riittävän pitkä. Reuna-asema näyttää sarkainmerkin asetetun sarakeleveyden kohdalla, mikäli projekti käyttää lokiviesteille leveysrajoitusta. Arvon nollaus poistaa ominaisuuden käytöstä.

Projektin kieli

Kuva 4.49. Kielen ominaisuussivu

Kielen ominaisuussivu


Valitse lokiviestien tavutuksen tarkastuksessa käytettävä kieli. Tiedostolistauksen valintaa käytetään, kun napsautat hiiren oikealla painikkeella lokiviestipaneelissa ja valitset toiminnon Liitä tiedostoluettelo. Oletusarvoisesti Subversion-tilatiedoissa käytetään asennuskieltä. Kun tämä valinta on asetettu, tilatiedot näytetään aina englanniksi. Tästä on hyötyä projekteille, joiden lokiviestien on oltava aina englanninkielisiä.

MIME-tyyppi

Kuva 4.50. svn:mime-type -ominaisuussivu

svn:mime-type -ominaisuussivu


svn:needs-lock

Kuva 4.51. svn:needs-lock -ominaisuussivu

svn:needs-lock -ominaisuussivu


Tämä ominaisuus määrittää, asetetaanko tiedosto arkistosta noudettaessa 'vain luku'-tilaan, vaikka sillä ei olisi lukkoa.

svn:executable

Kuva 4.52. svn:executable -ominaisuussivu

svn:executable -ominaisuussivu


Tämä ominaisuus määrittää, merkitäänkö tiedosto arkistosta noudettaessa suoritettavaksi (vain Linux/unix). Ominaisuus ei tee mitään Windows-ympäristössä.

Yhdistä lokiviestikaavaimet

Aina, kun versioita yhdistetään työkopioon, TortoiseSVN luo lokiviestin kaikista yhdistetyistä versioista. Nämä ovat saatavilla painikkeen Viimeaikaiset viestit avulla toimitusikkunassa.

Voit mukauttaa luodun viestin seuraavien ominaisuuksien avulla:

Kuva 4.53. Ominaisuusikkuna yhdistä lokiviestikaavaimet

Ominaisuusikkuna yhdistä lokiviestikaavaimet


tsvn:mergelogtemplatetitle, tsvn:mergelogtemplatereversetitle

Tämä ominaisuus määrittää ensimmäisen osan luodusta lokiviestistä. Voit käyttää seuraavia avainsanoja:

{revisions}

Pilkuin erotettu lista yhdistettyjä versioita, esim. 3, 5, 6, 7

{revisionsr}

Kuten {versiot}, mutta kukin versio prefiksoituna merkillä r, esim. r3, r5, r6, r7

{revrange}

Pilkuilla erotettu lista yhdistettyjä versioita ryhmiteltyinä osaväleihin, esim. 3, 5-7

{mergeurl}

Yhdistämisen lähdepaikannin, ts. paikka, josta yhdistettävät versiot tulevat.

Tämän merkkijonon oletusarvo on Yhdistetty versio(t) {versioväli} paikasta {yhdistämispaikannin}:

tsvn:mergelogtemplatemsg

Tämä ominaisuus määrittää, miltä kunkin yhdistetyn version tekstin tulisi näyttää. Voit käyttää seuraavia avainsanoja:

{msg}

Yhdistetyn version lokiviesti sellaisenaan.

{msgoneline}

Kuten {msg}, mutta rivinvaihdot korvattuina välilyönnein, jotta koko lokiviesti näkyy yhdellä rivillä.

{author}

Yhdistetyn version tekijä.

{rev}

Itse yhdistetty versio.

{bugids}

Yhdistetyn version vikatunnukset, mikäli niitä on.

tsvn:mergelogtemplatemsgtitlebottom

Tämä ominaisuus määrittää tsvn:mergelogtemplatetitle tai tsvn:mergelogtemplatereversetitle -asetuksella määritellyn otsikon paikan. Jos ominaisuuden arvona on yes tai true, otsikko lisätään alaosaan, muuten yläosaan.

Tärkeää

Tämä toimii vain, jos yhdistetyt versiot ovat jo lokivälimuistissa. Jos olet kytkenyt lokivälimuistin pois päältä, tai lokia ei ole katsottu ennen yhdistämistä, luotu viesti ei sisällä tietoa yhdistetyistä versioista.

Ulkoiset kohteet

Joskus on hyödyllistä muodostaa työkopio, joka on tehty usealla hakuoperaatiolla. Voit esimerkiksi haluta alihakemistojen tulevan eri paikoista arkistossa tai jopa kokonaan eri arkistoista. Jos haluat, että kaikilla käyttäjillä olevan sama hakemistorakenne käytössä, voit määrittää svn:externals-ominaisuuksia noutamaan määritellyt resurssit tarvittaviin paikkoihin.

Ulkoiset kansiot

Oletetaan, että haet työkopion projkektista /project1 kansioon D:\dev\project1. Valitse kansio D:\dev\project1 ja valitse hiiren oikealla näppäimellä komento Windows-valikkoOminaisuudet. Ominaisuusikkuna aukeaa. Siirry Subversion-välilehteen, jossa voit asettaa ominausuudet. Napsauta Ominaisuudet.... Esiin aukeavassa ikkunassa voit kaksoisnapsauttaa svn:externals-valintaa, jios sellainen on, tai lisätä uuden valitsemalla valikosta Uusi... ja externals.

Varo

Paikantimien erikoismerkit on määriteltävä oikein, jotta ne toimisivat. Esimerkiksi välilyönti on korvattava lausekkeella %20.

Jos haluat sisällyttää paikalliseen polkuun välilyöntejä tai muita erikoismerkkejä, voit joko ympäröidä sen lainausmerkein tai käyttää kenoviivamerkkiä \ erikoismerkkien edellä. Jälkimmäinen tarkoittaa tietysti myös sitä, että polkuerottimena on käytettävä jakoviivamerkkiä /. Huomaa, että tämä toiminnallisuus on käytössä versiosta 1.6 alkaen.

Käytä eksplisiittisiä versionumeroita

Sinun kannattaa harkita versionumeroiden käyttöä kaikissa ulkoisissa viittauksissa edellä kuvatulla tavalla. Näin tekemällä pääset itse päättämään, milloin otat käyttöön uuden ulkoisen komponentin version. Tästä on se hyöty, etteivät ulkoisten komponenttien arkistomuutokset - joihin et ehkä voi vaikuttaa - aiheuta yllätyksiä. Lisäksi versionumeroiden käyttö ulkoisissa viittauksissa auttaa myös silloin, kun haluat palauttaa projektisi vanhan version - tällöin ulkoiset viittaukset palautuvat oikeisiin arvoihin, ja ulkoiset työkopiot päivittyvät tilaan, jossa ne olivat arkistosi aiemmassa versiossa. Ohjelmistoprojekteille tämä voi merkitä eroa onnistuneen tai epäonnistuneen käännöksen välillä.

svn:externals -ominaisuuksien muokkausikkunan avulla on mahdollista valita ulkoiset viitteet ja asettaa ne automaattisesti eksplisiittiseen HEAD-versioon.

Jos ulkoinen projekti on samassa arkistossa, kaikki siihen tehdyt muutokset sisältyvät toimituslistaan toimittaessasi pääprojektin muutoksia arkistoon.

Jos ulkoinen projekti on eri arkistossa, siihen tekemistäsi muutoksista näytetään tai ilmoitetaan toimittaessasi pääprojektin muutoksia arkistoon. Joudut kuitenkin toimittamaan ulkoiset muutokset erikseen.

Jos käytät absoluuttisia paikantimia svn:externals -määrityksissä ja joudut sijoittamaan työkopiosi uudelleen (ts. jos arkistosi paikannin muuttuu), niin ulkoiset viitteet eivät päivity eivätkä siis ehkä enää toimi oikein.

Tällaisten ongelmien välttämiseksi Subversion (ja siis myös TortoiseSVN) tukee versiosta 1.5 alkaen suhteellisia paikantimia ulkoisissa viitteissä. Suhteellisen paikantimen voi antaa neljällä eri tavalla. Seuraavissa esimerkeissä oletetaan, että käytössä on kaksi arkistoa, http://example.com/svn/repos-1 ja http://example.com/svn/repos-2. Paikantimesta http://example.com/svn/repos-1/project/trunk on noudettu työkopio kansioon C:\Working ja ominaisuus svn:externals on asetettu kansiolle trunk.

Suhteellinen isähakemistoon nähden

Nämä paikantimet alkavat aina merkkijonolla ../:

../../widgets/foo  common/foo-widget

Tämä noutaa kansion http://example.com/svn/repos-1/widgets/foo työkopion kansioon C:\Working\common\foo-widget.

Huomaa, että paikannin on suhteellinen siihen kansioon nähden, joka sisältää svn:externals -ominaisuuden, ei työkopion kansioon, johon paikantimen sisältö kirjoitetaan.

Suhteessa arkiston juureen

Nämä paikantimet alkavat aina merkkijonolla ^/:

^/widgets/foo  common/foo-widget

Tämä noutaa kansion http://example.com/svn/repos-1/widgets/foo työkopion kansioon C:\Working\common\foo-widget.

Voit helposti viitata muihin arkistoihin, joilla on sama SVNParentPath (yhteinen hakemisto, jossa on useita arkistoja). Esimerkki:

^/../repos-2/hammers/claw  common/claw-hammer

Tämä noutaa kansion http://example.com/svn/repos-2/hammers/claw työkopion kansioon C:\Working\common\claw-hammer.

Suhteellinen yhteyskäytäntöön nähden

Merkkijonolla // alkavat paikantimet jättävät yhteyskäytännön avoimeksi. Tämä on hyödyllistä, jos samaan palvelimeen on kytkeydyttävä eri yhteyskäytännöillä; esim. intranet-asiakkaat käyttävät http://-yhteyskäytäntöä, kun taas internet-asiakkaat käyttävät svn+ssh://-yhteyskäytäntöä. Esimerkki:

//example.com/svn/repos-1/widgets/foo  common/foo-widget

Tämä noutaa kansion http://example.com/svn/repos-1/widgets/foo tai kansion svn+ssh://example.com/svn/repos-1/widgets/foo työkopion C:\Working yhteyskäytännöstä riippuen.

Suhteellinen palvelimen nimeen nähden

Merkkijonolla / alkavat paikantimet jättävät yhteyskäytännön ja palvelimen nimen avoimiksi. Esimerkki:

/svn/repos-1/widgets/foo  common/foo-widget

Tämä noutaa kansion http://example.com/svn/repos-1/widgets/foo työkopion kansioon C:\Working\common\foo-widget. Jos kuitenkin hat työkopiosi toiselta palvelimelta svn+ssh://another.mirror.net/svn/repos-1/project1/trunk, niin ulkoinen viite noutaa kansion svn+ssh://another.mirror.net/svn/repos-1/widgets/foo.

Voit myös tarvittaessa määrittää ankkuri- ja operatiivisen version paikantimelle. Lue lisää näistä tavoista Subversion-kirjasta.

Tärkeää

Mikäli määrität ulkoisen viitteen kohdehakemiston alikansioksi kuten yllä olevissa esimerkeissä, varmista, että kaikki välillä olevat kansiot on myös versioitu. Edellä siis kansion common tulee olla versioitu!

Joskin ulkoinen viite toimii useimmiten oikein, vaikka kaikki yläkansiot eivat olisi versioituja, jotkut komennot eivät toimi odotetusti. Resurssienhallinnan kuvakepäällykset eivät myöskään näytä oikeata tilaa.

Lisätietoa TortoiseSVN:n ominaisuuksien käsittelystä löytyy luvusta ”Projektiasetukset”.

Eri tavoista viitata yhteisiin aliprojekteihin löytyy tietoa luvusta ”Sisällytä projektiin yhteinen aliprojekti”.

Ulkoiset tiedostot

Versiosta 1.6 alkaen voit lisätä ulkoisia viittauksia yksittäisiin tiedostoihin työkopiossasi samaan tapaan kuin ulkoisten kansioiden yhteydessä. Tähän liittyy kuitenkin muutamia rajoituksia.

  • Polun ulkoiseen tiedostoon tulee sijaita suoraan siinä hakemistossa, jolle svn:externals -ominaisuus asetetaan.

  • Ulkoisen tiedoston paikantimen on viitattava samaan arkistoon, missä se sijaitsee; arkistojen väliset ulkoiset tiedostot eivät ole tuettuja.

Ulkoinen tiedosto käyttäytyy useimmiten normaalin versioidun tiedoston tavoin, mutta niitä ei voi siirtää tai poistaa tavanomaisilla komennoilla vaan muokkaamalla svn:externals-ominaisuutta.

Ulkoisten viittausten luonti raahaamalla ja pudottamalla

Jos sinulla on jo työkopio tiedostoista tai kansioista, jotka haluat lisätä toiseen työkopioon ulkoisena viitteenä, voit yksinkertaisesti raahata ne kohdetyökopioon Resurssienhallinnan avulla.

Oikea-raahaa tiedosto tai kansio työkopiosta siihen työkopioon, johon haluat lisätä sen ulkoisena viitteenä. Vapauttaessasi hiiren näppäimen esiin aukeaa kontekstivalikko SVN Lisää ulkoinen viite tähän. Jos valitset komennon, tarvittava svn:externals -ominaisuus lisätään automaattisesti. Tämän jälkeen riittää toimittaa ominaisuusmuutokset arkistoon ja päivittää työkopio.

Haarautuminen / merkitseminen

Eräs tärkeä versionhallintajärjestelmien ominaisuus on kyky eristää muutokset erilliseen kehityslinjaan. Tätä linjaa kutsutaan haaraksi (engl. branch). Haaroja käytetään usein, jottai voitaisiin testata uusia ominaisuuksia tekemättä pääkehityshaarasta epävakaata. Kun uutta ominaisuutta on testattu riittävästi, niin kehityshaara voidaan yhdistää takaisin pääkehityshaaraan (trunk).

Toinen versionhallintajärjestelmien ominaisuus on kyky merkitä tiettyjä versioita (esim. julkaistava versio), jotta voit milloin tahansa luoda julkaisuversion uudestaan. Tätä toimintoa kutsutaan merkitsemiseksi (engl. tagging).

Subversion ei sisällä erityisiä komentoja haarautumiseen tai merkittyjen versioiden tekoon, vaan käyttää tarkoitukseen ns. halpoja kopioita. Halvat kopiot muistuttavat Unix-järjestelmien kovia linkkejä, mikä tarkoittaa, että täyden arkistokopion sijaan luodaan sisäinen linkki, joka osoittaa tiettyyn puuhun/versioon. Tästä syystä haaroja ja merkittyjä versioita voidaan luoda hyvin nopeasti ja ne kuluttavat tuskin ollenkaan ylimääräistä tilaa arkistossa.

Haaran tai merkityn version luonti

Jos olet tuonut projektisi arkistoon käyttäen suositeltua hakemistorakennetta, haaran tai merkityn version tekeminen on yksinkertaista:

Kuva 4.54. Haara / merkitty versio -ikkuna

Haara / merkitty versio -ikkuna


Valitse työkopiostasi se kansio, jonka haluat kopioda haaraan tai merkitä ja valitse sitten komento TortoiseSVNLuo haara / merkitty versio....

Uuden haaran oletusarvoinen kohde on sama kuin se, mistä työkopio on noudettu. Joudut siis muokkaamaan kohdepaikantimen haluamaksesi. Niinpä alkuperäinen paikannin

    http://svn.collab.net/repos/ProjectName/trunk

muuttuisi esim. muotoon

    http://svn.collab.net/repos/ProjectName/tags/Release_1.10

Jos et muista edellisellä kerralla käyttämääsi nimeämistapaa, napsauta oikealla olevaa "..."-näppäintä, joka avaa arkistoselaimen, jolla voit tutkia arkiston nykyistä rakennetta.

välihakemistot

Kun määrität kohdepaikantimen, kaikkiensen välihakemistojen on oltava olemassa, muuten toiminto päättyy virheeseen. Yllä olevassa esimerkissä paikantimen http://svn.collab.net/repos/ProjectName/tags/ on oltava olemassa, jotta nimetty versio Release_1.10 voidaan luoda.

Tarvittaessa voit luoda puuttuvat välihakemistot automaattisesti ikkunan alaosassa olevan valinnan Luo välihakemistot avulla.

Huomaa, että valinta on oletusarvoisesti pois päältä kirjoitusvirheiden välttämiseksi. Jos esimerkiksi kirjoitat kohdepaikantimen muodossa http://svn.collab.net/repos/ProjectName/Tags/Release_1.10 muodon http://svn.collab.net/repos/ProjectName/tags/Release_1.10 sijaan, saat virheilmoituksen, kun valinta on pois päältä. Jos valinta kuitenkin on päällä, kansio Tags luodaan automaattisesti ja lopputuloksena on kaksi kansiota, Tags ja tags.

Nyt on valittava, mistä kopio tehdään. Subversion tarjoaa kolme vaihtoehtoa:

Uusin arkistoversio (HEAD)

Uusi haara kopioidaan suoraan arkiston HEAD-versiosta. Työkopiostasi ei tarvitse siirtää tietoa, ja toiminto on hyvin nopea.

Määritelty arkistoversio

Uusi haara kopioidaan suoraan arkistossa, mutta voit valita vanhemman version. Tästä on hyötyä, jos unohdit merkitä version, joka julkaistiin viime viikolla. Jos et muista versionumeroa, napsauta oikealla olevaa "..."-näppäintä, ja valitse versionumero lokista. Nytkään tietoa ei siirry työkopiosta, ja toiminto on nopea.

Työkopio

Uusi haara on kaksoiskappale työkopiostasi. Jos olet päivittänyt työkopiosi tiedostoja vanhempaan versioon tai tehnyt paikallisia muutoksia, ne siirtyvät kopioon. Tällainen monimutkainen merkitty versio vaatii tiedonsiirtoa työkopion ja arkiston välillä, ja on siksi hitain vaihtoehto.

Jos haluat työkopiosi vaihtuvan osoittamaan uuteen haaraan automaattisesti, ruksaa valinta Vaihda työkopio uuteen haaraan / merkittyyn versioon. Mutta ennen kuin teet sen, varmista, ettei työkopiossasi ole paikallisia muutoksia. Jos niitä kuitenkin on, ne yhdistetään haaran työkopioon vaihdon yhteydessä.

Jos työkopiossasi on svn:externals-määreellä liitettyjä projekteja, ne luetellaan haaraudu/luo merkitty versio -ikkunan alaosassa. Kullekin ulkoiselle viitteelle näytetään kohdepolku ja lähdepaikannin.

Jos haluat varmistaa, että uusi merkitty versio on aina yksikäsitteinen, tarkista, että sen sisältämien ulkoisten viittausten versiot ovat kiinnitettyjä. Jos ulkoinen viite osoittaa HEAD-versioon, se voi muuttua tulevaisuudessa, minkä seurauksena merkityn version hakeminen palauttaa muuttuneen HEAD-version, eikä projekti esimerksi käänny enää. Tästä syystä viitteet kannattaa aina kiinnittää versioon merkintää luotaessa.

Ulkoiset viitteet kiinnitetään automaattisesti joko nykyiseen HEAD-versioon tai työkopion BASE-versioon riippuen haaran/merkityn version alkuperästä:

Taulu 4.1. Kiinnitetty versio

KopiolähdeKiinnitetty versio
Uusin arkistoversio (HEAD)ulkoisen viitteen arkiston HEAD-versio
Tietty arkiston versioulkoisen viitteen arkiston HEAD-versio
Työkopioulkoisen viitteen työkopion BASE-versio


Ulkoisten viitteiden sisältämät ulkoiset viitteet

Mikäli ulkoisena viitteenä sisällytetty projekti itse sisältää ulkoisia viitteitä, niitä ei merkitä! Vain välittöminä lapsia olevat ulkoiset viitteet voidaan merkitä.

Napsauta OK toimittaaksesi uuden kopion arkistoon. Älä unohda kirjoittaa lokiviestiä. Huomaa, että kopio luodaan arkistossa.

Huomaa, että mikäli et pyytänyt työkopion vaihtamista osoittamaan uuteen haaraan, niin haaran tai merkityn version luonti ei vaikuta työkopioosi. Vaikka loisit haaran muuttuneesta työkopiostasi, voi työkopiosi luonnin jälkeen yhä olla muuttunut suhteessa päähaaraan, koska muutokset toimitetaan uuteen haaraan, ei päähaaraan (jonne haara osoittaa).

Muita tapoja haaran tai merkityn version luontiin

Voit myös luoda haaran tai merkityn version ilman työkopiota. Tämä tapahtuu arkistoselaimessa, missä voit raahata kansioita uuteen paikkaan. Sinun on pidettävä Ctrl-näppäin painettuna raahattaessa, jotta kansio kopioidaan - muussa tapauksessa se siirretään.

Voit myös raahata kansioita hiiren oikealla näppäimellä. Kun vapautat hiiren painikkeen, voit valita kontekstivalikosta, haluatko siirtää vai kopioida kansion. Haaran tai merkityn version luomiseksi kansio on tietenkin kopioitava, ei siirrettävä.

Vielä yksi tapa haaran luomiseen on käyttää loki-ikkunaa. Voit näyttää lokin esimerkiksi päähaaralle, valita version (joko HEAD-version ylhäältä tai jonkin aiemman version) ja napsauttaa hiiren oikeaa näppäintä sen kohdalla. Esiin aukeavasta kontekstivalikosta löytyy komento Luo versiosta haara / merkitty versio...

Hakeako työkopio vai vaihtaa...

...siinä kysymys (ei oikeasti!). Siinä missä työkopion haku noutaa kaiken halutusta arkiston haarasta työkopioosi, komento TortoiseSVNVaihda... noutaa työkopioosi vain muuttuneet tiedot. Tämä on hyväksi verkon kuormitukselle ja siten myös hermoillesi :-).

On useita tapoja ottaa käyttöön juuri luomasi haara tai merkitty versio. Voit:

  • Antaa komennon TortoiseSVNHae työkopio luodaksesi tuoreen työkopion tyhjään kansioon. Voit tehdä työkopion mielivaltaiseen paikkaan paikallisella levylläsi ja luoda arkistostasi niin monta työkopiota kuin haluat.

  • Vaihtaa nykyisen työkopiosi osoittamaan juuri luotuun kopioon arkistossa. Valitse taaskin projektisi juurihakemisto ja sen kontekstivalikosta komento TortoiseSVNVaihda...

    Syötä aukeavaan ikkunaan juuri luomasi haaran paikannin. Valitse Uusin versio ja napsauta OK. Työkopiosi vaihdetaan osoittamaan uuteen haaraan / merkittyyn versioon.

    Vaihtaminen toimii samalla periaatteella kuin Päivitä - se ei koskaan hävitä tekemiäsi paikallisia muutoksia. Kaikki työkopioosi tehdyt muutokset, joita ei ole toimitettu arkistoon, yhdistetään vaihtamisen yhteydessä. Jos et halua tätä, sinun on joko toimitettava muutokset arkistoon ennen vaihtamista, tai palautettava työkopiosi johonkin arkistossa olevaan versioon (tyypillisesti HEAD).

  • Jos haluat työskennellä sekä päähaaran että kehityshaaran kanssa, mutta et halua suorittaa mahdollisesti hidasta uuden työkopion hakua, voit tehdä päähaaran työkopiohakemistosta kopion Windowsin Resurssienhallinnan avulla ja vaihtaa sen osoittamaan kehityshaaraan komennolla TortoiseSVNVaihda....

Kuva 4.55. Vaihtoikkuna

Vaihtoikkuna


Vaikka Subversion ei itse tee eroa merkittyjen versioiden ja haarojen välillä (ne ovat molemmat polkukopiota), niiden käyttötapa on tavallisesti erilainen.

  • Merkittyjä versioita käytetään tavallisesti luomaan muuttumaton otos projektista tietyssä vaiheessa. Niitä ei yleensä sellaisinaan käytetä jatkokehitykseen - haarat ovat sitä varten; siksi suosittelimme /trunk /branches /tags -arkistorakennetta alun perin. Merkityn version muuttaminen ei ole hyvä ajatus, mutta koska paikalliset tiedostot eivät ole kirjoitussuojattuja, mikään ei estä sinua tekemästä tätä vahingossa. Jos kuitenkin koetat toimittaa muutoksia arkistoon polulle, joka sisältää osan /tags/, TortoiseSVN varoittaa tästä.

  • Voi olla, että joudut tekemään jatkomuutoksia versioon, jonka olet jo merkinnyt. Oikea tepa tehdä tämä on ensin luoda merkistä uusi haara ja tehdä muutokset sinne. Kun työ on tehty, luo haarasta uusi merkki, esim. Version_1.0.1.

  • Jos muutat haarasta tehtyä työkopiota ja toimitat muutoksesi arkistoon, ne tallettuvat uuteen haaraan, eivät päähaaraan. Vain muutokset talletetaan. Loppuosa säilyy halpana kopiona.

Yhdistäminen

Kun haaroja käytetään erillisten kehityspolkujen hallintaan, tulee ennen pitkää vastaan tilanne, jolloin haarassa tehdyt muutokset halutaan yhdistää päähaaraan (tai toisin päin).

On oleellista ymmärtää, miten haarautuminen ja yhdistäminen toimivat Subversionissa ennen kuin alat käyttää niitä - yhdistäminen voi joskus olla varsin mutkikasta. Kannattaa lukea Subversion-kirjan kappale Branching and Merging, jossa on hyvä kuvaus asiasta sekä lukuisia käyttöesimerkkejä.

Seuraava merkille pantava asia on se, että yhdistäminen tapahtuu aina jossain työkopiossa. Jos haluat yhdistää muutoksia haaraan, sinulla on oltava siitä työkopio, ja yhdistäminen on käynnistettävä tästä työkopiosta komennolla TortoiseSVNYhdistä....

Yleensä on parasta tehdä yhdistäminen muuttamattomaan työkopioon. Jos työkopiossasi on ennestään muutoksia, toimita ne ensin arkistoon. Jos yhdistäminen ei suju odotetusti, saatat haluta perua muutokset, ja komento Palauta poistaa työkopiosta kaikki muutokset, myös ennen yhdistämistä tehdyt.

Yhdistäminen voidaan tehdä kolmella hieman toisistaan poikkeavalla tavalla, kuten seuraavassa on kuvattu. Tapa valitaan ohjatun yhdistämistoiminnon ensimmäisellä sivulla.

Versiovälin yhdistäminen

Tämä käyttötapaus sopii tilanteeseen, missä olet toimittanut yhden tai useamman version johonkin arkiston haaraan (tai päähaaraan) ja haluat siirtää ne johonkin toiseen haaraan.

Tässä tapauksessa pyydät Subversionia tekemään seuraavaa: Määritä tarvittavat muutokset, joilla päästään kehityshaaran A versiosta 1 [Mistä] kehityshaaran A versioon 7 [Mihin]. Sovella sitten nämä muutokset työkopiooni (joka osoittaa päähaaraan tai haaraan B).

Jos jätät versiovälin tyhjäksi, Subversion käyttää yhdistämistietoja laskeakseen tarvittavan versiovälin. Toiminto tunnetaan nimillä takaisinyhdistäminen tai automaattinen yhdistäminen.

Kahden puun yhdistäminen

Tämä on yleisempi versio takaisin yhdistämisestä, missä Subversion suorittaa seuraavat toimenpiteet: Määritä tarvittavat muutokset, jotta päästään päähaaran [Mistä] uusimmasta versiosta kehityshaaran [Mihin] uusimpaan versioon. Sovella sitten nämä muutokset työkopioon (joka osoittaa päähaaraan). Lopputuloksena päähaara on identtinen kehityshaaran kanssa.

Jos palvelimesi/arkistosi ei tue tehtyjen yhdistämisten jäljitystä, tämä on ainoa tapa yhdistää kehityshaara takaisin päähaaraan. Toinen käyttötapaus on se, että käytät ulkoisia komponentteja (engl. vendor branches) ja joudut yhdistämään ulkoisen komponentin uuden version muutokset päähaaraasi. Lue lisää tästä Subversion-kirjan luvusta vendor branches.

Versiovälin yhdistäminen

Kuva 4.56. Ohjattu yhdistäminen - versioväli

Ohjattu yhdistäminen - versioväli


Syötä Mistä:-kenttään sen haaran tai merkityn version paikannin, jossa työkopioon yhdistettävät versiot sijaitsevat. Voit myös napsauttaa ...-näppäintä etsiäksesi haaran arkistoselaimella. Jos olet aiemmin yhdistänyt tästä haarasta, voit valita paikantimen suoraan pudotusvalikosta, joka sisältää aiemmin käytetyt paikantimet.

Jos yhdistät uudelleen nimetystä tai poistetusta haarasta, joudut siirtymään takaisin sellaiseen versioon, jossa haara oli vielä olemassa. Tämä versio on kiinnitettävä ankkuriversioksi yhdistettävään versioväliin (ks. alla), muuten yhdistäminen epäonnistuu, koska HEAD ei sisällä ko. polkua.

Syötä Yhdistettävä versioväli -kenttään luettelo yhdistettävistä versioista. Lista voi olla yksittäinen versio, joukko pilkuin erotettuja versioita, väliviivalla erotettu versioväli tai joku näiden yhdistelmä.

Mikäli joudut määrittämään yhdistämistä varten ankkuriversion, lisää se versioiden jälkeen, esim. 5-7,10@3. Tässä esimerkissä yhdistetään versiot 5, 6, 7 ja 10 ankkuriversiolla 3.

Tärkeää

TortoiseSVN ja komentoriviasiakas eroavat merkittävästi toisistaan tavassa, jolla (yhdistämisen) versioväli määritellään. Helpoin tapa mieltää ero on ajatella aitaa, jossa on pylväitä ja niiden välisiä osia, pylväsvälejä.

Komentoriviasiakasta käyttäessäsi yhdistettävät muutokset määritellään kahdella aidanpylväsversiolla, jotka määrittävät pisteet ennen muutoksia ja muutosten jälkeen.

TortoiseSVN määrittää yhdistettävät muutokset pylväsvälien kuvaamana muutosjoukkona. Syy tähän käy selväksi, kun käytät loki-ikkunaa yhdistettävien versioiden määrittämiseen - siellä jokainen versio näkyy muutosjoukkona.

Jos yhdistät versioita paloittain, Subversion-kirjan kuvaamalla menetelmällä yhdistäisit ensin versiot 100-200 ja seuraavalla kerralla versiot 200-300. TortoiseSVN-yhdistäminen sen sijaan tapahtuu yhdistämällä ensin muutosjoukot 100-200 ja seuraavalla kerralla muutosjoukot 201-300.

Tämä ero on aiheuttanut runsaasti keskustelua postituslistoilla. Myönnämme, että käytös poikkeaa komentoriviasiakkaasta, mutta uskomme, että suurimmalle osalle graafisen käyttöliittymän käyttäjistä käyttämämme tapa on helpompi ymmärtää.

Helpoin tapa valita yhdistettävä versioväli on napsauttaa Näytä loki -painiketta, jolloin saat näkyviin viimeisimmät muutokset lokiviesteineen. Jos haluat yhdistää muutokset yhdestä versiosta, riittää kun valitset sen. Jos haluat yhdistää muutokset useista versioista, valitse halutut versiot (käyttäen Shift-näppäintä apuna). Napsauta OK, ja luettelo yhdistettävistä versionumeroista täytetään puolestasi.

Jos haluat käyttää yhdistämistä poistamaan aiemmin toimitettuja muutoksia työkopiostasi, valitse poistettavat versiot ja varmista, että valinta Käänteinen yhdistäminen on asetettu.

Jos olet jo aiemmin yhdistänyt muita muutoksia tästä haarasta, olet toivottavasti kirjannut lokiviestiin tiedon viimeisestä yhdistetystä versiosta, kun toimitit muutokset arkistoon. Siinä tapauksessa voit käyttää työkopiosi Näytä loki -komentoa etsiäksesi tuon lokiviestin. Koska TortoiseSVN käyttää muutosjoukkoja versiovälien kuvaamiseen, sinun tulee käyttää edellisen yhdistämisen loppupistettä seuraavaa versiota alkupisteenä uudelle yhdistämiselle. Jos esimerkiksi yhdistit viimeksi versiot 37-39, niin uuden yhdistämisen aloitusversion tulisi olla 40.

Jos hyödynnät Subversionin yhdistämisjäljitysominaisuuksia, sinun ei tarvitse muistaa, mitä versioita on aiemmin yhdistetty - Subversion pitää niistä kirjaa puolestasi. Jos jätät versiovälin tyhjäksi, mukaan sisällytetään kaikki aiemmin yhdistämättömät versiot. Lue luvusta ”Tehtyjen yhdistämisten jäljitys” lisää asiasta.

Kun yhdistämisjäljitys on käytössä, loki-ikkuna näyttää harmaannutettuna sekä aiemmin yhdistetyt versiot että ne versiot, jotka edeltävät yhteistä haarautumispistettä (esim. haaran kopiointi). Valinta Piilota versiot, joita ei voi yhdistää sallii tällaisten versioiden suodattamisen pois, jolloin näet vain versiot, jotka voidaan yhdistää.

Jos on mahdollista, että muut ihmiset toimittavat muutoksia arkistoon, niin ole varovainen käyttäessäsi HEAD-versiota. Se saattaa viitata uudempaan versioon kuin luulet (näin käy, jos joku muu on ehtinyt toimittaa muutoksia arkistoon viimeisimmän päivityksesi jälkeen).

Jos jätät versiovälin tyhjäksi tai valitset kaikki versiot, Subversion yhdistää kaikki vielä yhdistämättömät versiot. Tämä tunnetaan nimillä takaisin yhdistäminen tai automaattinen yhdistäminen.

Muutosten yhdistäminen takaisin (engl. reintegrate) voidaan tehdä vain seuraavien ehtojen täyttyessä: Ensinnäkin palvelimen on tuettava tehtyjen yhdistämisten jäljitystä. Työkopion syvyyden on oltava täysin palautuva (ei osittainen); siinä ei saa myöskään olla paikallisia muutoksia, vaihdettuja hakemistoja tai hakemistoja, jotka eivät ole versiossa HEAD. Kaikkien päähaaran muutosten, jotka on tehty kehityshaaran olemassaolon aikana, on oltava yhdistettyjä (tai merkitty yhdistetyiksi) kehityshaaraan. Yhdistettävä versioväli lasketaan automaattisesti.

NapsautaSeuraava ja siirry lukuun ”Yhdistämisvalinnat”.

Kahden eri puun yhdistäminen

Kuva 4.57. Ohjattu yhdistäminen - puut

Ohjattu yhdistäminen - puut


Jos käytät tätä menetelmää yhdistääksesi kehityshaaran takaisin päähaaraan, sinun on käynnistettävä yhdistämistoiminto päähaaran työkopiosta.

Mistä:-kenttään syötetään päähaaran paikannin. Tämä voi kuulostaa väärältä, mutta muista, että päähaara on alkupiste, johon haluat lisätä kehityshaaran muutokset. Voit myös napsauttaa ...-painiketta selataksesi arkistoa.

Syötä kenttään Mihin: kehityshaaran paikannin.

Syötä kenttiin Mistä: Versio ja Mihin: Versio viimeisin versionumero, jossa kaksi puuta viimeksi synkronoitiin. Jos olet varma, että kukaan muu ei ole toimittamassa tiedostoja arkistoon, voit käyttää molemmissa tapauksissa uusinta (HEAD)-versiota. Jos on mahdollista, että joku muu on voinut samaan aikaan tehdä arkistotoimituksia synkronoinnin jälkeen, käytä tarkkaa versionumeroa välttääkssesi viimeaikaisten toimitusten menetyksen.

Voit myös käyttää komentoa Näytä loki valitaksesi version.

Yhdistämisvalinnat

Tällä sivulla voit määritellä lisäasetuksia ennen yhdistämisen aloitusta. Useimmiten oletusasetuksia ei ole tarpeen muuttaa.

Voit myös määrittää yhdistämissyvyyden, ts. kuinka syvälle työkopioosi yhdistäminen etenee. Syvyyskäsitteet on kuvattu luvussa ”Työkopion haun syvyys”. Oletussyvyys on Työkopio, joka käyttää nykyistä työkopion syvyyttä. Tämä on miltei aina oikea valinta.

Useimmiten yhdistäminen kannattaa suorittaa ottamalla tiedoston historia huomioon siten, että yhdistettävuksi valitaan muutokset suhteessa yhteiseen edeltäjään. Joskus kuitenkin voi olla tarpeen yhdistää tiedostoja, jotka ovat suhteessa toisiinsa, mutta joilla ei ole yhteistä versiohistoriaa arkistossa. Olet esimerkiksi saattanut tuoda jonkun kirjaston versiot 1 ja 2 kahteen eri hakemistoon. Vaikka ne ovat loogisesti suhteessa keskenään, Subversion ei tiedä sitä, koska se näkee vain tuomasi tiedostot. Jos yrität yhdistää nämä puut, havaitset, että ensin kaikki tiedostot poistetaan ja sitten lisätään uudestaan. Ohjataksesi Subversionin käyttämään polkuihin perustuvia eroja historiaan pohjautuvien erojen sijaan, ruksaa valinta Ohita edeltäjät. Tästä aiheesta löydät lisätietoa Subversion-kirjan luvusta Noticing or Ignoring Ancestry.

Voit määrittää, millä tapaa rivinloppu- ja tyhjämerkkejä käsitellään yhdistettäessä. Nämä valinnat on kuvattu luvussa ”Rivinlopetin- ja tyhjämerkkiasetukset”. Oletusarvoisesti erot rivinloppu- ja tyhjämerkeissä ovat todellisia yhdistettäviä muutoksia.

Valinta Pakotettu yhdistäminen estää puuristiriidan, joka syntyy, kun yhdistettävä poisto koskee tiedostoa, jossa on paikallisia muutoksia tai jota ei ole versioitu ollenkaan. Tiedoston poistoa ei ole mahdollista perua, mistä syystä valinta ei ole oletusarvoisesti päällä.

Jos yhdistämisjäljitys on käytössä ja haluat merkitä version yhdistetyksi ilman, että oikeasti teet sen, ruksaa valinta Pelkkä yhdistämistietojen päivitys. Saatat haluta tätä ainakin kahdesta eri syystä: yhdistäminen voi olla liian mutkikas, joten päätät yhdistää muutokset käsin ja tehdä yhdistämisjäljityksen tietoiseksi tästä. Toisaalta voit haluta estää tietyn version yhdistämisen - sen merkitseminen yhdistetyksi estää version ottamisen mukaan yhdistämiseen yhdistämisjäljitystä tukevissa asiakasohjelmissa.

Nyt kaikki on valmista ja voit napsauttaa Yhdistä-painiketta aloittaaksesi. Jos haluat esikatsella yhdistämisen tekemiä muutoksia, painike Testaa suorittaa yhdistämisen, mutta ei muuta työkopiotasi. Se näyttää luettelon tiedostoista, jotka muuttuvat, kun varsinainen yhdistäminen tehdään, ilmoittaen myös mahdollisista ristiriidoista, joita saattaa syntyä. Koska yhdistämisten jäljitys monimutkaistaa asioita, ei ole täysin varmaa tapaa tietää ennalta, voidaanko yhdistäminen viedä päätökseen ilman ristiriitoja. Tästä syystä testiyhdistämisen ristiriitaisiksi ilmoittamat tiedostot saattavat itse asiassa yhdistyä ongelmitta.

Yhdistämisen etenemisikkuna näyttää kunkin yhdistämisen vaiheen ja siihen liittyvät versiovälit. Tällöin voit joskus nähdä yhden odottamattoman ylimääräisen version: jos esimerkiksi yhdistit version 123, edistymisikkuna kertoo Yhdistetään versiot 122 - 123 . Tämän ymmärtääksesi sinun on muistettava, että yhdistäminen on läheisessä suhteessa vertailuun. Yhdistäminen toimii tuottamalla luettelon eroista kahden arkistokohdan välillä ja sovittaa ne työkopioosi. Edistymisikkuna näyttää vertailun alku- ja loppukohdat.

Yhdistämisen tulosten tarkistaminen

Yhdistäminen on nyt valmis. Kannattaa tutkia tuloksia ja varmistua, että ne vastaavat odotuksia. Yhdistäminen on yleensä varsin monimutkaista. Ristiriitoja syntyy usein, kun kehityshaara on ajautunut kauas päähaarasta.

Vihje

Aina, kun versioita yhdistetään työkopioon, TortoiseSVN luo lokiviestin kaikista yhdistetyistä versioista. Nämä ovat saatavilla painikkeen Viimeaikaiset viestit avulla toimitusikkunassa.

Mukauttaaksesi luodun viestin, aseta työkopioosi vastaavat projektiominaisuudet. Katso lisää luvusta ”Yhdistä lokiviestikaavaimet”

Versiota 1.5 aiemmat Subversion-asiakkaat ja palvelimet eivät talleta tietoa tehdyistä yhdistämisistä, vaan niistä on pidettävä kirjaa käsin. Kun olet testannut muutokset ja toimitat ne arkistoon, lokiviestisi tulisi aina sisältää ne versionumerot, jotka yhdistettiin. Jos haluat myöhemmin suorittaa toisen yhdistämisen, sinun on tiedettävä mitä olet jo yhdistänyt, koska samaa versiota ei voi ilman ristiriitoja yhdistää kahdesti. Lisää yksityiskohtia yhdistämisestä löydät Subversion-kirjan luvusta Best Practices for Merging.

Jos palvelimesi ja kaikki asiakasohjelmat käyttävät vähintään Subversion-versiota 1.5, tehdyt yhdistämiset muistetaan automaattisesti eikä niitä tehdä useammin kuin kerran. Tämä helpottaa yhdistämistä huomattavasti, koska voit joka kerta yksinkertaisesti valita kaikki versiot yhdistettäväksi ja antaa järjestelmän huolehtia lopusta.

Haaran ylläpito on tärkeää. Jos haluat pitää haaran ajan tasalla päähaaraan nähden, sinun kannattaa yhdistää usein, jotta haara ja päähaara eivät ajaudu liian kauas toisistaan. Tietenkin samalla pitää välttää muutosten yhdistämistä useaan kertaan, kuten edellä on kuvattu.

Vihje

Jos olet juuri yhdistänyt kehityshaaran päähaaraan, se sisältää kaikki kehityshaaran lisäykset. Kehityshaara on siten tarpeeton ja voidaan poistaa arkistosta, jos tarpeen.

Tärkeää

Subversion ei tue tiedoston yhdistämistä kansion kanssa tai päinvastoin - vain kansioista kansioihin tai tiedostoista tiedostoihin. Jos avaat yhdistämiskkunan tiedoston kontekstivalikosta, sinun on annettava yhdistämispaikantimeksi tiedostopolku. Jos taas avaat yhdistämisikkunan kansion kontekstivalikosta, yhdistämispaikantimeksi on annettava kansiopolku.

Tehtyjen yhdistämisten jäljitys

Subversion 1.5 lisäsi tuen ja työkaluja tehtyjen yhdistämisten jäljittämiselle. Kun yhdistät muutoksia hakemistopuusta toiseen, yhdistetyt versionumero talletetaan, ja tät tietoa voidaan käyttää useisiin eri tarkoituksiin.

  • Voit välttää tilanteen, jossa sama versio yhdistetään kahdesti (toistetun yhdistämisen ongelma). Kun joku versio on kerran merkitty yhdistetyksi, tulevat yhdistämiset, jotka sisältävät ko. version, hyppäävät sen yli.

  • Kun yhdistät kehityshaaran takaisin päähaaraan, loki-ikkuna osaa näyttää kehityshaaraan tehdyt arkistotoimitukset osana päähaaran lokia, mikä mahdollistaa paremman muutosten seurannan.

  • Kun avaat loki-ikkunan yhdistämisikkunasta käsin, jo yhdistetyt versiot näytetään harmaina.

  • Kun selvität jonkin tiedoston muutosten tekijät, voit valita näytettäväksi yhdistettyjen versioiden alkuperäisen tekijän (yhdistämisen tehneen henkilön sijaan).

  • Voit merkitä versioita älä yhdistä-leimalla sisällyttämällä ne tehtyjen yhdistämisten listaan ja jättämällä itse yhdistämisen tekemättä.

Tieto tehdyistä yhdistämisistä talletetaan svn:mergeinfo-ominaisuuteen Subversion-asiakkaan toimesta yhdistämisen aikana. Kun yhdistämisen tulos toimitetaan arkistoon, palvelin tallettaa tiedot tietokantaan, ja kykenee myöhemmin antamaan yhdistämiseen liittyviä tietoja loki-, tekijän selvitys tai yhdistämispyyntöjen yhteydessä. Jotta järjestelmä toimisi kunnolla, on sekä palvelin että kaikki asiakasohjelmat päivitettävä. Vanhemmat asiakasohjelmat eivät talleta svn:mergeinfo-ominaisuutta, ja vanhemmat palvelimet eivät kykene vastaamaan uudempien asiakasohjelmien kyselyihin.

Lisätietoa tehtyjen yhdistämisten jäljittämisestä löydät dokumentista Merge tracking documentation.

Ristiriitojen ratkaisu yhdistämisen jälkeen

Tärkeää

Ristiriitojen ratkaisuikkunoiden tekstit tulevat SVN-kirjastosta, ja saattavat siksi olla (vielä) kääntämättä ja englanninkielisiä.

Yhdistäminen ei aina suju kitkattomasti. Joskus syntyy ristiriita. Näissä tilanteissa TortoiseSVN avaa yhdistämisristiriitojen ratkontaikkunan.

Kuva 4.58. Yhdistämisristiriitojen ratkontaikkuna

Yhdistämisristiriitojen ratkontaikkuna


On todennäköistä, että osa muutoksista yhdistyy ongelmitta, kun taas jotkut ovat ristiriidassa arkistoon jo toimitettujen muutosten kanssa. Kaikki yhdistettävissä olevat muutokset yhdistetään. Yhdistämisristiriitaikkuna tarjoaa eri tapoja käsitellä ristiriitaisia rivejä.

Yksinkertaiset ristiriidat, jotka johtuvat muutoksista tiedoston sisältöön tai sen ominaisuuksiin, voidaan ratkaista painikkeilla, joilla valitaan säilytettävät ja hylättävät osat.

Lykkää

Älä ratkaise ristiriitaa nyt. Anna yhdistämisen jatkua ja ratkaise ristiriidat yhdistämisen päätyttyä.

Hyväksy kantaversio

Tämä vaihtoehto jättää tiedoston tilaan, jossa se oli ennen yhdistämistä tai paikalliseen versioon tehtyjä muutoksia.

Hyväksy sisään tuleva versio

Tämä vaihtoehto poistaa paikalliset muutokset ja korvaa ne sisään tulevilla muutoksilla.

Hylkää sisääntulevat muutokset

Tämä vaihtoehto hylkää sisääntulevat yhdistämismuutokset ja jättää paikalliset muutokset voimaan.

Ratkaise ristiriidat sisääntulevilla muutoksilla

Tämä vaihtoehto hylkää paikalliset muutokset, jos ne ovat ristiriidassa sisään tulevien muutosten kanssa. Muut paikalliset muutokset säilytetään.

Ratkaise ristiriidat paikallisilla muutoksilla

Tämä vaihtoehto hylkää sisääntulevat muutokset, jos ne ovat ristiriidassa paikallisten muutosten kanssa. Muut sisääntulevat muutokset yhdistetään.

Merkitse ratkaistuksi

Merkitsee ristiriidat ratkaistuksi. Toiminto on estetty, kunnes käytät painiketta Muokkaa ratkaistaksesi ristiriidan käsin ja muutokset on talletettu.

Muokkaa

Käynnistää yhdistämistyökalun, jossa voit ratkaista ristiriidat käsin. Älä unohda tallettaa muutoksia, muuten painike Merkitse ratkaistuksi ei aktivoidu.

Mikäli kyseessä on puuristiriita, lue ensin kappale ”Puuristiriidat”, joka kuvaa puuristiriitojen alalajit ja esiintymissyyt.

Yhdistämisen jälkeen tapahtuva puuristiriitojen ratkaisu tehdään puuristiriitaikkunassa, jossa on useita vaihtoehtoja ristiriidan ratkaisemiseksi:

Kuva 4.59. Puuyhdistämisristiriitojen ratkontaikkuna

Puuyhdistämisristiriitojen ratkontaikkuna


Vaihtoehdot riippuvat puuristiriidan tyypistä ja sisältävät selventävän kuvauksen toiminnasta. Jos et ole varma, voit keskeyttää yhdistämisen tai käyttää Lykkää-painiketta ratkaistaksesi ristiriidan myöhemmin.

Kehityshaaran ylläpito

Kun kehität uutta ominaisuutta erillisessä haarassa, on syytä harkita jo etukäteen tapa, jolla muutokset yhdistetään takaisin päähaaraan, kun ominaisuus on valmis. Jos päähaarassa on samaan aikaan meneillään muuta kehitystyötä, huomaat, että erot kasvavat ajan mittaan merkittäviksi, ja takaisin yhdistäminen muuttuu painajaiseksi.

Jos ominaisuus on suhteellisen yksinkertainen ja sen toteuttaminen ei vie pitkään, voit käyttää yksinkertaista menetelmää, jossa kehityshaara pidetään täysin erillisenä päähaarasta valmistumiseensa asti. Tämän jälkeen se yhdistetään takaisin päähaaraan käyttäen yhdistämisvalintaa Yhdistä versioväli; versioväli koostuu kehityshaaran alku- ja loppuversioista.

Jos ominaisuuden kehittäminen vie pitkään, ja joudut sen aikana ottamaan huomioon päähaarassa tapahtuvia muutoksia, joudut pitämään haarat synkronoituina. Tämä tarkoittaa yksinkertaisesti sitä, että yhdistät aika ajoin päähaaran muutokset kehityshaaraan, jolloin kehityshaara sisältää päähaaran muutokset sekä uuden ominaisuuden. Synkronointiin käytetään yhdistämisvalintaa Yhdistä versioväli. Kun ominaisuus on valmis, voit yhdistää sen takaisin päähaaraan joko komennolla Yhdistä haara takaisin tai Yhdistä kaksi eri puuta.

Toinen (nopea) tapa yhdistää kaikki muutokset päähaarasta kehityshaaraan on käyttää laajennetun kontekstivalikon komentoa TortoiseSVNYhdistä kaikki... (pidä Shift-näppäin painettuna avatessasi valikon).

Kuva 4.60. Yhdistä kaikki -ikkuna

Yhdistä kaikki -ikkuna


Tämä ikkuna on helppo täyttää. Riittää, kun asetat yhdistämisasetukset kappaleen ”Yhdistämisvalinnat” mukaisesti. TortoiseSVN huolehtii lopusta automaattisesti käyttäen hyväkseen tietoa aiemmin tehdyistä yhdistämisistä.

Lukitseminen

Subversion toimii yleisesti ottaen parhaiten ilman lukitusta, käyttäen luvussa ”Kopioi-muokkaa-yhdistä -ratkaisu” kuvattua menetelmää. On kuitenkin muutamia tilanteita, jolloin saattaa olla tarpeen ottaa lukitus käyttöön.

  • Käytät tiedostoja, joita ei voi yhdistää (esim. kuvatiedostot). Mikäli kaksi ihmistä muuttaa samaa tiedostoa, yhdistäminen ei ole mahdollista, joten jompi kumpi menettää muutoksensa.

  • Yrityksesi on aina ennen käyttänyt lukituksiin perustuvaa versionhallintajärjestelmää, ja projektijohto on päättänyt, että on parasta lukita.

Ensin on syytä varmistaa, että Subversion-palvelimesi on päivitetty vähintään versioon 1.2. Aiemmat versiot eivät tukeneet lukitusta. Jos käytät file:// -yhteyskäytäntöä, riittää tietenkin, että Subversion-asiakasohjelma päivitetään.

Kolme merkitystä termille Lukko

Tässä luvussa, samoin kuin miltei kaikkialla tässä kirjassa, sanat lukko ja lukitus kuvaavat käyttäjien yhteiskäytön estävää mekanismia, jolla vältetään päällekkäiset toimitukset arkistoon. Subversion käyttää kuitenkin lukkoja myös kahteen muuhun tarkoitukseen, joista käyttäjän on hyvä olla tietoinen.

Toinen lukkotyyppi on työkopiolukko, jota Subversion käyttää sisäisesti estääkseen yhteentörmäykset samaa työkopiota käyttävien Subversion-asiakkaiden välillä. Tavallisesti tällaisen lukon saa, kun päivitys tai arkistotoimitus keskeytyy virheen vuoksi. Työkopiolukon voi poistaa siivoamalla työkopion luvussa ”Siivoaminen” kuvatulla tavalla.

Kolmanneksi, tiedostot ja kansiot voivat lukittua, jos ne ovat toisen prosessin käytössä. Jos esimerkiksi olet muokkaat tiedostoa Wordissä, se on lukittu eikä TortoiseSVN voi käyttää sitä.

Yleisesti ottaen voit unohtaa nämä matalan tason lukot, ellei jotain mene pieleen. Tässä kirjassa termi lukko tarkoittaa ensinnä kuvattua tyyppiä, ellei muu ole ilmeistä lauseyhteyden perusteella.

Kuinka lukitus toimii Subversionissa

Oletusarvoisesti mitään ei lukita ja kaikki kehittäjät, joilla on toimitusoikeudet arkistoon, voivat toimittaa muutoksia tiedostoihin milloin tahansa. Muut kehittäjät päivittävät työkopionsa aika ajoin, ja arkiston mahdolliset muutokset yhdistetään paikallisten muutosten kanssa.

Kun lukitset tiedoston, vain sinä voit toimittaa siihen muutoksia arkistossa. Muitten kehittäjien toimitukset estetään kunnes vapautat lukon. Lukittua tiedostoa ei voi muuttaa arkistossa, joten sitä ei voida esim. poistaa tai nimetä uudelleen, paitsi lukon omistajan toimesta.

Tärkeää

Lukkoja ei anneta käyttäjille, vaan tietyn käyttäjän tiettyyn työkopioon. Tästä syystä käyttäjä ei voi toimittaa lukitsemaansa tiedostoa arkistoon jostain toisesta työkopiosta.

Oletetaan esimerkiksi, että Jukalla on työkopio toimistotyöasemallaan. Hän aloittaa työt siellä kuvan parissa ja lukitsee kuvatiedoston. Lähtiessään kotiin hän ei ole vielä valmis eikä siis vapauta lukitusta. Jukalla on kotona toinen työkopio, ja hän päättää jatkaa töitä kuvan parissa. Hän ei voi kuitenkaan muokata tai toimittaa samaa kuvaa, koska lukko on toimistotyöaseman työkopiolla.

Muut kehittäjät eivät kuitenkaan välttämättä tiedä, että olet lukinnut tiedoston. Jolleivät he tarkista lukitustilannetta säännöllisesti, tilanne valkenee heille ensimmäisen kerran, kun toimitus arkistoon epäonnistuu. Tämä ei ole useimmiten kovin hyödyllistä. Jotta lukkojen hallinta olisi helpompaa, Subversion tukee erityistä svn:needs-lock -ominaisuutta. Kun tämä ominaisuus on asetettu jollekin tiedostolle (mihin tahansa arvoon), paikallinen työkopio kirjoitussuojataan aina työkopion haun tai päivityksen yhteydessä ellei tiedosto ole jo lukittu ko. työkopiossa. Tämä toimii varoituksena, että tiedostoa ei tulisi muokata, ellei sitä ole ensin lukittu. Kirjoitussuojatuilla, versioiduilla tiedostoilla on TortoiseSVN:ssä erityinen kuvakepäällys, joka myös viestittää, että tiedosto on lukittava ennen muokkaamista.

Lukot ovat kehittäjä- ja työkopiokohtaisia. Jos sinulla on useita työkopioita (esim. kotona, töissä), voit lukita yksittäisen tiedoston vain yhdessä työkopiossa.

Mikä neuvoksi, jos työtoverisi lukitsee tiedoston ja lähtee sitten esim. lomalle vapauttamatta sitä? Subversionissa on työkalut lukon pakotettuun vapauttamiseen. Jonkun toisen lukitseman tiedoston lukituksen purkua kutsutaan lukon rikkomiseksi. Jonkun toisen lukitseman tiedoston lukitusta itselle kutsutaan lukon varastamiseksi. Näitä toimenpiteitä ei tietenkään pidä tehdä kevyin perustein, mikäli haluat pysyä väleissä työtoveriesi kanssa.

Tiedot lukoista säilytetään palvelimella, ja lukkotunniste luodaan paikallisessa työkopiossa. Ongelmatilanteissa, esim. jos joku on rikkonut lukon, paikallinen lukkotunniste vanhenee. Arkistossa on aina viime kädessä tieto lukituksista.

Lukitseminen

Valitse työkopiostasi tiedostot, jotka haluat lukita ja anna sitten komento TortoiseSVNLukitse...

Kuva 4.61. Lukitusikkuna

Lukitusikkuna


Voit syöttää esiin aukeavaan ikkunaan lukitussyyn, jotta muut näkevät, miksi lukitsit tiedoston. Lukitussyy on vapaaehtoinen ja nykyisin käytössä vain Svnserve-pohjaisissa arkistoissa. Jos (ja vain jos) joudut ottamaan lukon joltakin toiselta kehittäjältä, ruksaa valinta Varasta lukko ja napsauta sitten OK.

Voit asettaa projektiominaisuuden tsvn:logtemplatelock asettaaksesi oletusarvoisen lukitusviestin. Katso ”Projektiasetukset” saadaksesi lisätietoa ominaisuuksien asettamisesta.

Jos suoritat komennon TortoiseSVNLukitse... kansiolle, lukitusikkuna listaa kaikki tiedostot kaikissa alikansioissa ja valitsee ne lukittaviksi. Jos todella haluat lukita koko tiedostohierarkian, niin tämä komento on sitä varten. Kannattaa kuitenkin olla varovainen tämän komennon käytössä, sillä jos lukitset muut kehittäjät ulos koko projektista, et ainakaan saa lisää ystäviä..

Lukon vapautus

Jotta et unohtaisi vapauttaa lukkoja, joita et enää tarvitse, toimitusikkuna valitsee lukitut tiedostot oletusarvoisesti arkistoon toimitettaviksi. Jos jatkat toimitusta, valittujen tiedostojen lukot vapautetaan, vaikkei niitä olisi muutettu. Jos et halua vapauttaa joidenkin tiedostojen lukkoja, voit poistaa niiden valinnan (ellei niitä ole muutettu). Jos haluat säilyttää lukon muuttamallesi tiedostolle, sinun on ruksattava valinta Pidä lukot ennen muutosten toimittamista.

Jos haluat pelkästään vapauttaa lukkoja, valitse haluamasi tiedostot työkopiostasi ja anna komento TortoiseSVNVapauta lukko. TortoiseSVN ottaa yhteyden arkistoon ja vapauttaa lukot. Voit käyttää komentoa myös kansioille vapauttaaksesi kaikki lukot palautuvasti.

Lukkojen tarkistus

Kuva 4.62. Tarkista muutokset -ikkuna

Tarkista muutokset -ikkuna


Voit käyttää komentoa TortoiseSVNTarkista muutokset... nähdäksesi, mitä lukkoja sinulla ja muilla on. Paikalliset lukot luetellaan välittömästi. Tarkistaaksesi muitten lukitukset (ja nähdäksesi, onko mikään lukoistasi rikki tai varastettu) sinun on napsautettava Tarkista arkisto.

Ikkunan kontekstivalikosta löytyvillä komennoilla voit myös muuttaa tiedostojen lukitusta. Voit myös rikkoa ja varastaa muitten lukitsemia tiedostoja.

Vältä lukkojen rikkomista ja varastamista

Jos rikot tai varastat jonkun muun lukon kertomatta heille, saatat aiheuttaa turhaa työtä. Jos muutettavat tiedostot eivät ole yhdistettävissä ja varastat jonkun toisen lukon, niin lukon vapauttamisen jälkeen he ovat vapaita toimittamaan omat muutoksensa ja samalla ylikirjoittamaan sinun muutoksesi. Subversion ei hukkaa tietoa, mutta olet lukon varastamalla menettänyt sen antaman ryhmätyötuen.

Lukitsemattomien tiedostojen pakottaminen kirjoitussuojatuiksi

Kuten edellä on kuvattu, tehokkain tapa käyttää lukitusta on asettaa svn:needs-lock -ominaisuus tiedostoille. Katso ohjeet ominaisuuksien asettamiseen luvusta ”Projektiasetukset”. Tiedostot, joilla on tämä ominaisuus, ovat aina kirjoitussuojattuja työkopiossasi, ellet ole lukinnut niitä.

TortoiseSVN käyttää erityistä kuvakepäällystä muistuttamaan tästä.

Jos projektissasi on voimassa käytäntö, jonka mukaan tiedostot on lukittava ennen niiden muuttamista, saattaa olla näppärää käyttää Subversionin automaattisia ominaisuuksia asettamaan ominaisuus aina, kun lisäät uusia tiedostoja. Katso lisää aiheesta luvusta ”Automaattiset ominaisuudet”.

Lukituskomentojonot

Kun luot uuden arkiston, niin Subversion-versiosta 1.2 alkaen arkiston hooks-hakemistoon luodaan neljä komentojonopohjaa. Näitä kutsutaan ennen lukitusta ja lukon vapautusta sekä lukituksen ja lukon vapautuksen jälkeen.

Saattaa olla kannattavaa asentaa palvelimelle sellaiset post-lock ja post-unlock -komentojonot, jotka lähettävät sähköpostia, joka kertoo, mikä tiedosto lukittiin/vapautettiin. Tällöin kaikki kehittäjät saavat tiedon, jos joku lukitsee tiedoston tai vapauttaa lukon. Löydät esimerkin komentojonosta arkistokansiosta hooks/post-lock.tmpl.

Voit käyttää komentojonoja myös estämään lukkojen rikkomisen tai varastamisen, tai kenties sallia ne vain erikseen nimetylle ylläpitäjälle. Tai ehkä haluat lähettää sähköpostia kehittäjälle, jonka lukkoa ollaan rikkomassa tai varastamassa.

Lue lisätietoa luvusta ”Palvelinpään komentojonot”.

Paikkatiedostojen luonti ja käyttäminen

Avoimen lähdekoodin projekteissa (kuten tämä) jokaisella on lukuoikeudet arkistoon, ja kaikki voivat tehdä parannuksia projektiin. Kuinka tämä pysyy hallinnassa? Jos kaikki voisivat toimittaa muutoksia arkistoon, projekti olisi jatkuvasti epävakaassa tilassa ja luultavasti koko ajan rikki. Tällaisiin projekteihin tehdään parannuksia ja korjauksia lähettämällä paikkoja kehittäjille, joilla on kirjoitusoikeudet projektin arkistoon. He voivat ensin katselmoida paikan ja sitten joko toimittaa sen arkistoon tai palauttaa sen takaisin tekijälle.

Paikkatiedostot ovat unified diff -tiedostoja, jotka kuvaavat erot työkopiosi ja kantaversion välillä.

Paikkatiedoston luominen

Ensin sinun on tehtävä ja testattava muutoksesi. Tämän jälkeen sinun on (komennon TortoiseSVNToimita... sijaan) annettava komento TortoiseSVNLuo paikkatiedosto... muutokset sisältävässä kansiossa, mieluiten työkopion juurikansiossa.

Kuva 4.63. Paikkatiedoston luonti-ikkuna

Paikkatiedoston luonti-ikkuna

Nyt voit valita paikkaan sisällytettävät tiedostot samaan tapaan kuin normaalin arkistotoimituksen yhteydessä. Komento tuottaa tiedoston, joka kokoaa yhteen kaikki valitsemiisi tiedostoihin tekemäsi muutokset viimeisen arkistopäivityksen jälkeen.

Tämän ikkunan sarakkeet voidaan mukauttaa samaan tapaan kuin Tarkista muutokset-ikkunassa. Lue yksityiskohdat luvusta ”Paikallinen ja etätila”.

Painikkeen Asetukset avulla voit määritellä, miten paikkatiedosto luodaan. Voit esimerkiksi jättää rivinvaihto- tai tyhjämerkkien muutokset pois lopullisesta paikkatiedostosta.

Voit tuottaa useita erillisiä paikkatiedostoja, joissa on muutoksia eri tiedostojoukkoihin. Huomaa, että jos luot paikkatiedoston, teet uusia muutoksia samoihin tiedostoihin ja luot uuden paikkatiedoston, niin uusi paikkatiedosto sisältää molemmat muutosjoukot.

Talleta tiedosto valitsemallasi nimellä. Paikkatiedostoilla voi olla haluamasi pääte, mutta ne käyttävät perinteisesti päätteitä .patch tai .diff. Olet nyt valmis toimittamaan paikkatiedostosi.

Vihje

Älä tallenna paikkatiedostoa päätteellä .txt jos haluat lähettää sen sähköpostin liitteenä. Tavalliset tekstitiedostot muuttuvat usein sähköpostiohjelmiston toimesta, esimerkiksi tyhjä- ja rivinvaihtomerkit saatetaan tiivistää pois. Jos näin käy, paikkatiedostoa ei usein voi soveltaa ongelmitta. Käytä mieluummin päätteitä .patch tai .diff tallettaessasi paikkatiedostoa.

Voit myös tallettaa paikan leikepöydälle tiedoston sijaan. Saatat haluta tehdä tämän, jotta voit esim. liittää tekstin sähköpostiviestiin muitten katselmoitavaksi. Tai jos sinulla on kaksi työkopiota samalla koneella ja haluat siirtää muutokset työkopiosta toiseen, niin leikepöydän avulla se onnistuu näppärästi.

Jos haluat, voit luoda paikkatiedoston Toimita tai Tarkista muutokset -ikkunoista. Valitse haluamasi tiedostot ja luo paikkatiedosto kontekstivalikon avulla. Mikäli haluat nähdä Asetukset -ikkunan, pidä shift -näppäin painettuna napsauttaessasi hiiren oikeaa näppäintä.

Paikkatiedoston käyttäminen

Paikkatiedostot käytetään työkopioon. Tämä tulisi tehdä samalta hakemistotasolta kuin missä paikka luotiin. Jos et ole varma, mikä se on, varmista asia katsomalla paikkatiedoston ensimmäistä riviä. Jos esimerkiksi ensimmäinen käsiteltävä tiedosto oli doc/source/english/chapter1.xml ja paikkatiedoston ensimmäinen rivi on Index: english/chapter1.xml, sinun on käytettävä paikka kansiossa doc/source/. Jos kuitenkin valitset väärän kansiotason (mutta työkopiosi on oikea), TortoiseSVN huomaa sen ja ehdottaa oikeaa hakemistotasoa.

Käyttääksesi paikan työkopioosi tarvitset ainakin lukuoikeuden arkistoon. Tämä siitä syystä, että yhdistämiskomennon on noudettava yhdistämisen pohjaksi versio, jota vastaan paikan tekijä teki muutoksensa.

Valitse kansion kontekstivalikosta komento TortoiseSVNKäytä paikkatiedosto... Tämä avaa tiedoston avausikkunan, josta voit valita käytettävän paikkatiedoston. Oletusarvoisesti vain .patch ja .diff -päätteiset tiedostot näytetään, mutta voit valita näytettäväksi Kaikki tiedostot. Jos talletit aiemmin paikan leikepöydälle, voit napsauttaa painiketta Avaa leikepöydältä... tiedoston avausikkunassa. Huomaa, että tämä valinta on käytössä vain, jos talletit paikan leikepöydälle käyttämällä komentoa TortoiseSVNLuo paikkatiedosto.... Paikan kopioiminen leikepöydälle muista sovelluksista ei tuo painiketta näkyville.

Vaihtoehtoisesti, jos paikkatiedoston pääte on .patch tai .diff , voit valita sen kontekstivalikosta komennon TortoiseSVNKäytä paikkatiedosto... ja valita esiin aukeavasta hakemistoikkunasta sen työkopiosi kansion, johon paikka käytetään.

Kyseessä on vain kaksi tapaa tehdä sama asia. Ensimmäisellä tavalla valitset ensin työkopion ja haet sitten paikkatiedoston. Toisella tavalla valitset ensin paikkatiedoston ja haet sitten työkopion.

Kun olet valinnut paikkatiedoston ja työkopion, TortoiseMerge käynnistetään yhdistämään paikkatiedoston muutokset työkopioosi. Esiin aukeaa pieni ikkuna, joka luettelee muuttuneet tiedostot. Kaksoisnapsauta tiedostot läpi yksi kerrallaan, katselmoi muutokset ja tallenna yhdistetyt tiedostot.

Paikkatiedosto on nyt käytetty työkopioosi, joten sinun on toimitettava muutokset arkistoon saattaaksesi ne muiden kehittäjien saataville.

Kuka muutti mitäkin riviä?

Joskus on tarpeen tietää muuttuneiden rivien lisäksi niitä muuttanut kehittäjä. Tällöin komento TortoiseSVNSelvitä tekijä... (jota joskus myös kutsutaan selityksien lisäämiseksi) on näppärä.

Komento luettelee tiedoston jokaiselle riville kehittäjän ja version, missä riviä viimeksi muutettiin.

Selvitä tekijät tiedostoille

Kuva 4.64. Selvitä tekijät -ikkuna

Selvitä tekijät -ikkuna


Jos et ole kiinnostunut muutoksista aiemmissa versioissa, voit asettaa alkuversion, mistä tekijöiden selvityksen tulisi alkaa. Aseta se arvoon 1 jos haluat selvittää tekijät jokaiselle versiolle.

Oletusarvoisesti tulostiedosto näytetään TortoiseBlame-ohjelmalla, joka korostaa eri versiot tehdäkseen lukemisesta helpompaa. Jos haluat tulostaa tai muokata tuloksia, ruksaa valinta Käytä tekstieditoria tekijätietojen katsomiseen.

Voit määritellä, miten rivinloppu- ja tyhjämerkkien muutoksia käsitellään. Nämä valinnat on kuvattu luvussa ”Rivinlopetin- ja tyhjämerkkiasetukset”. Oletusarvoisesti kaikkia tyhjä- ja rivinloppumerkkien muutoksia käsitellään todellisina muutoksina, mutta jos haluat ohittaa esim. sisennyskorjaukset ja löytää muutoksen "todellisen" tekijän, voit valita sopivan vaihtoehdon tästä.

Voit myös halutessasi ottaa mukaan yhdistämistiedot, vaikkakin tämä valinta vaikuttaa suorituskykyyn. Kun rivit yhdistetään toisesta lähteestä, tekijätiedot näyttävät, missä versiossa muutos tehtiin alkuperäisessä versiossa, samoin kuin version, jossa se yhdistettiin tähän tiedostoon.

Kun napsautat OK, TortoiseSVN käynistää haun tulostiedoston luomiseksi. Kun tekijöiden selvitys on päättynyt, tulokset kirjoitetaan väliaikaiseen tiedostoon ja pääset tutkimaan niitä.

Kuva 4.65. TortoiseBlame

TortoiseBlame


TortoiseBlame, joka sisältyy TortoiseSVN-pakettiin, tekee tekijätietojen lukemisesta helpompaa. Kun viet hiiren jonkun rivin päälle tekijäsarakkeessa, kaikki saman version rivit korostetaan tummemmalla taustalla. Saman tekijän muissa versioissa muuttamat rivit näytetään puolestaan vaalealla taustalla. Väritys ei välttämättä ole kovin selkeä, jos käytössä ei ole riittävästi värejä (esim. jos näyttösi on 256 värin tilassa).

Jos vasen-napsautat riviä, kaikki saman version rivit korostetaan, ja saman tekijän muissa versioissa muuttamat rivit näytetään vaalealla värillä. Tämä korostus jää päälle, joten voit siirtää hiirtä menettämättä korostuksia. Napsauta versiota uudestaan poistaaksesi korostuksen.

Version kommentit (lokiviesti) näytetään työkaluvihjeessä aina, kun hiiri on tekijäsarakkeen yllä. Jos haluat kopioida version lokiviestin, käytä kontekstivalikkoa, joka aukeaa, kun napsautat hiiren oikealla näppäimellä tekijäsaraketta.

Voit etsiä merkkijonoja tekijätietoraportista komennolla MuokkaaEtsi.... Voit etsiä versionumeroita, tekijöitä ja itse tiedoston sisältöä. Lokiviestit eivät sisälly hakuun - käytä niistä etsimiseen loki-ikkunaa.

Voit myös siirtyä tietylle riville käyttämällä komentoa MuokkaaSiirry riville....

Kun hiiri on tekijätietosarakkeiden päällä, saatavilla on kontekstivalikko, joka auttaa versioiden vertailua ja historian tutkimista käyttämällä lähtötietona hiiren aseman perusteella valittua versiota. Komento KontekstivalikkoSelvitä tekijät edelliselle versiolle luo tekijätietoraportin samalle tiedostolle, mutta käyttäen edellistä versiota ylärajana. Tämä tuottaa tekijätietoraportin tiedoston tilasta juuri ennen kuin katsomaasi riviä viimeksi muutettiin. Komento KontekstivalikkoNäytä muutokset käynnistää vertailuohjelman, joka näyttää, mitä muutoksia viitatussa versiossa on. Komento KontekstivalikkoNäytä loki näyttää versiolokin viitatusta versiosta alkaen.

Jos tarvitset esitystavan, jonka avulla helpompi löytää vanhemmat ja uudemmat muutokset, anna komento NäytäVäritä rivien ikä. Toiminto käyttää värigradientteja näyttäen uudet rivit punaisina ja vanhat sinisinä. Oletusarvoinen värjäys on varsin vaalea, mutta voit muuttaa sitä TortoiseBlame-asetuksista.

Jos käytät yhdistämisten jäljitystä ja pyysit yhdistämistietoja, tekijöiden selvitys näyttää yhdistetyt rivit hieman eri tavalla. Jos rivi on muuttunut toisen polun kautta tulleen yhdistämisen seurauksena, TortoiseBlame versio- ja tekijätiedot alkuperäisen tiedoston viimeisimmälle muutokselle yhdistämisversion sijaan. Tällaiset rivit erottaa siitä, että versio ja tekijä on kursivoitu. Versio, jossa yhdistäminen tapahtui, näytetään työkaluvihjeessä, kun siirrät hiiren sarakkeen päälle. Jos et halua yhdistettyjen rivien näkyvän tällä tavoin, poista valinta Sisällytä yhdistämistiedot tekijöitä selvitettäessä.

Jos haluat nähdä yhdistämiseen liittyvät polut, valitse NäytäYhdistämispolut. Valinta näyttää polun, jossa riviä viimeksi muutettiin, jättäen pois yhdistämisestä seuraavat muutokset.

Tekijätiedoissa näkyvä versio ilmaisee viimeisimmän version, jossa rivin sisältö muuttui. Jos tiedosto luotiin kopioimalla toisesta tiedostosta, tekijätiedot näyttävät alkuperäisen tiedoston viimeisimmän muutoksen version, ei siis versiota, jossa kopio tehtiin (kunnes muutat kopioitua tiedostoa). Tämä pätee myös yhdistämistietojen polkuihin. Polku näyttää arkistosijainnin, jossa riviä viimeksi muutettiin,

TortoiseBlame-ohjelman asetuksia voidaan muuttaa komennon TortoiseSVNAsetukset... TortoiseBlame-sivulla. Katso lisää luvusta ”TortoiseBlame-asetukset”.

Vertaa ja selvitä tekijät

Yksi tekijäraportin rajoituksista on se, että se näyttää tiedoston tietyn version ja viimeisimmän henkilön, joka muutti kutakin riviä. Joskus on tarpeen tietää myös, mikä muutos tehtiin. Napsauttamalla hiiren oikeaa näppäintä TortoiseBlamen rivillä voit valita komennon, joka näyttää versiossa tehdyt muutokset. Jos taas haluat nähdä muutokset sekä yhdistämistiedot yhtä aikaa, tarvitset yhdistelmän tiedostojen vertailusta ja tekijäraportista.

Loki-ikkunassa on useita vaihtoehtoja, joiden avulla voit tehdä tämän.

Selvitä tekijät versiovälillä

Valitse yläpaneelista kaksi versiota ja suorita komento KontekstivalikkoSelvitä tekijät versiovälillä. Komento hakee tekijätiedot valituille versioille ja käyttää vertailuohjelmaa verratakseen kahta tekijätietoraporttia.

Selvitä muutosten tekijät

Valitse versio yläpaneelista sekä yksi tiedosto alapaneelin tiedostolistasta. Anna sen jälkeen komento KontekstivalikkoVertaa ja selvitä tekijät. Komento hakee tekijätiedot valitulle ja sitä edeltävälle versiolle sekä käyttää vertailuohjelmaa verratakseen kahta tulostietoraporttia.

Vertaa ja selvitä tekijätiedot kantatiedostoon

Avaa loki-ikkuna yksittäiselle tiedostolle ja valitse yläpaneelista versio. Anna sitten kontekstivalikon komento KontekstivalikkoVertaa ja selvitä tekijät kantatiedoston (BASE) kanssa. Komento hakee tekijätiedot valitulle versiolle sekä tiedoston kantaversiolle ja käynnistää vertailuohjelman vertaillakseen tekijätietoraportteja.

Arkistoselain

Joskus on tarpeen käsitellä suoraan arkistoa ilman paikallista työkopiota. Tällöin arkistoselain tulee tarpeeseen. Samoin kuin Resurssienhallinta ja kuvakepäällykset näyttävät työkopiosi rakenteen ja tilan, arkistoselain näyttää puolestaan arkiston rakenteen ja tilan.

Kuva 4.66. Arkistoselain

Arkistoselain


Arkistoselaimessa voit suorittaa sellaisia komentoja kuin kopioi, siirrä, nimeä uudelleen, ... suoraan arkistossa.

Arkistoselain muistuttaa paljon Resurssienhallintaa - suurin ero on se, että paikallisten tiedostojen sijaan se näyttää arkiston tilaa tietyssä versiossa. Vasemmassa paneelissa näet hakemistopuun, ja oikea paneeli näyttää valitun hakemiston sisällön. Arkistoselaimen yläosaan voit syöttää arkiston paikantimen ja versionumeron, jota haluat selata.

svn:externals-ominaisuudella kytketyt kansiot näkyvät myös arkistoselaimessa. Kansioiden kuvakkeissa on pieni nuoli, joka kertoo, että kyseessä ei ole arkiston osa, vaan linkki.

Samoin kuin Resurssienhallinnassa, voit napsauttaa oikean paneelin sarakeotsikoita, jos haluat muuttaa lajittelujärjestystä. Ja samaan tapaan kuin Resurssienhallinassa, molemmilla paneeleilla on omat kontekstivalikot.

Tiedoston kontekstivalikon avulla voit:

  • Avaa valittu tiedosto joko tiedostotyypin oletuskatseluohjelmalla tai valitsemalla ohjelma itse.

  • Muokkaa valittua tiedostoa. Tämä noutaa tiedoston väliaikaiseen kopioon ja käynnistää tiedostotyypin oletuseditorin. Kun talletat muutokset ja suljet editorin, esiin aukeaa toimitusikkuna, johon voit kirjoittaa lokiviestin ja toimittaa muutokset arkistoon.

  • Näyttää lokin valitulle tiedostolle, tai näyttää graafin kaikista versioista, jotta voit nähdä, mistä tiedosto on peräisin.

  • Selvittää tekijät tiedostolle, jotta näet, kuka ja milloin muutti mitäkin riviä.

  • Nouda yksittäinen tiedosto. Tämä luo harvan työkopion jossa on vain tämä yksi tiedosto.

  • Poistaa tai uudelleen nimetä tiedoston.

  • Tallettaa versioimattomat kopion tiedostosta paikalliselle levylle.

  • Kopioi osoiterivin paikannin leikepöydälle.

  • Tehdä kopion tiedostosta, joka eri paikkaan arkistossa, tai samasta arkistosta tehtyyn työkopioon.

  • Näytä/muokkaa tiedoston ominaisuuksia.

  • Luo pikakuvake jotta saat myöhemmin avattua arkistoselaimen tähän paikantimeen nopeasti.

Kansion kontekstivalikon avulla voit:

  • Näyttää kansion lokin, tai näyttää graafin kaikista versioista, jotta näet, mistä kansio on peräisin.

  • Viedä kansion versioimattomaan kopioon paikallisella levylläsi.

  • Hakea kansiosta paikallisen työkopion.

  • Luoda uuden kansion arkistoon.

  • Lisää versioimattomat tiedostot ja kansiot suoraan arkistoon. Tämä on käytännössä Subversionin tuontikomento.

  • Poistaa tai nimetä kansion uudelleen.

  • Tehdä kopion kansiosta, joko eri paikkaan arkistossa, tai samasta arkistosta tehtyyn työkopioon. Tätä voidaan myös käyttää haaran tai merkityn version luontiin ilman, että joudutaan hakemaan erillistä työkopiota.

  • Näytä/muokkaa kansion ominaisuuksia.

  • Merkitä kansion vertailtavaksi. Merkitty kansio näytetään lihavoituna.

  • Verrata kansiota aiemmin merkityn kanssa. Voit näyttää vertailun joko unified diff-muodossa tai luettelona muuttuneita tiedostoja, joita voit sitten katsella vertailutyökalulla. Tämä voi olla erityisen hyödyllistä vertailtaessa kahta merkittyä versiota tai päähaaraa ja kehityshaaraa, jotta nähtäisiin, mitä on muuttunut.

Jos valitset kaksi kansiota oikeassa paneelissa, voit katsella eroja joko unified diff-muodossa tai listana muuttuneita tiedostoja, joita voidaan verrata vertailutyökalulla.

Jos valitset useita kansioita oikeasta paneelista, voit hakea niistä kaikista kerralla työkopion yhteiseen isäkansioon.

Jos valitset kaksi merkittyä versiota, jotka on kopioita samasta juuresta (tyypillisesti /trunk/), voit käyttää komentoa KontekstivalikkoNäytä loki... nähdäksesi merkittyjen versioiden välisen versiolistan.

Ulkoiset viitteet (joihin viitataan ominasuudella svn:externals) näkyvät myös arkistoselaimessa, ja voit jopa tutkia niiden sisältöä. Ne tunnistaa viitteen ylittävästä punaisesta nuolesta.

Kuten tavallista, voit päivittää näytön näppäimellä F5. Tämä päivittää kaiken sillä hetkellä näytössä olevan. Jos haluat hakea ennalta täi päivittää tiedot solmuille, joita ei ole avattu vielä, paina Ctrl-F5. Tämän jälkeen solmun avataan heti ilman verkkoviivettä, joka syntyy, kun tietoa haetaan.

Voit myös käyttää arkistoselainta raahaa-ja-pudota -toimintoihin. Jos raahaat kansion Resurssienhallinnasta arkistoselaimeen, se tuodaan arkistoon. Huomaa, että jos raahaat useita kohteita, jokainen tuodaan arkistoon erillisenä toimituksena.

Jos haluat siirtää kohteen arkiston sisällä, riittää, kun vasen-raahaat sen uuteen paikkaan. Jos haluat tehdä kopion siirtämisen sijaan, pidä CTRL-näppäin pohjassa raahaamisen aikana. Kopioitaessa kohdistimeen lisätään plus-symboli samaan tapaan kuin Resurssienhallinnassa.

Jos haluat kopioida/siirtää tiedoston tai kansion toiseen paikkaan ja samalla nimetä sen uudelleen, voit oikea-raahata tai CTRL-oikea-raahata kohteen sen sijaan, että käyttäisit hiiren vasenta näppäintä raahaamiseen. Tässä tapauksessa esiin aukeaa ikkuna, johon voit syöttää tiedoston tai kansion uuden nimen.

Aina, kun teet muutoksia arkistoon joillain näistä tavoista, esiin aukeaa ikkuna lokiviestin syöttämiseksi. Jos raahasit jotain vahingossa, voit vielä tässä vaiheessa perua toiminnon.

Joskus paikanninta avattaessa saat halutun sisällön sijaan virheilmoituksen. Näin voi käydä, jos annoit virheellisen paikantimen, jos sinulla ei ole oikeuksia lukea paikanninta, tai palvelimella on jokin muu ongelma. Jos haluat kopioida virheilmoituksen esim. liitettäväksi sähköpostiin, napsauta viestiä hiiren oikealla näppäimellä ja valitse komento KontekstivalikkoKopioi virheilmoitus leikepöydälle, tai paina yksinkertaisesti Ctrl+C.

Kirjanmerkkeihin lisätyt paikantimet/arkistot näytetään vasemmassa puunäkymässä nykyisten arkistokansioiden alla. Voit lisätä kirjanmerkkejä oikea-napasauttamalla jotain tiedostoa tai hakemistoa ja valitsemalla komennon Kontekst ivalikkoLisää kirjanmerkkeihin. Kirjanmerkin napsauttaminen aiheuttaa siirtymisen vastaavaan arkistoon tai kansioon.

Versiograafit

Kuva 4.67. Versiograafi

Versiograafi


Joskus on tarpeen tietää, milloin päähaarasta on haarauduttu tai tehty merkittyjä versioita. Tämäntyyppisen tiedon tarkasteluun sopii parhaiten verkko tai puurakenne, jonka saat näkyviin komennolla TortoiseSVNVersiograafi...

Komento analysoi versiohistorian ja koettaa luoda puun, joka näyttää paikat, missä tehtiin kopioita, ja milloin haarat / merkityt versiot tuhottiin.

Tärkeää

Luodakseen graafin, TortoiseSVN:n on noudettava kaikki lokiviestit arkiston juuresta. Kuten varmaan arvaat, tämä saattaa viedä useita minuutteja, jopa arkistolle, jossa on vain muutamia tuhansia versioita. Nopeus riippuu palvelimesta, verkkoyhteyden laadusta jne. Jos koetat komentoa todella suurelle arkistolle (kuten esim Apache, jolla on nykyään yli 500000 versiota), voit joutua odottelemaan jonkin aikaa.

Hyvä uutinen on se, että jos säilytät lokiviestit paikallisesti, tämä viive tapahtuu vain kerran. Sen jälkeen lokitiedot tallettuvat paikallisesti. Toiminto otetaan käyttöön TortoiseSVN:n asetuksista.

Versiograafin solmut

Jokainen versiograafin solmu vastaa sellaista arkistoversiota, jossa jotain muuttui katselemaasi puun suhteen. Erityyppiset solmut erotellaan värin ja muodon perusteella. Muotoa ei voi muuttaa, mutta värit voi asettaa komennolla TortoiseSVNAsetukset

Lisätyt tai kopioidut kohteet

Kohteet, jotka on lisätty tai luotu kopioimalla toinen tiedosto/kansio, näytetään pyöristetyn suorakaiteen avulla. Oletusväri on vihreä. Merkittyjä versioita (engl. tag) ja päähaaraa (engl. trunk) käsitellään erikoistapauksina; niillä on eri värisävy, jonka voi asettaa TortoiseSVNAsetukset -ikkunassa.

Poistetut kohteet

Poistetut kohteet (esim. haara joka ei ole enää käytössä) näytetään suorakaiteina, joiden reunat on katkaistu. Oletusväri on punainen.

Uudelleen nimetyt kohteet

Uudelleen nimetyt kohteet näytetään myös kahdeksankulmioina, mutta oletusväri on sininen.

Haaraversio

Graafissa näytetään normaalisti vain haarautumispisteet, mutta usein on hyödyllistä pystyä myös näkemään kunkin haaran HEAD-versio. Valinta Näytä uusimmat versiot (HEAD) näyttää HEAD-versiot ellipseinä. Huomaa, että tässä HEAD viittaa kuhunkin polkuun viimeksi toimitettuun versioon, ei koko arkiston HEAD-versioon.

Työkopion versio

Jos käynnistit versiograafin työkopiosta, voit näyttää myös kantaversion (BASE) valinnalla Näytä työkopion versio, joka korostaa BASE-solmut.

Muutettu työkopio

Jos käynnisit versiograafin työkopiolle, voit näyttää työkopion muutokset ylimääräisellä solmulla valitsemalla Näytä työkopion muutokset. Muutokset näytetään ellipsinä, jolla on oletusarvoisesti punainen reunus.

Tavallinen kohde

Kaikki muut kohteet näytetään suorakaiteina.

Huomaa, että oletusarvoisesti graafi näyttää vain paikat, joissa tiedostoja lisättiin, kopioitiin tai poistettiin. Projektin jokaisen version näyttäminen tuottaa hiemankin monimutkaisemmissa tapauksissa hyvin suuren graafin. Jos todella haluat nähdä kaikki versiot, joissa muutoksia tehtiin, niin Näytä-valikossa ja työkalupalkissa on komento sitä varten.

Oletusnäkymä (ryhmitys pois päältä) sijoittaa solmut pystysuunnassa versiojärjestykseen, joten näet suoraan järjestyksen, jossa asiat tehtiin. Kun kaksi solmua sijoittuu samaan sarakkeeseen, järjestys on ilmeinen. Kun kaksi solmua on vierekkäisissä sarakkeissa, välimatka on paljon pienempi, koska solmujen mahdollista päällekkäisyyttä ei tarvitse ottaa huomioon; tämän seurauksena asioiden tekojärjestys ei ole yhtä ilmeinen. Tällaiset optimoinnit ovat tarpeen, jotta monimutkaiset graafit pysyvät siedettävän kokoisina. Huomaa, että järjestäminen käyttää solmun vanhemman puolen reunaa lähtökohtana, ts. solmun alareunaa, kun graafi piirretään vanhin solmu alimmaisena. Lähtökohtainen reuna on merkittävä, koska kaikki solmutyypit eivät ole saman korkuisia.

Näytön vaihto

Koska versiograafi on usein varsin monimutkainen, työkalussa on joukko valintoja, joiden avulla sen voi räätälöidä mieleisekseen. Valinnat löytyvät Näytä-valikosta ja työkalupalkista.

Ryhmitä haarat

Oletusarvoisesti (ryhmitys pois päältä) rivit lajitellaan version perusteella. Tämän seurauksena pitkäikäiset haarat, joissa on vähän muutoksia, käyttävät koko sarakkeen näille muutoksille, ja graafista tulee siten hyvin leveä.

Tässä tilassa muutokset ryhmitellään haaroittain ilman globaalia versiojärjestystä: Haaran perättäiset versiot näytetään (usein) peräkkäisillä riveillä. Jotta graafi pysyisi kapeana, alihaarat järjestetään siten, että myöhemmät haarat näytetään samassa sarakkeessa aiempien haarojen päällä. Tämän seurauksena jollain rivillä saattaa olla muutoksia eri versioista,

Uusin ylimpänä

Tavallisesti graafi näyttää vanhimman version pohjimmaisena, ja puu kasvaa ylöspäin. Käytä tätä vaihtoehtoa siirtääksesi vanhimman version graafin ylimmäksi.

Tasaa puut ylös

Kun graafi hajotetaan useisiin pienempiin osapuihin, ne järjestetään luonnolliseen versiojärjestykseen. Riippuen Ryhmitä haarat -valinnasta puut tasataan ikkunan ala- tai yläosaan.

Vähennä kaarien leikkauksia

Tämä asetus (tavallisesti päällä) koettaa vähentää versioviivojen leikkauksia. Sivuvaikutuksena graafin sarakkeet voivat sijoittua vähemmän loogisiin paikkoihin (esim. diagonaalisesti eikä sarakkeena) ja graafi saattaa vaatia enemmän piirtoalaa. Jos tämä on ongelma, voit poistaa asetuksen Näytä -valikosta.

Osittaiset polkunimet

Pitkät polkunimet voivat vaatia paljon tilaa ja tehdä solmuista isokokoisia. Tämä valinta näyttää ainoastaan polun muuttuneen osan ja korvaa yhteisen osan pisteillä. Jos esimerkiksi loit haaran /branches/1.2.x/doc/html päähaarasta /trunk/doc/html, niin haara voidaan esittää tiiviissä muodossa /branches/1.2.x/.., koska viimeiset kaksi tasoa (doc ja html) eivät muuttuneet.

Näytä kaikki versiot

Tämä komento näyttää jokaisen version, jossa jotain muuttunut (graafipuun suhteen). Pitkillä historioilla tämä voi tuottaa todella suuren graafin.

Näytä uusimmat versiot (HEAD)

Tämä takaa, että jokaisen haaran uusin versio näytetään aina graafissa.

Täsmälliset kopiolähteet

Kun haara tai merkitty versio luodaan, se näytetään oletusarvoisesti sellaisena, kuin se oli viimeisessä muutetussa solmussa. Tarkkaan ottaen tämä ei ole oikein, koska haarat tehdään usein nykyisestä HEAD-versiosta tietyn version sijaan. Komennon avulla on mahdollista näyttää oikeampi (mutta vähemmän hyödyllinen) versio, jota käytettiin kopion tekemiseen. Huomaa, että versio voi olla luotu aiemmin kuin lähdehaaran HEAD-versio.

Näytä merkityt versiot lähtösolmussa

Kun projektissa on useita merkittyjä versioita, niiden näyttäminen erillisinä solmuina vie paljon tilaa ja hämärtää kiinnostavamman kehityshaaran rakenteen. Samaan aikaan saatat joutua tutkimaan merkityn version sisältöä, jotta voit helposti verrata eri versioita. Tämä valinta piilottaa merkittyjen versioiden solmut ja näyttää ne sen sijaan työkaluvihjeenä sille solmulle, josta merkintä tehtiin. Merkkikuvake lähtösolmun oikealla puolella kertoo, että solmusta on tehty yksi tai useampi merkitty versio. Tämä yksinkertaistaa näkymää.

Huomaa, että mikäli merkitty versio itsessään kopioidaan (esim. merkitystä versiosta tehtyyn uuteen haaraan), merkitty versio näytetään erillisenä solmuna, ei yhdistettynä lähtösolmuun.

Piilota poistetut polut

Piilottaa polut, jotka eivät enää kuulu arkiston HEAD-versioon, esim. poistetut haarat.

Mikäli asetus Näytä merkityt versiot lähtösolmussa on päällä, näytetään yhä poistetut haarat, joista on tehty merkittyjä versioita. Muussa tapauksessa myös merkityt versiot katoavat. Viimeisin merkitty versio näytetään poistetuille solmuille käytettävällä värillä sen sijaan, että näytettäisiin erillinen poistoversio.

Jos valitset asetuksen Piilota merkityt versiot, nämä haarat katoavat uudelleen, koska niitä ei tarvita merkittyjen versioiden näyttämiseen.

Piilota käyttämättömät haarat

Piilottaa haarat, joissa ei ole vastaavaan tiedostoon/hakemistoon kohdistuneita muutoksia. Tämä ei välttämättä tarkoita, että haara ei ole käytössä - ainoastaan sitä, että siihen ei ole tehty muutoksia tässä puunäkymässä.

Näytä työkopion versio

Merkitsee graafiin sen version, joka vastaa graafin kohteen päivitysversiota. Mikäli teit juuri päivityksen, tämä versio on HEAD, mutta jos muut ovat toimittaneet muutoksia arkistoon viimeisimmän päivityksesi jälkeen, työkopiosi voi olla muutamia versioita jäljessä. Solmu on merkitty korostetulla reunuksella.

Näytä työkopion muutokset

Jos työkopiossasi on paikallisia muutoksia, tämä asetus näyttää ne piirtämällä erillisen ellipsisolmun, joka on kytketty solmuun, johon työkopiosi viimeksi päivitettiin. Oletusreunusväri on punainen. Voit joutua päivittämään graafin näppäimellä F5 saadaksesi viimeaikaiset muutokset mukaan.

Suodatin

Joskus versiograafi sisältää enemmän versioita, kuin haluat nähdä. Tämä valinta avaa ikkunan, jossa voit rajoittaa näytettyjen versioiden määrää ja piilottaa nimettyjä polkuja.

Mikäli piilotat jonkin polun, ja sitä vastaavalla solmulla on lapsisolmuja, ne näytetään erillisenä puuna. Jos haluat piilottaa myös lapsisolmut, valitse asetus Poista alipuu(t).

Puujuovat

Kun graafi sisältää useita puita, saattaa joskus olla hyödyllistä käyttää puille eri taustavärejä niiden erottamiseksi toisistaan.

Näytä yleisnäkymä

Näyttää koko graafin pienenä kuvana, jossa nykyinen ikkuna on ilmaistu raahattavana suorakaiteena. Tällä tapaa voit navigoida graafissa helpommin. Huomaa, että hyvin suurille graafeille yleisnäkymä saattaa muuttua hyödyttämäksi vaadittavan zoomauskertoimen vuoksi; tällöin sitä ei piirretä.

Graafin käytöstä

Käytä yleisnäkymäikkunaa helpottamaan suunnistamista suuressa graafissa. Yleisnäkymäikkuna näyttää koko graafin pienessä ikkunassa korostaen parhaillaan näytetyn osan. Voit raahata korostettua osaa vaihtaaksesi näytettyä aluetta.

Version päiväys, tekijä ja kommentit näytetään työkaluvihjeessä aina, kun hiiri viedään versiosolmun päälle.

Kun valitset kaksi versiota (Käytä CTRL-vasen napsautus), voit näyttää kontekstivalikon avulla niiden väliset erot. Voit valita erot näytettäväksi haaran luontipisteissä, mutta yleensä erot kannattaa näyttää haaran loppupisteissä (ts. HEAD-versioissa).

Voit katsella eroja unified diff -muodossa, joka näyttää erot yhtenä tiedostona. Jos päätät kuitenkin suorittaa vertailun komennolla KontekstivalikkoVertaa versioita, esiin aukeaa lista muuttuneista tiedostoista. Kaksoisnapsauta tiedoston nimen päällä hakeaksesi sen molemmat versiot ja käynnistääksesi vertailutyökalun.

Jos oikea-napsautat versiota, voit käyttää komentoa KontekstivalikkoNäytä loki katsellaksesi version historiaa.

Voit myös yhdistää muutokset valituista versioista toiseen työkopioon. Voit valita kansioikkunasta työkopion, johon yhdistäminen tehdään. Tämän jälkeen ei ole enää varmistusta tai mahdollisuutta testiajoon! Kannattaa tehdä yhdistäminen muuttamattomaan työkopioon, jotta voit perua muutokset helposti tarvittaessa! Tämä on hyödyllinen ominaisuus, jos haluat yhdistää valitut versiot haarasta toiseen.

Opi lukemaan versiograafia

Uudet käyttäjät voivat yllättyä, koska versiograafi ei vastaa käyttäjän mielikuvia. Jos tietty versio esimerkiksi muuttaa tiedoston tai kansion useita merkkejä tai kopioita, se esitetään graafissa useiden solmujen avulla. Kannattaa säätää graafi työkalurivin avulla sellaiseksi, että se alkaa näyttää halutunlaiselta.

Kaikki suodattimet koettavat suodattaa mahdollisimman vähän tietoa. Tästä syystä jotkut solmut voivat esimerkiksi muuttaa väriään. Kun tulos on odottamaton, peru viimeisin suodatus ja selvitä, mitä erityistä versiossa tai haarassa on. Useimmissa tapauksissa alkuperäisen suodatuksen oletettu tulos olisi joko epätarkka tai väärä.

Näytön päivitys

Jos haluat tarkistaa palvelimelta uudet tiedot, voit päivittää näytön helposti painamalla F5. Mikäli käytät lokivälimuistia (oletusarvoisesti päällä), komento tarkistaa arkistosta vain uudet toimitukset ja noutaa muuttuneet. Jos lokivälimuisti on yhteydettömässä tilassa, komento koettaa myös siirtyä takaisin yhteydelliseen tilaan.

Jos käytät lokivälimuistia ja luulet viestin sisällön tai tekijän muuttuneen, sinun kannattaa käyttää loki-ikkunaa tarvitsemiesi viestien päivittämiseen. Koska versiograafi toimii arkiston juuresta käsin, se joutuisi päivittämään koko lokivälimuistin, ja siihen voi mennä hyvin kauan.

Puiden karsiminen

Suuressa puussa on hankalaa navigoida, ja joskus on tarpeen piilottaa siitä osia tai jakaa se pienempien puiden metsäksi. Kun viet hiiren solmun ja linkin yhteyskohdan päälle, esiin aukeaa yksi tai useampia painikkeita, joiden avulla voit tehdä tämän.

Napsauta miinusnäppäintä sulkeaksesi kytketyn alipuun.

Napsauta plusnäppäintä avataksesi suljetun puun. Kun puu on suljettu, tämä painike pysyy näkyvillä ilmaisten piilossa olevan alipuun olemassaolon.

Napsauta ristinäppäintä jakaaksesi kytketyn alipuun ja näyttääksesi sen erillisenä puuna graafissa.

Napsauta ympyränäppäintä kytkeäksesi jaetun puun takaisin. Kun puu on jaettu, tämä näppäin säilyy näkyvillä, ilmaisten siten erillisen alipuun olemassaolon.

Napsauta graafin taustaa avataksesi kontekstivalikon, jossa on valinnat Laajenna kaikki ja Yhdistä kaikki. Jos haaroja ei ole suljettu tai jaettu, valikkoa ei näytetä.

Subversion-työkopion vienti

Joskus on tarpeen saada työkopiosta versio, jossa ei ole .svn -hakemistoja, esim. pakatun tiedoston luomiseksi tai verkkopalvelimelle julkaisua varten. TortoiseSVN sisältää komennon TortoiseSVNVie... tätä tarkoitusta varten. Komento toimii hieman eri tavoin riippuen siitä, onko viennin lähde työkopio vai paikannin.

Kuva 4.68. Vie paikantimesta -ikkuna

Vie paikantimesta -ikkuna


Jos suoritat komennon versioimattomalle kansiolle, TortoiseSVN olettaa, että valittu kansio on kohde ja avaa ikkunan, johon voit syöttää paikantimen ja version, josta vienti tapahtuu. Ikkunassa on valintoja vain ylimmän kansiotason viemiseksi, ulkoisten viitteiden ohittamiseksi ja rivinlopputyylin pakottamiseksi tiedostoille, joilla on ominaisuus svn:eol-style asetettuna.

Voit tietysti viedä myös suoraan arkistosta. Käytä arkistoselainta suunnistaaksesi oikeaan arkiston alipuuhun ja anna sitten komento KontekstivalikkoVie.... Esiin aukeaa yllä kuvattu Vie paikantimesta -ikkuna.

Jos suoritat komennon työkopiossasi, sinulta kysytään, minne hauat tallettaa puhtaan työkopion ilman .svn-kansiota. Oletusarvoisesti vain versioidut tiedostot viedään, mutta voit muuttaa tätä ruksaamalla valintalaatikon Vie myös versioimattomat tiedostot. Tällöin mukaan otetaan myös muut versioimattomat tiedostot, jotka löytyvät työkopiostasi mutteivät arkistosta. Muotoa svn:externals olevat ulkoiset viittaukset voidaan tarvittaessa ohittaa.

Toinen tapa viedä tiedostoja työkopiosta on oikea-raahata työkopiokansio kohteeseen ja valita komento KontekstivalikkoSVN: Kopioi versioidut kohteet tänne. Toinen valinta sisällyttää mukaan myös versioimattomat tiedostot. Kolmas valinta sisällyttää vain muutetut tiedostot, mutta säilyttää kansiorakenteen.

Kun viet tiedostoja työkopiosta ja antamasi kohdekansio on jo olemassa, voit ylikirjoittaa olemassaolevan sisällön tai luoda uuden, automaattisesti nimetyn kansion (esim. Kohde (1)).

Yksittäisten tiedostojen vienti

Vienti-ikkuna ei salli yksittäisen tiedostojen viemistä, vaikka Subversion tukee sitä.

Yksittäisten tiedostojen vienti tapahtuu TortoiseSVN:n arkistoselaimen avulla (”Arkistoselain”). Toiminto on yksinkertainen: valitse arkistoselaimessa tiedosto tai tiedostot, jotka haluat viedä, ja raahaa ne Resurssinhallintaikkunaan. Voit myös käyttää kontekstivalikon komentoa viemiseen.

Muutetun tiedostopuun vienti

Jos haluat tuottaa kopion puurakenteesta, joka sisältää projektisi jossain tietyssä versiossa (tai tietyllä versiovälillä) muuttuneet tiedostot, käytä luvussa ”Kansioiden vertailu” kuvattua versioiden vertailutoimintoa.

Mikäli haluat viedä työkopiosi puurakenteen vain paikallisten muutosten kera, katso kohtaa SVN: Vie muutetut kohteet tänne yllä.

Työkopion poisto versionhallinnasta

Joskus on tarpeen muuttaa työkopio tavalliseksi kansioksi ilman .svn -hakemistoa. Tällöin riittää poistaa kansio .svn työkopion juuresta.

Vaihtoehtoisesti voit viedä kansion itseensä. Oikea-raahaa työkopion juurihakemisto Windows-resurssienhallinnassa tiedostopaneelista itsensä päälle kansiopaneeliin. TortoiseSVN havaitsee tämän erikoistapauksen ja kysyy haluatko tehdä työkopiostasi versioimattoman. Jos vastaat kyllä, kontrollihakemisto poistetaan ja lopputuloksena kansiopuu on versioimaton.

Työkopion uudelleen sijoittaminen

Kuva 4.69. Uudelleensijoitusikkuna

Uudelleensijoitusikkuna


Jos arkistosi on jostain syystä vaihtanut sijaintiaan (IP-osoite / paikannin), etkä pysty esimerkiksi toimittamaan muutoksiasi arkistoon ilman työlästä uuden työkopion hakua ja muutosten kopiointia, voit korjata tilanteen komennolla TortoiseSVNSijoita työkopio uudestaan. Se muuttaa kaikki työkopion sisältämät paikantimet osoittamaan arkiston uuteen sijaintiin.

Huomaa

Toiminto on käytettävissä vain työkopion juuressa. Kontekstivalikon toiminto näytetään siis vain työkopioiden juurihakemistoille.

Voi olla yllättävää, että TortoiseSVN ottaa yhteyden arkistoon tämän toiminnon aikana. Yhteys tarvitaan, jotta voidaan varmistaa, että uusi paikannin todella viittaa samaan arkistoon kuin työkopio.

Varoitus

Tämä on hyvin harvoin käytetty komento. Uudelleen sijoitus on tarpeen vain jos arkiston juuren paikannin on muuttunut. Mahdollisia syitä ovat:

  • Palvelimen IP-osoite on muuttunut.

  • Yhteyskäytäntö on muuttunut (esim. muodosta http:// muotoon https://).

  • Arkiston juuripolku palvelimella on muuttunut.

Toisin sanoen tarvitset uudelleen sijoitusta silloin, kun työkopiosi viittaa samaan paikkaan samassa arkistossa, mutta itse arkisto on siirtynyt.

Se ei tule kyseeseen jos:

  • Haluat siirtyä eri Subversion-arkistoon. Tässä tapauksessa on syytä hakea tuore työkopio uudesta arkistosta.

  • Haluat vaihtaa eri haaraan tai hakemistoon saman arkiston sisällä. Tämä tehdään komennolla TortoiseSVNVaihda.... Katso lisätietoa luvusta ”Hakeako työkopio vai vaihtaa...”.

Jos käytät uudelleen sijoitusta jommassa kummassa yllä olevista tapauksista, työkopiosi menee rikki ja alat saada kummallisia virheilmoituksia päivityksien, toimituksien jne. yhteydessä. Jos näin käy, ainut korjaus on uuden työkopion haku.

Integrointi vikaseurantaohjelmiin

Ohjelmistokehityksessä on tavallista, että muutokset liittyvät johonkin vikaan tai parannushedotukseen. Vikaseurantaohjelmien käyttäjät haluavat usein kytkeä Subversioniin tehdyt muutokset tiettyyn tunnukseen vikaseurantaohjelmassa. Useimpien tällaisten ohjelmien mukana tuleekin ennen toimitusta suoritettava komentojono, joka jäsentää lokiviestin ja etsii vikatunnuksen, johon toimitus liittyy. Tämä on hieman virhealtista, koska se luottaa käyttäjän kykyyn kirjoittaa lokiviesti virheittä, jotta komentojono osaa jäsentää sen oikein.

TortoiseSVN voi auttaa käyttäjää kahdella tavalla::

  1. Kun käyttäjä syöttää lokiviestin, toimitukseen liittyvä vikatunnus voidaan lisätä automaattisesti. Tämä vähentää riskiä, että käyttäjä syöttää vikatunnuksen siten, että sitä ei voida jäsentää oikein.

    TortoiseSVN voi myös korostaa virheenjäljitysohjelman tunnistaman osan lokiviestistä, Tällä tavoin käyttäjä tietää, että lokiviesti voidaan jäsentää oikein.

  2. Kun käyttäjä selaa lokiviestejä, TortoiseSVN luo kullekin lokiviestin virhetunnukselle linkin, joka avaa selaimen näyttämään viitattua ongelmaa.

Vikanumeroiden lisääminen lokiviesteihin

Voit integroida haluamasi vikaseurantatyökalun TortoiseSVN:ään. Tehdäksesi tämän sinun on määriteltävä muutamia ominaisuuksia, jotka kaikki alkavat etuliitteellä bugtraq:. Ne on asetettava kansioille: (”Projektiasetukset”)

Kuva 4.70. Bugtraq-ominaisuusikkuna

Bugtraq-ominaisuusikkuna


Kun muokkaat bugtraq-ominaisuuksia, käytössä on erikoiseditori, jotta sopivien arvojen asetus olisi helpompaa.

On kaksi tapaa integroida TortoiseSVN virheenjäljitysohjelmiin. Toinen perustuu yksinkertaisiin merkkijonoihin, toinen taas säännöllisiin lausekkeisiin. Molemmat tavat jakavat seuraavat asetukset:

bugtraq:url

Aseta tämä ominaisuus vikaseurantaohjelmasi paikantimeen. Sen on oltava oikein URI-koodattu ja sisällettävä symboli %BUGID%. %BUGID% korvataan syöttämälläsi vikatunnuksella. Tämän tiedon avulla TortoiseSVN osaa näyttää linkin loki-ikkunassa, joten voit hypätä suoraan versiolokista vikaseurantaohjelmaasi. Ominaisuutta ei ole pakko määritellä, mutta silloin TortoiseSVN näyttää vain vikatunnuksen eikä linkkiä siihen. Esim. TortoiseSVN-projekti käyttää asetusta http://issues.tortoisesvn.net/?do=details&id=%BUGID%

Voit myös käyttää suhteellisia paikantimia absoluuttisten sijaan. Tämä on hyödyllistä, jos vikaseurantaohjelmasi on samassa toimialueessa tai palvelimella kuin arkistosi. Jos palvelimesi nimialue joskus muuttuu, et joudu muuttamaan bugtraq:url -ominaisuutta. On kaksi tapaa määritellä suhteellinen paikannin:

Jos se alkaa merkkijonolla ^/, sen oletetaan olevan suhteellinen arkiston juureen nähden. Esimerkiksi ^/../?do=details&id=%BUGID% laventuu muotoon https://tortoisesvn.net/?do=details&id=%BUGID% mikäli arkistosi osoite on https://tortoisesvn.net/svn/trunk/.

Merkkijonolla / alkavan paikantimen oletetaan olevan suhteellinen palvelimen nimeen nähden. Esimerkiksi /?do=details&id=%BUGID% laventuu muotoon https://tortoisesvn.net/?do=details&id=%BUGID% mikäli arkistosi osoite on https://tortoisesvn.net.bugtraq:warnifnoissueAseta ttrue, jos haluat etttrue/false. Oletusarvoisesti asetus on false.

Vikanumero tekstikentässä

Yksinkertaisessa tavassa TortoiseSVN näyttää käyttäjälle erillisen syöttökentän, johon vikatunnus voidaan syöttää. Lopuksi erillinen rivi lisätään syötetyn lokiviestin loppuun/alkuun.

bugtraq:message

Tämä ominaisuus aktivoi vikaseurannan Syöttökenttätilaan. Jos ominaisuus on päällä, TortoiseSVN pyytää sinua syöttämään vikatunnuksen, kun toimitat muutoksesi arkistoon. Sitä käytetään lisäämään rivi lokiviestin loppuun. Ominaisuuden on sisällettävä termi %BUGID%, joka korvataan toimitettaessa vikatunnuksella. Tämä takaa, että lokiviestissäsi on aina oikean muotoinen viite, jonka vikaseurantatyökalusi voi jäsentää vikatunnuksen kytkemiseksi arkistotoimitukseen. Voit esimerkiksi käyttää asetusta Issue : %BUGID%, mutta tarkka muoto riippuu käyttämästäsi työkalusta.

bugtraq:label

TortoiseSVN näyttää tämän tekstin toimitusikkunassa vikatunnuskentän edessä. Oletusarvoisesti ominaisuuden arvo on Vikatunnus:. Huomaa kuitenkin, että ikkunan kokoa ei muuteta merkkijonon mahduttamiseksi, joten pidä sen pituus korkeintaan 20-25 merkissä.

bugtraq:number

Arvo true sallii vain numerot virhenumeron syöttökentässä. Pilkkumerkki sallitaan aina, jotta voit syöttää useita numeroita. Sallitut arvot ovat true/false. Oletusarvoisesti ominaisuuden tila on true.

bugtraq:append

Tämä ominaisuus määrittää, lisätäänkö vikatunnus lokiviestin loppuun (true) vai alkuun (false). Sallitut arvot ovat true/false. Oletusarvoisesti arvo on true, jotta olemassa olevat projektit eivät rikkoudu.

Vikanumerot säännöllisten lausekkeiden avulla

Säännölliset lausekkeet -tilassa TortoiseSVN ei näytä erillistä syöttökenttää, vaan ottaa talteen sen osan lokiviestistä, joka täsmää määritettyjen säännöllisten lausekkeiden kanssa. Tämä tehdään lokiviestin kirjoittamisen aikana. Vikatunnus voi siis olla missä tahansa osassa lokiviestiä! Menetelmä on varsin joustava, ja esim. TortoiseSVN-projekti itse käyttää sitä.

bugtraq:logregex

Tämä ominaisuus asettaa vikaseurannan Säännölliset lausekkeet -tilaan. Se sisältää yksi tai kaksi rivinvaihdolla erotettua säännöllistä lauseketta.

Jos kaksi lauseketta on annettu, ensimmäistä käytetään esisuodattimena löytämään lausekkeet, joissa on vikatunnuksia. Seuraava lauseke erottelee sitten pelkät vikatunnukset ensimmäisen lausekkeen tuloksista. Tämä sallii luonnollisen kielen ja vikatunnusten yhdistelmän; saatat esimerkiksi korjata useita vikoja ja raportoida ne seuraavasti: Tämä muutos korjaa viat #23, #24 ja #25.

Jos haluat täsmätä yllä olevan lausekkeen vikatunnukset lokiviestistä, voit käyttää seuraavia säännöllisiä lausekkeita: [Vv]ikatunnu(s|kset):?(\s*(,|ja)?\s*#\d+)+ sekä (\d+).

Ensimmäinen lauseke erottelee vikatunnukset #23, #24 ja #25 ympäröivästä lokiviestistä. Toinen säännöllinen lauseke erottaa pelkät numerot ensimmäisen lausekkeen tuloksesta, joten se palauttaa vikatunnukset 23, 24 ja 25.

Jos ensimmäinen lauseke jaetaan osiin, havaitaan, että sen on alettava sanalla vikatunnu, alkaen mahdollisesti isolla kirjaimella. Tätä seuraa joko s tai kset (useita vikoja) sekä mahdollinen kaksoispiste. Tätä seuraa yksi tai useampia ryhmiä, jotka muodostuvat tyhjämerkeistä (nolla tai useampia), vikatunnuksesta, pilkusta tai sanasta ja sekä vielä tyhjämerkeistä (nolla tai useampia). Vikatunnus muodostuu pakollisesta #-merkistä ja numerosta.

Jos vain yksi lauseke on annettu, lausekkeen ryhmien on täsmättävä pelkkien virhetunnusten kanssa. Esimerkki: [Vv]ikatunnus:? #?(\d+) Muutamat työkalut (esim. trac) vaativat tämän tavan käyttöä, mutta säännöllisen lausekkeen muodostaminen on vaikeampaa. Suosittelemme, että käytät tätät tapaa vain jos työkalusi vaatii sitä.

Jos et ole perehtynyt säännöllisiin lausekkeisiin, katso johdanto osoitteesta https://en.wikipedia.org/wiki/Regular_expression, sekä muita dokumentteja osoitteesta http://www.regular-expressions.info/.

Ei ole aina helppoa saada säännöllistä lauseketta oikein. Tämäm helpottamiseksi käytössä on testi-ikkuna, joka on rakennettu bugtraq-ominuuseditorin yhteyteen. Napsauta oikealla olevaa painiketta käynnistääksesi sen. Ikkunassa voit lisätä tekstiä ja muuttaa kutakin lauseketta nähdäksesi tulokset. Jos lauseke on väärä, sen editointitausta muuttuu punaiseksi.

Jos molemmat ominaisuudet bugtraq:message ja bugtraq:logregex on asetettu, logregex vie voiton.

Vihje

Vaikka et käyttäisi virheenjäljitysohjelmaa ja toimintokomentoja lokiviestiesi jäsentämiseen, voit silti käyttää tätä muuttaaksesi lokiviestiesi osia linkeiksi!

Ja vaikket tarvitsisikaan linkkejä, vikanumerot näytetään loki-ikkunassa erillisessä sarakkeessa, jolloin tiettyyn vikaan liittyvät muutokset on helpompi löytää.

Jotkut tsvn:-ominaisuudet tarvitsevat arvon true/false. Tällöin sanaa yes voidaan käyttää synonyyminä arvolle true ja sanaa no synonyyminä arvolle false.

Aseta ominaisuudet kansioille

Nämä ominaisuudet on asetettava kansioille, jotta ne toimisivat. Kun toimitat tiedoston tai kansion, ominaisuudet luetaan kansiosta. Jos niitä ei löydy sieltä, TortoiseSVN etsii ylöspäin kansiopuussa kunnes vastaan tulee versioimaton kansio tai työkopion juurikansio (esim. C:\). Jos voit olla varma, että kukin käyttäjä hakee työkopion esim. vain päähaarasta eikä jostain sen alikansiosta, riittää asettaa ominaisuudet päähaarakansiolle (trunk/). Jos et voi olla varma tästä, ominaisuudet kannattaa asettaa palautuvasti kaikille alikansioille. Syvemmällä projektihierarkiassa oleva ominaisuus vie voiton ylemmillä tasoilla (lähempänä kansiota trunk/) olevista.

Versiosta 1.8 alkaen TortoiseSVN ja Subversion käyttävät perittyjä ominaisuuksia, jotka periytyvät automaattisesti kansiosta sen alikansioihin. Ei ole siis enää tarpeen asettaa ominaisuuksia kaikille kansioille, juurikansio riittää.

Projektiominaisuuksien yhteydessä (ts. i.e. tsvn:, bugtraq: ja webviewer:) valinta Sovella palautuvasti asettaa ominaisuuden kaikille kansiopuun alikansioille (muttei tiedostoille).

Kun lisäät työkopioon uusia alikansioita, TortoiseSVN lisää yläkansion projektiominaisuudet niihin automaattisesti.

Vikaseurantatiedot eivät ole käytettävissä arkistoselaimessa

Koska kytkentä web-selaimiin vaatii Subversion-ominaisuuksien käyttöä, näet tulokset vain työkopion kautta. Ominaisuuksien haku palvelimelta on hidasta, joten tämä toiminto ei ole käytettävissä arkistoselaimessa, ellet käynnistä arkistoselainta työkopiostasi. Jos siis käynnistät arkistoselaimen antamalla arkiston paikantimen, tämä ominaisuus ei ole käytettävissä.

Samasta syystä projektiominaisuudet eivät leviä automaattisesti, kun alikansio lisätään arkistoselaimen kautta.

Vikaseurantaa voi käyttää TortoiseSVN:n ohella kaikkien Subversion-pohjaistan ohjelmien kanssa. Katso lisätietoja TortoiseSVN-arkistosta osoitteessa Issue Tracker Integration Specification (”Lisenssi” kertoo, miten arkistoon kytkeydytään.)

Tiedon saanti vikaseurantaohjelmasta

Edellinen luku käsitteli vikatietojen lisäämistä lokiviesteihin. Entäpä jos tarvitset tietoja vikaseurantaohjelmasta? Toimitusikkunalla on COM-rajapinta, johon voidaan kytkeä ulkoinen ohjelma, joka keskustelee vikaseurantaohjelmasi kanssa. Saatat esimerkiksi haluta luettelon korjattavaksesi määrätyistä vioista, jotta voit poimia ne, joihin käsillä oleva toimitus liittyy.

Tällainen rajapinta on tietysti tiukasti sidoksissa käyttämääsi vikaseurantajärjestelmään, eikä sitä toimitetan TortoiseSVN:n mukana. Rajapinnan määritys sekä C#/C++ -esimerkkiohjelmia löytyy TortoiseSVN -arkiston contrib -hakemistosta (”Lisenssi” kertoo, miten arkistoon kytkeydytään). Rajapinnan API-yhteenveto löytyy myös osoitteesta Luku 7, IBugtraqProvider-rajapinta. Gurtle on (toimiva) C#-kielellä toteutettu ohjelma, joka toteuttaa Google Code -vikaseurannan vaatiman COM-rajapinnan.

Oletetaan esimerkin vuoksi, että järjestelmänvalvojasi on toimittanut lisäosan vikaseurantaan kytkeytymistä varten. Olet asentanut ohjelman ja kytkenyt työkopiosi käyttämään sitä TortoiseSVN-asetusten kautta. Kun avaat tästä työkopiosta toimitusikkunan, näet uuden painikkeen ikkunan oikeassa ylänurkassa.

Kuva 4.71. Esimerkki vikaseurantaohjelman kyselyikkunasta

Esimerkki vikaseurantaohjelman kyselyikkunasta


Tässä esimerkissä voit valita yhden tai useampia vikoja. Ohjelma voi sitten lisätä muotoillun tekstin lokiviestiisi.

Integrointi web-pohjaisiin arkistoselaimiin

Subversionin yhteyteen on saatavilla useita web-pohjaisia arkistoselaimia, esim. ViewVC ja WebSVN

Voit kytkeä TortoiseSVN:n valitsemaasi arkistoselaimeen. Tämän tehdäksesi sinun on määriteltävä muutamia kansio-ominaisuuksia: (”Projektiasetukset”)

webviewer:revision

Aseta tämä ominaisuus arkistoselaimesi paikantimeen nähdäksesi kaikki tietyn version muutokset. Sen on oltava URI-muotoinen ja sisällettävä termi %REVISION%, joka korvataan tarvittavalla versionumerolla. Tämän avulla TortoiseSVN kykenee näyttämään komennon KontekstivalikkoKatso versiota web-selaimessa loki-ikkunassa.

webviewer:pathrevision

Aseta tämä ominaisuus arkistoselaimesi paikantimeen nähdäksesi muutokset valitun version tietyssä tiedostossa. Sen on oltava URI-muotoinen ja sisällettävä termit %REVISION% ja %PATH%. %PATH% korvataan arkiston juuren suhteen suhteellisella polulla. Tämän avulla TortoiseSVN osaa näyttää komennon KontekstivalikkoKatso tiedoston versiota web-selaimessa Joes esimerkiksi napsautat hiiren oikeaa näppäintä loki-ikkunan alapaneelissa tiedoston /trunk/src/file kohdalla, paikantimen termi %PATH% saa arvon /trunk/src/file.

Voit myös käyttää suhteellisia paikantimia absoluuttisten sijaan. Tästä on hyötyä, mikäli selaimesi on samassa nimialueessa / palvelimella kuin arkistosi. Jos nimialue joskus muuttuu, et joudu muuttamaan webviewer:revision ja webviewer:pathrevision -ominausuuksia. Muoto on sama kuin ominaisuudella bugtraq:url, ks. luku ”Integrointi vikaseurantaohjelmiin”.

Aseta ominaisuudet kansioille

Nämä ominaisuudet on asetettava kansioille, jotta ne toimisivat. Kun toimitat tiedoston tai kansion, ominaisuudet luetaan kansiosta. Jos niitä ei löydy sieltä, TortoiseSVN etsii ylöspäin kansiopuussa kunnes vastaan tulee versioimaton kansio tai työkopion juurikansio (esim. C:\). Jos voit olla varma, että kukin käyttäjä hakee työkopion esim. vain päähaarasta eikä jostain sen alikansiosta, riittää asettaa ominaisuudet päähaarakansiolle (trunk/). Jos et voi olla varma tästä, ominaisuudet kannattaa asettaa palautuvasti kaikille alikansioille. Syvemmällä projektihierarkiassa oleva ominaisuus vie voiton ylemmillä tasoilla (lähempänä kansiota trunk/) olevista.

Projektiominaisuuksien yhteydessä (ts. i.e. tsvn:, bugtraq: ja webviewer:) valinta Sovella palautuvasti asettaa ominaisuuden kaikille kansiopuun alikansioille (muttei tiedostoille).

Kun lisäät työkopioon uusia alikansioita, TortoiseSVN lisää yläkansion projektiominaisuudet niihin automaattisesti.

Rajoitukset arkistoselainta käytettäessä

Koska kytkentä arkistoselaimeen vaatii Subversion-ominaisuuksien käyttöä, näet tulokset vain työkopion kautta. Ominaisuuksien haku palvelimelta on hidasta, joten tämä toiminto ei ole käytettävissä arkistoselaimessa, ellet käynnistä arkistoselainta työkopiostasi. Jos siis käynnistät arkistoselaimen antamalla arkiston paikantimen, tämä ominaisuus ei ole käytettävissä.

Samasta syystä projektiominaisuudet eivät leviä automaattisesti, kun alikansio lisätään arkistoselaimen kautta.

TortoiseSVN-asetukset

Selvittääksesi, mitä eri asetukset tekevät, jätä hiirikohdistin hetkeksi asetuksen päälle: näkyviin tulee työkaluvihje, jossa on lisätietoa asetuksesta.

Yleiset asetukset

Kuva 4.72. Asetusikkuna, yleiset asetukset -sivu

Asetusikkuna, yleiset asetukset -sivu


Tässä ikkunassa voit määrittää käyttöliittymän kielen sekä Subversion-kohtaiset asetukset.

Kieli

Valitsee käyttöliittymän kielen. Sinun on ensin asennettava tarvittava kielipaketti, muuten tarjolla on oletusarvoisesti vain englanti.

Tarkista päivitykset

TortoiseSVN ottaa aika ajoin yhteyttä kotipalvelimeensa tarkistaakseen, onko ohjelmasta uudempaa versiota saatavilla. Jos näin on, toimitusikkunassa näytetään tästä ilmoituslinkki. Napsauta Tarkista nyt jos haluat tietää asian heti. Uutta versiota ei noudeta automaattisesti; saat ainoastaan ilmoituksen, että sellainen on saatavilla.

Järjestelmän äänet

TortoiseSVN käyttää kolmea omaa ilmoitusääntä, jotka asentuvat automaattisesti.

  • Virhe

  • Ilmoitus

  • Varoitus

Voit valita eri äänet (tai kytkeä äänet pois täysin) käyttämällä Windowsin Ohjauspaneelia. Painike Säädä vie suoraan Ohjauspaneeliin.

Käytä Aero-ikkunoita

Windows Vistassa ja myöhemmissä käyttöjärjestelmissä tämä asetus kontrolloi, käytetäänkö ikkunoissa Aero-tilaa.

Luo Kirjasto

Windows 7:ssä voit luoda Kirjastoja, joihin voit liittää eri puolilla kiintolevyäsi sijaitsevat työkopiot.

Yleinen ohituslauseke

Yleisiä ohituslausekkeita käytetään estämään versioimattomien tiedostojen ilmestymistä esim. toimitusikkunaan. Lausekkeiden kanssa täsmäävät tiedostot ohitetaan myös tuotaessa tiedostoja arkistoon. Ohita tiedostot tai hakemistot kirjoittamalla niiden nimet tai päätteet. Lausekkeet erotetaan välilyönnein, esim. bin obj *.bak *.~?? *.jar *.[Tt]mp. Hahmoissa ei tule käyttää polkuerottimia. Huomaa myös, että hakemistojen ja tiedostojen erottaminen toisistaan ei ole mahdollista. Luku ”Tiedostonimien täsmäys ohituslistoissa” kertoo lisää hahmontäsmäyksestä.

Huomaa, että täällä määrittämäsi ohituslausekkeet koskevat myös muita Subversion-asiakkaita työasemassasi, mukaan lukien komentoriviasiakas.

Varo

Jos käytät Subversionin määrittelytiedostoa asettaaksesi global-ignores -lausekkeen, se voittaa täällä tekemäsi määritykset. Voit muokata Subversionin määrittelytiedostoa painikkeen Muokkaa avulla, kuten alla on kuvattu.

Tämä ohituslauseke koskee kaikkia projektejasi. Sitä ei versioida, joten se ei vaikuta muihin käyttäjiin. Toisaalta voit myös käyttää versioitua svn:ignore tai svn:global-ignores -ominaisuutta jättääksesi tiedostoja ja hakemistoja versioimatta. Lue lisää asiasta luvusta ”Tiedostojen ja kansioiden ohittaminen”.

Aseta tiedostojen päiväykset viimeisimpään arkistoon toimitusaikaan

Tämä valinta ohjaa TortoiseSVN:n asettamaan tiedostojen päiväykset viimeisimpään arkistoon toimitusaikaan, kun työkopio haetaan tai päivitetään. Muussa tapauksessa TortoiseSVN käyttää nykyistä päiväystä. Jos kehität ohjelmistoja, on yleisesti ottaen parasta käyttää nykyistä päiväystä, koska käännösjärjestelmät tutkivat tavallisesti tiedostojen päiväyksiä päättääkseen, mitkä tiedostot on käännettävä. Jos asetat päiväykset viimeisimpään arkistoon toimitusaikaan ja palautat tiedoston vanhemman version, projektisi ei ehkä käänny oletetusti.

Subversionin määrittelytiedosto

Käytä painiketta Muokkaa muokataksesi Subversionin määrittelytiedostoa suoraan. Joitain asetuksia ei voi muuttaa suoraan TortoiseSVN:n avulla, vaan ne on asetettava tällä tavalla. Katso lisätietoa config-tiedoston rakenteesta Subversion-kirjan luvusta Runtime Configuration Area. Kappale Automatic Property Setting on erityisen kiinnostava, ja sen tiedot määritellään tässä. Huomaa, että Subversion voi lukea asetuksia useasta paikasta, ja sinun on tiedettävä, mikä asetus voittaa. Kannattaa lukaista myös Configuration and the Windows Registry.

Huomioi paikalliset muutokset svn:externals -viitteisiin päivitettäessä

Asetus ohjaa, että TortoiseSVN ottaa aina huomioon svn:externals-ominaisuuteen tehdyt paikalliset muutokset työkopiota päivitettäessä.

Kontekstivalikon asetukset

Kuva 4.73. Asetusikkuna, kontekstivalikkosivu

Asetusikkuna, kontekstivalikkosivu


Tällä sivulla voit määritellä, mitkä TortoiseSVN:n kontekstivalikon komennot näkyvät pääkontekstivalikossa ja mitkä puolestaan TortoiseSVN-alivalikossa. Oletusarvoisesti useimmat komennot ovat valitsematta ja näkyvät alivalikossa.

Komento Lukitse on erikoistapaus. Voit tietysti nostaa sen päätasolle, mutta koska useimmat tiedostot eivät tarvitse lukitusta, se vain sekavoittaa päätasoa. Kuitenkin tiedosto, jolla on ominaisuus svn:needs-lock, tarvitsee tätä toimenpidettä joka kerta kun sitä muokataan, joten tällöin on kätevää pitää se päätasolla. Valintalaatikon ruksaaminen tässä tapauksessa tarkoittaa, että kun tiedostolla on ominaisuus svn:needs-lock, komento Lukitse on aina päätasolla.

Useimmiten tarvitset TortoiseSVN-kontekstivalikkoa vain versioiduille kansioille. Versioimattomille kansioille tarvitset kontekstivalikon vain noutaessasi työkopiota. Jos asetus Piilota valikot versioimattomille poluille on päällä, TortoiseSVN ei lisää kontekstivalikkoaan versioimattomille kansioille. Valikot lisätään aina versioiduille kansioille ja tiedostoille. Voit myös pakottaa valikon versioimattomille kansioille pitämällä Shift-näppäimen pohjassa avatessasi kontekstivalikkoa.

Jos et haluat TortoiseSVN-kontekstivalikkoa näkyville ollenkaan tiettyjen polkujen yhteydessä, voit luetella ne alhaalla olevaan kenttään.

Ikkuna-asetukset 1

Kuva 4.74. Asetusikkuna, Ikkunat 1 -sivu

Asetusikkuna, Ikkunat 1 -sivu


Tässä ikkunassa voit säätää muutamien TortoiseSVN-ikkunoiden toiminnan mieleiseksesi.

Lokiviestien oletuslukumäärä

Määrittää TortoiseSVN:n hakemien lokiviestien lukumäärän, kun annat komennon TortoiseSVNNäytä loki. Hyödyllinen, mikäli palvelinyhteys on hidas. Voit aina käyttää Hae kaikki tai Seuraavat 100 -painikkeita nähdäksesi lisää viestejä.

Lokiviestien kirjasin

Valitsee kirjasintyypin ja koon, jota käytetään näyttämään lokiviesti loki-ikkunan keskipaneelissa sekä kirjoittamaan lokiviesti toimitusikkunassa.

Lyhyt päiväys- ja aikamuoto lokiviesteissä

Jos oletusarvoiset pitkät viestit vievät liikaa tilaa näytölläsi, käytä lyhyttä muotoa.

Tuplanapsautus lokissa vertaa edellisen version kanssa

Jos huomaat käyttäväsi versioiden vertailuun usein loki-ikkunan yläpaneelia, voit käyttää tätä asetusta kaksoisnapsautuksen määrittämiseen. Se ei ole oletusarvoisesti päällä, koska erojen haku on hidas toimenpide, ja monet käyttäjät haluavat välttää turhaa odotusta vahingossa tehdyn kaksoisnapsautuksen jälkeen.

Automaattinen sulkeminen

TortoiseSVN voi automaattisesti sulkea toiminnon edistymisestä kertovan ikkunan, kun se on päättynyt virheittä. Tämän asetuksen avulla voit valita ehdot, joiden täyttyessä edistymisikkunat suljetaan. Oletusarvoinen (suositeltu) asetus on Sulje itse, joka sallii kaikkien viestien ja tapahtumien tarkistamisen. Joskus voi kuitenkin olla tarpeen ohittaa tietyt viestit automaattisesti.

Valinta Sulje automaattisesti, jos ei ole yhdistämisiä, lisäyksiä tai poistoja tarkoittaa, että edistymisikkuna sulkeutuu yksinkertaisten päivitysten yhteydessä, mutta jos arkiston muutoksia jouduttiin yhdistämään omiisi tai jos tiedostoja on lisätty/poistettu, ikkuna pysyy avoinna. Se pysyy auki myös, jos toiminnon aikana syntyy ristiriitoja tai virheitä.

Valinta Sulje automaattisesti jos ei ristiriitoja höllentää vaatimuksia entisestään ja sulkee ikkunan myös yhdistämisten, lisäyksien ja poistojen yhteydessä. Jos toiminto kuitenkin synnyttää ristiriitoja tai virheitä, ikkuna jää auki.

Valinta Sulje automaattisesti, jos ei virheitä sulkee aina ikkunan, vaikka toiminto synnyttäisi ristiriitoja. Ikkuna säilyy avoinna vain virhetilanteessa, eli kun Subversion ei kykene viemään toimintoa loppuun. Näin käy esimerkiksi silloin, kun päivitys epäonnistuu (koska palvelimeen ei saada yhteyttä) tai arkistotoimitus epäonnistuu (koska työkopio ei ole ajan tasalla).

Sulje aina ikkunat paikallisten toimintojen yhteydessä

Paikalliset operaatiot kuten tiedostojen lisäys tai muutosten peruminen eivät ota yhteyttä arkistoon ja ovat siten nopeita. Tästä syystä edistysmisikkuna on usein tarpeeton. Valitse tämä asetus, mikäli haluat edistymisikkunan sulkeutuvan automaattisesti onnistuneiden paiikallisten operaatioiden jälkeen.

Käytä Roskakoria palautukseen

Kun palautat paikallisia muutoksia, ne menetetään. TortoiseSVN sisältää kuitenkin ylimääräisen turvamekanismin:muutettu tiedosto siirretään Roskakoriin, ennen kuin alkuperäinen versio palautetaan. Jos haluat ohittaa Roskakorin, poista tämä asetus.

Käytä työkopion paikanninta oletusarvoisena Mistä: -paikantimena

Yhdistämisikkuna muistaa oletusarvoisesti Mistä:-paikantimen arvon yhdistämisten välillä. Jotkut ihmiset tapaavat kuitenkin yhdistää monista eri paikoista arkistohierarkiassaan, ja tällöin voi olla helpompaa aloittaa nykyisen työkopion paikantimesta, jota voidaan sitten muokata osoittamaan samaan polkuun toisessa haarassa.

Oletuspolku

Voit määritellä oletuspolun työkopion haulle. Jos pidät kaikki työkopiosi yhdessä paikassa, voi olla hyödyllistä, että asema ja kansio asetetaan valmiiksi, jolloin joudut vain lisäämään uuden kansion nimen loppuun.

Oletuspaikannin

Voit myös määritellä oletuspaikantimen työkopion haulle. Jos haet usein työkopioita jonkun suuren projektin aliprojekteille, voi olla hyödyksi täyttää paikannin valmiiksi, jolloin joudut vain lisäämään aliprojektin nimen loppuun.

Ikkuna-asetukset 2

Kuva 4.75. Asetusikkuna, Ikkunat 2 -sivu

Asetusikkuna, Ikkunat 2 -sivu


Siirry myös versioimattomiin kansioihin

Jos tämä valinta on päällä (oletusarvo), niin aina, kun versioimattoman kansion tila näytetään Lisää, Toimita tai Tarkista muutokset -ikkunoissa, näytetään myös kaikki sen sisältämät tiedostot ja kansiot. Jos poistat valinnan, vain versiomaton juurikansio näytetään. Tämä vähentää 'turhien' lueteltujen tiedostojen määrää. Jos tällöin valitset versioimattoman kansion lisättäväksi, kaikki sen osat lisätään palautuvasti.

Tarkista muutokset -ikkunassa voit näyttää ohitetut kohteet. Valinta saa aikaan myös ohitettujen kansioiden sisältämien kohteiden näyttämisen.

Käytä automaattista täydennystä tiedostopoluille ja avainsanoille

Toimitusikkunassa on aputoiminto, joka jäsentää toimitettavana olevat tiedostonimet. Kun kirjoitat nimen kolme ensimmäistä kirjainta, automaattinen täydennysikkuna ponnahtaa esiin, ja voit täydentää tiedostonimen painamalla Enter. Ruksaa valinta ottaaksesi toiminnon käyttöön.

Automaattisen täydennyksen aikakatkaisu (s)

Automaattisen täydennyksen jäsennin voi olla hidas, jos jäsennettävänä on paljon suuria tiedostoja. Aikakatkaisu varmistaa, ettei toimitusikkuna ole auki liian kauan. Jos automaattinen täydennys ei ehdi hakea kaikkea tietoa, voit pidentää aikaa.

Käytä tavutustarkistusta vain, kun tsvn:projectlanguage on asetettu

Jos et halua käyttää tavutuksen tarkistusta kaikille arkistotoimituksille, ruksaa tämä valinta. Tarkistus on silti päällä, mikäli projektin ominaisuudet niin vaativat.

Lokiviestihistorian suurin koko (viestiä)

Kun syötät lokiviestin toimitusikkunassa, TortoiseSVN tallettaa sen mahdollista myöhempää käyttöä varten. Oletusarvoisesti viimeisimmät 25 kuhunkin arkistoon syötettyä lokiviestiä talletetaan, mutta voit muuttaa viestien määrää tässä. Jos käytät monia arkistoja, saatat haluta pienentää arvoa välttääksesi Windows-rekisterin ylikansoitusta.

Huomaa, että asetus koskee vain viestejä, jotka kirjoitat tällä tietokoneella. Sillä ei ole mitään tekemistä lokivälimuistin kanssa.

Valitse kohteet automaattisesti

Toimitusikkuna valitsee tavallisesti kaikki muutetut (ja versioidut) osat automaattisesti arkistoon toimitettaviksi. Jos haluat poimia kaikki toimitettavat kohteet käsin, poista tämä valinta.

Avaa toimitusikkuna uudelleen, mikäli kaikkia tiedostoja ei toimitettu kerralla

Toimitusikkuna avataan automaattisesti uudelleen samassa hakemistossa onnistuneen arkistotoimituksen jälkeen. Ikkuna avautuu vain, jos jäljellä on toimittamattomia tiedostoja.

Ota yhteys arkistoon käynnistettäessä

Tarkista muutokset -ikkuna käy oletusarvoisesti läpi työkopiosi, ja ottaa yhteyden arkistoon vain kun napsautat Tarkista arkisto-painiketta. Jos haluat aina tarkistaa arkiston tilan, voit pakottaa sen käyttämällä tätä asetusta.

Näytä lukitusikkuna ennen tiedostojen lukitsemista

Kun valitset yhden tai useamman tiedoston ja käytät komentoa TortoiseSVNLukitse lukitaksesi ne, voi olla tarpeen kirjoittaa lukitusviesti, joka kertoo, miksi tiedostot on lukittu. Jos et käytä lukitusviestejä, voit poistaa tämän asetuksen ohittaaksesi lukitusikkunan ja lukitaksesi tiedostot heti.

Jos käytät lukituskomentoa kansiolle, lukitusikkuna aukeaa aina, jotta voit valita lukittavat tiedostot.

Jos projektisi käyttää tsvn:lockmsgminsize-ominaisuutta, lukitusikkuna aukeaa aina tästä asetuksesta riippumatta, koska projekti vaatii lukitusviestin syöttämisen.

Ikkuna-asetukset 3

Kuva 4.76. Asetusikkuna, Ikkunat 3 -sivu

Asetusikkuna, Ikkunat 3 -sivu


Arkistoselaimen asetukset:

Hae kansiot etukäteen käytön nopeuttamiseksi

Jos tämä valinta on päällä (oletus), arkistoselain hakee tietoa näytetyistä kansioista taustalla. Tämän ansiosta tiedot ovat jo saatavilla, kun siirryt johonkin näistä kansioista.

Joillakin palvelimilla voi kuitenkin olla vaikeuksia toiminnon aiheuttamien useiden pyyntöjen kanssa. Palvelin voi olla myös konfiguroitu siten, että se tulkitsee pyynnöt palvelunestohyökkäykseksi. Näissä tapauksissa voit estää ennalta haun tässä.

Näytä ulkoiset viitteet

Jos tämä valinta on päällä (oletus), arkistoselain näyttää työkopioon svn:externals -ominaisuudella sisällytetyt tiedostot ja kansiot tavallisina tiedostoina ja kansioina. Erilainen kuvakepäällys kertoo niiden olevan peräisin ulkoisesta lähteestä.

Kuten yllä kuvattu ennalta haku -ominaisuus, tämäkin toiminto voi olla liian raskas joillekin palvelimille. Tällaisissa tapauksissa voit kytkeä toiminnon pois päältä tässä.

Hyllytystoiminnosta on kaksi eri versiota. Täällä voit valita, kumpaa haluat käyttää. Huomaa, että asetuksen muutos voi vaatia tietokoneen uudelleen käynnistämisen.

V2

tämä versio on nopeampi kuin V3 ja suositeltava käytettäväksi.

Nopeudella on kuitenkin hintansa: V2 ei käsittele hakemistomuutoksia, eikä osaa käsitellä tiedostojen kopioita ja siirtoja.

V3

tämä on hyllytystoiminnon viimeisin version. Se pystyy käsittelemään hakemistomuutokset sekä tiedostojen siirrot/kopiot.

Versio V3 on kuitenkin paljon hitaampi kuin V2 ja voi olla siten käyttökelvoton suurille arkistoille tai hitaan yhteyden ylitse.

Väriasetukset

Kuva 4.77. Asetusikkuna, Värit -sivu

Asetusikkuna, Värit -sivu


Tällä sivulla voit määritellä TortoiseSVN-ikkunoiden käyttämät tekstivärit mieleisiksesi.

Ristiriita / tukkeutunut

Päivitys on tuottanut ristiriidan (tai sellainen voi syntyä yhdistämisen aikana). Päivitys estyy, jos työkopiossa on saman niminen versioimaton tiedosto tai kansio.

Tätä väriä käytetään myös edistymisikkunoiden virheilmoituksiin.

Lisätyt tiedostot

Arkistoon lisätyt kohteet.

Puuttuva / poistettu / korvattu

Kohteet, jotka on poistettu arkistosta, puuttuvat työkopiosta tai on poistettu työkopiosta ja korvattu toisella saman nimisellä tiedostolla.

Yhdistetty

Arkiston muutokset on onnistuneesti yhdistetty työkopioon ilman ristiriitoja.

Muutettu / kopioitu

Lisäys historian kera, tai arkistossa kopioitu polku. Käytetään myös loki-ikkunassa riveille, jotka sisältävät kopioituja alkioita.

Poistettu solmu

Kohde, joka on poistettu arkistosta.

Lisätty solmu

Kohde, joka on lisätty arkistoon lisäyksen, kopioinnin tai siirron seurauksena.

Uudelleen nimetty solmu

Kohde, joka on nimetty uudelleen arkistossa.

Korvattu solmu

Alkuperäinen kohde on poistettu, ja uusi kohde, jolla on sama nimi, korvaa sen.

Suodatuksen tulokset

Kun loki-ikkunassa käytetään suodatusta, suodatustermit korostetaan tuloksissa tällä värillä.

muut asetukset:

Tumma teema

TortoiseSVN-ikkunat voidaan näyttää tummalla pohjalla Windows 10 -versiosta 1809 eteenpäin. Ominaisuus vaatii, että tumma tila on kytketty päälle Windows 10 -asetuksista.

Tärkeää

Huomaa, että kaikkia kontrolleja ei näytetä tummalla teemalla.

Versiograafin asetukset

Kuva 4.78. Asetusikkuna, versiograafisivu

Asetusikkuna, versiograafisivu


Luokitteluhahmot

Versiograafi koettaa selkeyttää arkistosi rakenteen esitystä käsittelemällä päähaaraa, haaroja ja merkittyjä versioita eri tavoin. Koska Subversion ei tue tällaista erottelua, toiminto perustuu polkunimiin. Oletusarvoisesti käytetään Subversion-kirjassa suositeltuja (englanninkielisiä) nimiä, mutta tätä voi toki muuttaa.

Määritä polkujen erottamiseksi käytetyt hahmot kolmeen syöttökenttään. Hahmot täsmätään merkkien tasosta välittämättä, mutta ne on annettava pieninä kirjaimina. Jokerimerkit * ja ? toimivat tavalliseen tapaan, ja voit käyttää puolipistettä ; erottamaan useita hahmoja. Vältä ylimääräisiä tyhjämerkkejä, koska ne sisällytetään täsmäykseen.

Merkittyyn versioon toimituksen tunnistus

Huomaa, että näitä sääntöjä ei käytetä pelkästään versiograafiin, vaan myös havaitsemaan merkittyyn versioon tehtävät toimitukset.

Muuta värejä

Versiograafi käyttää värejä kuvaamaan solmun tyyppiä, ts. onko se lisätty, poistettu vai nimetty uudelleen. Jos haluat, voit sallia versiograafin sekoittavan värejä, jotta sekä solmun tyyppi että luokitus voidaan näyttää. Jos valinta on asetettu päälle, sekoitusta käytetään. Jos valinta on pois päältä, väriä käytetään vain solmun tyypin ilmaisemiseen. Käytä värienvalintaikkunaa värien määrittämiseen.

Versiograafin värit

Kuva 4.79. Asetusikkuna, versiograafin värit -sivu

Asetusikkuna, versiograafin värit -sivu


Tällä sivulla voit määrittää käytetyt värit. Huomaa, että täällä määritellään perusvärit. Useimmat solmut värjätään käyttämällä sekoitusta solmutyypin, taustan ja luokittelun perusväreistä.

Poistettu solmu

Kohteet, jotka on poistettu eikä kopioitu muualle samassa versiossa.

Lisätty solmu

Uudet kohteet tai kopiot (lisäys historian kera).

Uudelleen nimetty solmu

Kohteet, jotka on poistettu ja lisätty toiseen paikkaan samassa versiossa.

Muutettu solmu

Yksinkertaiset muutokset ilman lisäyksiä tai poistoja.

Muuttumaton solmu

Voidaan käyttää näyttämään kopiolähteen versiota, myös silloin, kun versiossa ei tapahtunut muutosta kohteeseen.

HEAD-solmu

Nykyinen HEAD-versio arkistossa.

Työkopion solmu

Jos haluat näyttää muuttuneen työkopion erillisenä solmuna, joka kytkeytyy graafin viimeiseksi arkistoon toimitettuun versioon, käytä tätä väriä.

Työkopion solmun reuna

Jos haluat näyttää, onko työkopio muuttunut, käytä tätä reunaväriä muuttuneelle työkopiosolmulle.

Merkittyjen versioiden solmut

Merkityiksi versioiksi luokitellut solmut korostetaan tällä värillä.

Päähaaran solmut

Päähaaraan kuuluvat solmut korostetaan tällä värillä

Lähtösolmuun yhdistettyjen merkittyjen versioiden esitystapa

Jos näytät merkityt versiot lähtösolmussa tilan säästämiseksi, ne näytetään kopiolähteessä tämän värisellä lohkolla.

Valittujen solmujen esitystapa

Kun napsautat hiiren vasenta näppäintä solmussa valitaksesi sen, valinnan ilmaiseva symboli on tämän värinen lohko.

Juovat

Näitä värejä käytetään, kun graafi jaetaan alipuihin, ja tausta värjätään vaihtuvin juovin puiden erottelun helpottamiseksi.

Kuvakepäällykset

Kuva 4.80. Asetusikkuna, kuvakesivu

Asetusikkuna, kuvakesivu


Tällä sivulla voit valita tilat, joille TortoiseSVN näyttää kuvakepäällyksiä.

Koska työkopion tilan selvittäminen voi vaatia pitkän ajan, TortoiseSVN pitää tallettaa tilatiedot muistissa, jotta Resurssienhallinta ei hidastu liikaa päällyksiä näytettäessä. Voit valita laitteistosi ja työkopioidesi koon perusteella millaista talletustapaa TortoiseSVN käyttää:

Oletus

Tallettaa kaiken tilatiedon erillisessä prosessissa (TSVNCache.exe). Prosessi tarkkailee kaikkia asemia ja muuttaa sekä hakee tilan uudestaan, mikäli tiedostot työkopion sisällä muuttuvat. Sitä ajetaan pienimmällä mahdollisella prioriteetilla, jotta muut ohjelmat eivät häiriintyisi sen vuoksi. Tästä johtuen kuvakepäällykset eivät päivity reaaliajassa vaan voivat vaatia muutaman sekunnin tullakseen ajan tasalle.

Hyöty: päällykset näyttävät tilan palautuvasti, ts. jos syvällä työkopiossa oleva tiedosto muuttuu, kaikki kansiot aina työkopion juureen näyttävät myös muuttunut-päällyksen. Ja koska prosessi osaa lähettää ilmoituksia Resurssienhallinnalle, sen vasemman paneelin päällykset päivittyvät myös tavallisesti.

Haitta: prosessi on jatkuvasti suorituksessa, vaikka et työskentelisi projektiesi parissa. Se käyttää myös 10-50 MT muistia riippuen työkopioidesi lukumäärästä ja koosta.

Komentotulkki

Tilatiedot talletetaan suoraan komentotulkin laajennukseen, mutta vain nykyisin näkyvälle kansiolle. Aina vaihtaessasi kansiota tilatiedot haetaan uudestaan.

Hyöty: tarvitsee vain vähän muistia (n. 1 MT) ja osaa näyttää tilatiedot reaaliajassa.

Haitta: Koska vain yhden kansion tilatiedot talletetaan, päällykset eivät näytä tilatietoja palautuvasti. Suurilla työkopioilla tämä valinta voi vaatia kansion näyttämiseen enemmän aikaa kuin erillisen prosessin käyttö. Mime-tyyppisarake ei myöskään ole käytettävissä.

Pois käytöstä

Tällä asetuksella TortoiseSVN ei hae tilatietoa ollenkaan Resurssienhallinnassa. Tästä johtuen tiedostot eivät saa päällystä ja kansioilla on vain 'tavallinen' päällys jos ne versioidaan. Muita päällyksiä ei näytetä, eikä saatavilla ole myöskään ylimääräisiä sarakkeita.

Hyöty: ei käytä ylimääräistä muistia eikä hidasta Resurssienhallintaa ollenkaan.

Haitta: Tiedostojen ja kansioiden tilatieto ei näy Resurssienhallinnassa. Nähdäksesi työkopiosi tiedostojen muutokset sinun on käytettävä komentoa Tarkista muutokset.

Oletusarvoisesti, kuvakepäällykset ja kontekstivalikot näytetään kaikissa avaa/talleta -ikkunoissa Windows-Resurssienhallinnan lisäksi. Jos haluat niiden näkyvän vain Resurssienhallinnassa, ruksaa valinta Näytä kuvakepäällykset ja kontekstivalikko vain Resurssienhallinnassa.

Voit pakottaa välimuistin tilaan None korotetuille prosesseille valitsemalla vaihtoehdon Estä välimuisti korotetuille prosesseille. Tämä on tarpeen, mikäli haluat estää toisen TSVNCache.exe -prosessin luonnin korotetuilla oikeuksilla.

Voit myös asettaa kansiot näytettäviksi muutettuina, jos ne sisältävät versioimattomia tiedostoja. Tämä voi olla hyödyllinen muistutus, jos olet luonut uusia tiedostoja, joita ei vielä ole versioitu. Valinta on käytettävissä vain, jos käytät tilamuistin asetusta oletus (ks. alla).

Jos muutoslistassa ohita toimitettaessa on tiedostoja, voit määrittää, että näihin tiedostoihin tehtävät muutokset eivät leviä yläkansioon. Tämän ansiosta yläkansio näyttää yhä "ei muutettu" -kuvakepäällystä, mikäli pelkästään muutoslistan tiedostot ovat muuttuneet.

Seuraavassa ryhmässä voit valita, mitkä tallennusmediat näyttävät kuvakepäällyksiä. Oletusarvoisesti vain kiintolevy on valittu. Voit jopa estää kuvakepäällysten käytön kokonaan, mutta olisiko se hauskaa?

Verkkoasemat voivat olla hitaita, joten oletusarvoisesti kuvakkeita ei näytetä verkkojaoilla sijaitseville työkopioille.

USB-pohjaiset Flash-asemat ovat erikoisia siinä mielessä, että laite itse määrittää asematyyppinsä. Jotkut näkyvät kiinteinä asemina, jotkut taas irrotettavina.

Asetus Pois jätettävät polut kertoo, mille poluille sen ei tule näyttää kuvakepäällyksiä ja tilasarakkeita. Tästä on hyötyä, jos haluat ohjelman tutkivan vain tiettyjä kansioita tai sinulla on suuria työkopioita, joiden tiedostot eivät muutu ja joille et siksi tarvitse kuvakepäällyksiä. Esimerkiksi:

Tässä määritelty polku käsitellään palautuvasti, joten joten alikansiot eivät myöskään näytä kuvakepäällyksiä. Jos haluat jättää pois ainoastaan nimetyn kansion, lisää ? polun jälkeen.

Sama pätee asetukselle Sisällytettävät polut sillä erotuksella, että määritellyillä poluilla kuvakepäällykset näytetään aina, vaikka päällykset olisi estetty ko. asematyypille tai lueltu yllä pois jätettävien polkujen joukossa.

Käyttäjät kysyvät joskus, miten nämä kolme asetusta toimivat keskenään. Annettua polkua etsitään sisällytetyistä ja ohitettavista poluista, edeten kansiorakenteessa ylöspäin, kunnes täsmäävä polku löytyy. Tällöin polku siis joko sisällytetään tai jätetään pois. Ristiriidan sattuessa yksittäinen kansiomääritys voittaa palautuvan määrityksen, muutoin taas sisällytys vie voiton ohituksesta.

Esimerkki:

Ohitettavat polut:
C:
C:\develop\?
C:\develop\tsvn\obj
C:\develop\tsvn\bin

Sisällytettävät polut:
C:\develop

Nämä asetukset estävät kuvakepäällykset C-asemassa lukuun ottamatta pokua c:\develop. Kaikki tämän kansion alikansiot näyttävät kuvakepäällykset, lukuun ottamatta itse kansiota c:\develop. joka on erityisesti ohitettu. Binäärikansiot, joihin kohdistuu paljon muutoksia, on myös ohitettu.

TSVNCache.exe käyttää myös näitä polkuja rajoittamaan etsintää. Jos haluat sen etsivän vain tietyistä kansioista, estä kaikki asematyypit ja sisällytä mukaan vain ne kansiot, joille erityisesti haluat näyttää tilatiedot.

Ohita SUBST-asemat

On usein näppärää ottaa käyttöön SUBST-asema työkopion käyttämiseksi, esim. komennolla

subst T: C:\TortoiseSVN\trunk\doc

Tästä voi kuitenkin seurata kuvakepäällysten päivitysongelmia, koska tiedoston muuttuessa TSVNCache saa siitä tiedon vain yhden kerran, ja tämä koskee tavallisesti alkuperäistä polkua. Tästä johtuen subst-asemien kuvakepäällykset eivät koskaan päivity.

Helppo tapa kiertää tämä on estää alkuperäistä polkua näyttämästä kuvakepäällyksiä, jotta kuvakepäällykset näkyvät sen sijaan subst-poluilla.

Joskus jätät pois kansioita, jotka saattavat sisältävät työkopioita; tämä säästää TSVNCache-ohjelmalta niiden läpikäyntiin kuluvaa aikaa. Mikäli haluat kuitenkin visuaalisen vasteen sille, että tällainen sisältyvä kansio on työkopio, ruksaa valinta Näytä pois jätetyt juurikansiot normaaleina. Valinta näyttää pois jätettyjen alueiden (asematyyppi valitsematta tai erityisesti ohitettu) sisältämät työkopioiden juurikansiot ajan tasalla olevina, vihreän kuvakepäällyksen kera. Tämä muistuttaa siitä, että kyseessä on työkopio, vaikka tilatieto on ehkä väärin. Tiedostoilla ei tällöin ole kuvakepäällystä lainkaan. Huomaa, että kontekstivalikot toimivat, vaikka päällyksiä ei näytettäisikään.

Poikkeuksena tähän, asemia A: ja B: ei koskaan käsitellä Näytä pois jätetyt työkopiot tilassa 'normaali' -asetuksen yhteydessä. Tämä siitä syystä, että Windows joutuu tutkimaan asemaa, mikä voi johtaa usean sekunnin viiveeseen Resurssienhallinnan käynnistymisessä, vaikka työasemassasi olisikin korppuasema.

Kuvakkeet

Kuva 4.81. Asetusikkuna, kuvakesivu

Asetusikkuna, kuvakesivu


Voit muuttaa kuvakepäällysten joukon haluamaksesi. Huomaa, että jos vaihdat päällysjoukon, saatat joutua käynnistämään tietokoneesi uudelleen, jotta muutokset tulevat voimaan.

Aktiiviset kuvakepäällykset

Kuva 4.82. Asetusikkuna, kuvakekäsittelijät

Asetusikkuna, kuvakekäsittelijät


Koska kuvakepäällyksiä voi olla kerralla käytössä vain rajallinen määrä, saatat haluta kytkeä osan pois, jotta haluamasi päällykset pystytään ottamaan käyttöön. Koska TortoiseSVN käyttää TortoiseOverlays-komponenttia yhdessä muiden Tortoise-ohjelmien (esim. TortoiseCVS, TortoiseHg) kanssa, asetus vaikuttaa myös niihin.

Verkkoasetukset

Kuva 4.83. Asetusikkua, Verkkosivu

Asetusikkua, Verkkosivu


Tällä sivulla voit määrittää välityspalvelimen asetukset, jos tarvitset sellaisia esim. päästäksesi yrityksesi palomuurin lävitse.

Jos tarvitset arkistokohtaisia välityspalvelinasaetuksia, joudut muokkaamaan Subversionin servers-tiedostoa. Napsauta Muokkaa avataksesi sen suoraan. Katso lisätietoa Subversion-kirjan luvusta Runtime Configuration Area.

Voit myös määrittää, minkä ohjelman avulla TortoiseSVN muodostaa salatun yhteyden svn+ssh -arkistoon. Suosittelemme TortoisePlink.exe -ohjelmaa. Tämä on TortoiseSVN:n mukana tuleva suositun Plink-ohjelman muunnelma, joka ei avaa ylimääräistä DOS-ikkunaa aina, kun tunnistusta tarvitaan.

Sinun on annettava suoritettavan ohjelman koko polkunimi. TortoisePlink.exe -ohjelmalle tämä on TortoiseSVN-ohjelman bin-kansio. Voit käyttää Selaa-painiketta sen löytämiseksi. Huomaa, että jos polussa on välilyöntejä, se on ympäröitävä lainausmerkein, esim.

"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe"

Eräs seuraus ikkunattomuudesta on se, että virheilmoituksia ei voida näyttää missään. Jos tunnistus epäonnistuu, saat ainoastaan viestin, jossa on jotain tyyliin Unable to write to standard output. Tästä syystä suosittelemme, että testaat yhteyden normaalilla Plink-ohjelmalla. Kun kaikki toimii, voit käyttää TortoisePlink-ohjelmaa samoilla asetuksilla.

TortoisePlink-ohjelmalla ei ole omia käyttöohjeita, koska se on vain muunnelma Plink-ohjelmasta. Tietoa komentorivivalitsimista löytyy PuTTY-sivustosta.

Kannattaa harkita tunnussanojen talletustyökalun (esim. Pageant, saatavilla PuTTY-sivustosta) käyttöä, jotta vältyt toistuvalta tunnussanojen syöttämiseltä.

Lopuksi, SSH-asennus palvelimelle ja asiakastyöasemiin on mutkikas toimenpide, jota tämä käyttöohje ei kata. Löydät kuitenkin oppaan TortoiseSVN FAQ-sivulta otsikolla Subversion/TortoiseSVN SSH How-To.

Ulkoiset ohjelmat

Kuva 4.84. Asetusikkuna, Vertailutyökalut-sivu

Asetusikkuna, Vertailutyökalut-sivu


Tällä sivulla voit määrittää omat vertailu/yhdistämisohjelmat, joita TortoiseSVN käyttää. Oletusarvoisesti käytetään TortoiseSVN:n mukana tulevaa TortoiseMerge-ohjelmaa.

Luvussa ”Erilliset vertailu- ja yhdistämistyökalut” on lueteltu muutamia ulkoisia vertailu/yhdistämisohjelmia, joita ihmiset käyttävät TortoiseSVN:n kanssa.

Vertailutyökalu

Ulkoista vertailuohjelmaa voidaan käyttää tiedostojen eri versioiden vertaamisen. Ulkoisen ohjelman on kyettävä lukemaan tiedostonimet komentoriviltä samoin kuin muut asetukset. TortoiseSVN käyttää korvausparametreja, jotka alkavat %-merkillä. Kohdatessaan yhden näistä se korvaa sen soveltuvalla arvolla. Parametrien järjestys riippuu käyttämästäsi vertailutyökalusta.

%base

Alkuperäinen tiedosto ilman muutoksiasi

%bname

Kantatiedoston ikkunaotsikko

%nqbname

Kantatiedoston ikkunaotsikko ilman lainausmerkkejä

%mine

Sinun tiedostosi, jossa ovat omat muutoksesi

%yname

Sinun tiedostosi ikkunaotsikko

%nqyname

Sinun tiedostosi ikkunaotsikko ilman lainausmerkkejä

%burl

Tiedoston paikannin, mikäli saatavilla

%nqburl

Tiedoston paikannin, mikäli saatavilla, ilman lainausmerkkejä

%yurl

Toisen tiedoston paikannin, mikäli saatavilla

%nqyurl

Toisen tiedoston paikannin, mikäli saatavilla, ilman lainausmerkkejä

%brev

Alkuperäisen tiedoston versio mikäli saatavilla

%nqbrev

Alkuperäisen tiedoston versio mikäli saatavilla, ilman lainausmerkkejä

%yrev

Toisen tiedoston versio, mikäli saatavilla

%nqyrev

Toisen tiedoston versio, mikäli saatavilla, ilman lainausmerkkejä

%peg

Ankkuriversio, mikäli saatavilla

%nqpeg

Ankkuriversio, mikäli saatavilla, ilman lainausmerkkejä

%fname

Tiedoston nimi. Korvautuu tyhjällä merkkijonolla, mikäli verrataan kahta eri tiedostoa, eikä samaa tiedostoa kahdessa eri tilassa.

%nqfname

TIedoston nimi, ilman lainausmerkkejä

Ikkunaotsikot eivät ole oikeita tiedostonimiä. TortoiseSVN kohtelee niitä näytettävinä niminä ja luo ne sen mukaisesti. Jos vertaat esim. tiedoston foo.txt versiota 123 työkopiosi tiedostoon, ikkunaotsikot ovat foo.txt : versio 123 ja foo.txt : työkopio.

Esimerkkejä: ExamDiff Pro:

C:\Path-To\ExamDiff.exe %base %mine --left_display_name:%bname
    --right_display_name:%yname

tai KDiff3:

C:\Path-To\kdiff3.exe %base %mine --L1 %bname --L2 %yname

tai WinMerge:

C:\Path-To\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine

tai Araxis:

C:\Path-To\compare.exe /max /wait /title1:%bname /title2:%yname
    %base %mine

tai UltraCompare:

C:\Path-To\uc.exe %base %mine -title1 %bname -title2 %yname

tai DiffMerge:

C:\Path-To\DiffMerge.exe -nosplash -t1=%bname -t2=%yname %base %mine

Jos käytät svn:keywords -ominaisuutta avainsanojen laajentamiseen, ja erityisesti tiedoston versiolle, vertaaminen saattaa löytää eron, joka johtuu avainsanan laajennuksesta. Myöskin, jos käytät svn:eol-style = native -asetusta, kantatiedoston (BASE) rivinloppumerkit ovat LF-muodossa, kun taas sinun tiedostosi rivinloppumerkit ovat CR-LF-muodossa. TortoiseSVN piilottaa tällaiset erot tavallisesti automaattisesti jäsentämällä ensin kantatiedoston avainsanojen ja rivinloppumerkkien laajentamiseksi ennen vertailuoperaatiota. Suurille tiedostoille tämä voi kuitenkin vaatia pitkän ajan. Jos Muunna tiedostot vertailtaessa kantaversiota (BASE) vasten on asettamatta, TortoiseSVN ohittaa tämän tiedostojen esikäsittelyvaiheen.

Voit myös määrittää erillisen vertailutyökalun Subversion-ominaisuuksien vertailuun. Koska ne tapaavat olle lyhyitä, yksinkertaisia merkkijonoja, saatat haluta käyttää yksinkertaisempaa vertailuohjelmaa.

Jos olet määritellyt vaihtoehtoisen vertailutyökalun, voit käyttää TortoiseMergeä ja ulkoista työkalua kontekstivalikoista. KontekstivalikkoVertaa käyttää ensisijaista vertailutyökalua ja Shift+KontekstivalikkoVertaa käyttää toissijaista vertailutyökalua.

Ikkunan alaosassa voit määritellä katseluohjelman unified diff -tiedostoille (paikkatiedostot). Parametreja ei tarvita. Oletusasetus on käyttää TortoiseUDiff-ohjelmaa, joka asentuu TortoiseSVN-paketin yhteydessä. TortoiseUDiff osaa värikoodata lisätyt ja poistetut rivit.

Koska Unified Diff on tekstiä, voit halutessasi käyttää suosikkieditoriasi.

Yhdistämistyökalu

Ristiriitojen ratkaisemiseen käytetty ulkoinen yhdistämistyökalu. Parametrit korvataan samaan tapaan kuin vertailutyökalulle.

%base

Alkuperäinen tiedosto ilman sinun tai muiden muutoksia

%bname

Kantatiedoston ikkunaotsikko

%nqbname

Kantatiedoston ikkunaotsikko ilman lainausmerkkejä

%mine

Sinun tiedostosi, jossa ovat omat muutoksesi

%yname

Sinun tiedostosi ikkunaotsikko

%nqyname

Sinun tiedostosi ikkunaotsikko ilman lainausmerkkejä

%theirs

Tiedosto sellaisena kuin se on arkistossa

%tname

Arkistossa olevan tiedoston ikkunaotsikko

%nqtname

Arkistossa olevan tiedoston ikkunaotsikko, ilman lainausmerkkejä

%merged

Ristiriitainen tiedosto, yhdistämisen tulos

%mname

Yhdistetyn tiedoston ikkunaotsikko

%nqmname

Yhdistetyn tiedoston ikkunaotsikko, ilman lainausmerkkejä

%fname

RIstiriidassa olevan tiedoston nimi

%nqfname

Ristiriidassa olevan tiedoston nimi, ilman lainausmerkkejä

Esimerkkejä: Perforce Merge:

C:\Path-To\P4Merge.exe %base %theirs %mine %merged

tai KDiff3:

C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged
    --L1 %bname --L2 %yname --L3 %tname

tai Araxis:

C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname
    /title3:%yname %theirs %base %mine %merged /a2

tai WinMerge (2.8 tai uudempi):

C:\Path-To\WinMerge.exe %merged

tai DiffMerge:

C:\Path-To\DiffMerge.exe -caption=%mname -result=%merged -merge
    -nosplash -t1=%yname -t2=%bname -t3=%tname %mine %base %theirs

Vertailun/yhdistämisen lisäasetukset

Kuva 4.85. Asetusikkuna, Vertailun/yhdistämisen lisäasetukset

Asetusikkuna, Vertailun/yhdistämisen lisäasetukset


Lisäasetuksissa voit määritellä erilaisen yhdistämis- ja vertailuohjelman eri tiedostopäätteille. Voit esimerkiksi määritellä Photoshop-ohjelman vertailuohjelmaksi .jpg-tiedostoille :-) Voit myös kytkeä svn:mime-type -ominaisuuden vertailu- tai yhdistämistyökaluun.

Kytkeäksesi tiedostopäätteen avulla sinun on annettava tiedostopääte. Käytä esim. .bmp-päätettä Windows-kuvatiedostoille. Kytkeäksesi svn:mime-type -ominaisuuden avulla sinun on annettava mime-tyyppi kauttaviivan kanssa, esim. text/xml.

Tallennettujen tietojen asetukset

Kuva 4.86. Asetusikkuna, Tallennetut tiedot

Asetusikkuna, Tallennetut tiedot


Helpottaaksen ohjelman käyttöä TortoiseSVN tallettaa monet käyttämistäsi asetuksista, ja muistaa, mitä olet viimeksi tehnyt. Voit tyhjentää nämä asetukset tällä sivulla.

Paikanninhistoria

Aina kun haet työkopion, yhdistät muutoksia tai käytät arkistoselainta, TortoiseSVN pitää kirjaa viimeksi käytetyistä paikantimista ja tarjoaa niitä pudotusvalikossa. Joskus lista täyttyy vanhentuneista paikantimista, joten se on syytä tyhjentää aika ajoin.

Jos haluat poistaa yksittäisen kohteen jostain pudotusvalikosta, voit tehdä sen komentoa suoritettaessa. Riittää, kun avaat pudotusvalikon, siirrät hiiren poistettavan kohteen päälle ja painat Shift+Del.

Lokiviestit (toimita arkistoon -ikkuna)

TortoiseSVN tallettaa äskettäin syöttämäsi lokiviestit. Ne talletetaan arkistokohtaisesti, joten jos käytät useita arkistoja, luettelo voi kasvaa varsin suureksi.

Lokiviestit (Näytä loki -ikkuna)

TortoiseSVN tallettaa Näytä loki-komennon hakemat lokiviestit säästääkseen aikaa, kun seuraavan kerran avaat lokin. Jos joku muokkaa lokiviestiä, joka on aiemmin talletettu, et näe muutosta, ennen kuin tyhjennät talletetut lokiviestit. Lokiviestien talletus asetetaan päälle Lokiviestien talletus -sivulla.

Ikkunoiden koot ja paikat

Useat ikkunat muistavat niiden viimeksi käytetyn koon ja paikan.

Tunnistustiedot

Kun tunnistaudut Subversion-palvelimelle, käyttäjätunnus ja salasana talletetaan paikallisesti, joten niitä ei tarvitse syöttää toistamiseen. Saatat haluta tyhjentää tiedot turvallisuussyistä, tai koska haluat käyttää arkistoa eri käyttäjätunnuksella ... ja tietääkö Ville, että käytät hänen työasemaansa?

Jos haluat tyhjentää tunnistustiedot vain tietylle palvelimelle, käytä painiketta Tyhjennä... painikkeen Tyhjennä kaikki sijaan.

Toimenpideloki

TortoiseSVN pitää lokia kaikesta edistymisikkunaan kirjoitetuista viesteistä. Tästä voi olla hyötyä, jos haluat esimerkiksi tarkistaa, mitä edellisessä päivityskomennossa tapahtui.

Lokitiedoston pituus on rajoitettu, ja kun se kasvaa liian isoksi, vanhin sisältö poistetaan. Oletusarvoisesti 4000 riviä säilytetään, mutta voit muuttaa arvoa.

Täätä voit katsella lokitiedoston sisältöä ja myös tyhjentää sen.

Lokiviestien talletus

Kuva 4.87. Asetusikkuna, Lokiviestien talletussivu

Asetusikkuna, Lokiviestien talletussivu


Tämän ikkunan avulla voit säätää TortoiseSVN:n lokitietojen talletusominaisuuden toimintaa. Lokitietojen talletus säilyttää paikallisen kopion lokiviesteistä ja muuttuneista poluista välttääkseen aikaa vievät haut palvelimelta. Tämä voi nopeuttaa loki-ikkunan ja versiograafin toimintaa merkittävästi. Toinen hyödyllinen ominaisuus on, että lokiviestejä voi yhä lukea, vaikka yhteyttä arkistoon ei olisi.

Talleta lokiviestit paikallisesti

Tallettaa lokiviestit paikallisesti aina, kun lokitietoja kysytään. Kun asetus on päällä, tiedot haetaan paikallisesti mikäli mahdollista. Puuttuvat viestit noudetaan palvelimelta ja lisätään paikallisesti talletettuihin tietoihin.

Jos lokiviestien talletus ei ole päällä, tiedot haetaan aina suoraan palvelimelta, eikä niitä talleteta paikallisesti.

Salli moniselitteiset paikantimet

Joskus saatat käyttää palvelinta, joka käyttää samaa paikanninta kaikille arkistoille. Esimerkiksi svnbridge-sovelluksen vanhemmat versiot tapasivat tehdä näin. Jotta voit käyttää tällaisia arkistoja, on asetus kytkettävä päälle. Muussa tapauksessa jätä se kytkemättä suorituskyvyn parantamiseksi.

Salli moniselitteiset UUID:t

Jotkut verkkopalvelut antavat kaikille arkistoilleen saman UUID-arvon. Saatat olla tehnyt näin itsekin, jos olet kopioinut arkistokansion luodaksesi uuden arkiston. Tämä ei ole hyvä idea, koska UUID-arvon tulisi olla yksikäsitteinen. Lokivälimuisti toimii kuitenkin yhä, vaikka asetus kytketään päälle. Jos et tarvitse sitä, jätä se kytkemättä suorituskyvyn parantamiseksi.

Jos arkistoon ei saada yhteyttä

Jos työskentelet ilman verkkoyhteyttä tai arkistopalvelin ei ole käytettävissä, paikallisesti talletetut lokiviestit ovat yhä saatavilla. Tiedot eivät tietenkään ole välttämättä ajan tasalla, joten voit valita, haluatko käyttää ominaisuutta.

Kun lokitiedot noudetaan paikallisesti kytkeytymättä palvelimelle, niitä käyttävän ikkunan otsikkorivi ilmoittaa yhteydettömän tilan olevan käytössä.

Aikakatkaisu ennen päivitystä HEAD-versioon.

Loki-ikkunaa avattaessa halutaan yleensä kytkeytyä palvelimelle uusien lokiviestien tarkistamiseksi. Mikäli tässä asetettu aikakatkaisu on jotain muuta kuin nolla, palvelimeen otetaan yhteys vain, kun edellisestä yhteydenotosta on kulunut määritelty aika. Tämä nopeuttaa toimintaa vähentämällä yhteydenottoja palvelimelle, mikäli avaat loki-ikkunan usein ja palvelin on hidas. Toisaalta näytetyt tiedot eivät välttämättä ole täysin ajan tasalla. Jos otat tämän ominaisuuden käyttöön, suosittelemme aikakatkaisuksi arvoa 300 (5 minuuttia).

Ei-aktiivisten päivien lukumäärä, jonka jälkeen pienet välimuistit poistetaan

Jos selaat useita arkistoja, tietokoneeseen tallettuu monia lokivälimuisteja. Jos et käytä niitä aktiivisesti, välimuistit eivät kasva kovin suuriksi, ja TortoiseSVN poistaa ne tietyn ajan jälkeen. Tämä asetus säätää tyhjentämisaikaväliä.

Poistettavien passiivisten välimuistien maksimikoko

Suurempia välimuisteja on työlästä rakentaa uudelleen, joten TortoiseSVN tyhjentää vain pienet välimuistit. Säädä raja-arvoa tällä asetuksella.

Niiden työkaluvirheiden määrä, joiden jälkeen välimuisti poistetaan

Satunnaisesti jotain voi mennä pieleen lokiviestien talletuksessa, aiheuttaen virheen. Jos näin käy, välimuisti poistetaan tavallisesti automaattisesti, jotta ongelma ei toistuisi. Mikäli käytät vähemmän vakaata kehitysversiota, saatat haluta säilyttää välimuistin joka tapauksessa.

Välimuistissa olevat arkistot

Tällä sivulla on lueteltu arkistot, joiden tietoja talletetaan paikallisesti, sekä niiden viemä tila. Jos valitset jonkun arkistoista, voit käyttää niiden alla olevia painikkeita.

Napsauta Päivitä-painiketta rakentaaksesi välimuistin täydellisesti uudestaan ja täyttääksesi mahdolliset aukot. Suurelle arkistolle tämä komento voi viedä kauan, mutta on hyödyllinen, mikäli aiot olla ilman yhteyttä ja haluat parhaan mahdollisen välimuistin.

Napsauta Vie-painiketta viedäksesi koko välimuistin CSV-tiedostoina. Tästä voi olla hyötyä, jos haluat käsitellä lokitietoja ulkoisella ohjelmalla. Se on pääsääntöisesti hyödyllinen vain TortoiseSVN-kehittäjille.

Napsauta Delete-painiketta poistaaksesi välimuistin valituilta arkistoilta. Tämä ei estä paikallista talletusta, joten pyytäessäsi lokitietoja seuraavan kerran välimuisti luodaan uudelleen.

Lokiviestien talletuksen tilastot

Kuva 4.88. Asetusikkuna, Lokiviestien talletuksen tilastot

Asetusikkuna, Lokiviestien talletuksen tilastot


Napsauta Yksityiskohtia-painiketta nähdäksesi tilastotietoja valitulle välimuistille. Useat näytetyistä tiedoista kiinnostavat vain TortoiseSVN-kehittäjiä, joten niitä ei ole kuvattu tässä yksityiskohtaisesti.

RAM

Talletettujen lokitietojen vaatiman muistin määrä.

Levy

Talletettujen lokitietojen vaatima levytilan määrä. Tiedot pakataan, joten levytilan käyttö on yleisesti ottaen melko vaatimatonta.

Yhteys

Näyttää, oliko arkisto saatavilla, kun talletettuja lokitietoja viimeksi käytettiin.

Viimeisin päivitys

Aika, jolloin talletettuja lokiviestejä muutettiin viimeksi.

Viimeisin HEAD-päivitys

Aika, jolloin viimeksi pyydettiin HEAD-versiota palvelimelta.

Tekijöitä

Välimuistiin talletettujen, lokiviestejä kirjoittaneiden tekijöiden lukumäärä.

Polkuja

Lueteltujen polkujen lukumäärä (ne, jotka näkisit komentoriviasiakkaan komennolla svn log -v).

Ohitettuja välejä

Niiden versiovälien määrä, joita ei ole noudettu arkistosta (koska niitä ei ole kysytty). Tämä muttaa talletetuissa tiedoissa olevien reikien määrää.

Suurin versio

Korkein välimuistiin talletettu versionumero.

Versioita

Välimuistiin talletettujen versioiden lukumäärä. Tämä on toinen mittari välimuistin kattavuudelle.

Asiakaspään komentojonot

Kuva 4.89. Asetusikkuna, Komentojonosivu

Asetusikkuna, Komentojonosivu


Tällä sivulla voit määrittää komentojonoja, jotka suoritetaan automaattisesti, kun joitain Subversion-toimintoja suoritetaan. Ero luvussa ”Palvelinpään komentojonot” kuvattuihin komentojonoihin on se, että nämä komentojonot suoritetaan paikallisesti työasemassa.

Eräs sovellus tällaisille komentojonoille voi olla esim. SubWCRev.exe-ohjelman suorittaminen versionumeroiden päivittämiseksi arkistotoimituksen jälkeen, ja ehkäpä myös käännöksen käynnistäminen.

Huomaa, että voit määrittää toimintokomentoja myös käyttämällä työkopion ominaisuuksia. Katso lisätietoja luvusta ”TortoiseSVN-projektin ominaisuudet”.

Kuva 4.90. Asetusikkuna, Määritä komentojonot

Asetusikkuna, Määritä komentojonot


Lisätäksesi uuden komentojonon, napsauta Lisää ja täytä yksityiskohdat.

Nykyisin käytettävissä on seuraavan tyyppisiä komentojonoja

Aloita toimitus

Komentojonoa kutsutaan ennen kuin toimitusikkuna aukeaa. Tämä on tarpeen, jos komentojonosi muuttaa versioituja tiedostoja ja vaikuttaa siten toimitettaviin tiedostoihin ja/tai toimitusviestiin. Huomaa kuitenkin, että koska komentoa kutsutaan varhaisessa vaiheessa, kaikki toimitettaviksi valitut tiedostot eivät ole saatavilla.

Käsikäyttöinen Ennen toimitusta

Tämän asetuksen ollessa voimassa toimitusikkunassa on painike Suorita toiminto, joka käynnistää annetun toimintokomennon. Toimintokomennolle välitetään luettelo valituista tiedostoista ja kansioista sekä lokiviesti.

Tarkista toimitus

Käynnistyy käyttäjän valitessa OK -painikkeen toimitusikkunassa ja ennen kuin toimitusikkuna sulkeutuu. Toimintokomennolle välitetään luettelo valituista tiedostoista. Mikäli komento päättyy virheeseen, toimitusikkuna säilyy aktiivisena.

Mikäli palautettu virheviesti sisältää rivinvaihdoin erotettuja tiedostopolkuja, ne valitaan toimitusikkunassa virheviestin näyttämisen jälkeen.

Ennen toimitusta

Komentojonoa kutsutaan, kun käyttäjä napsauttaa OK toimitusikkunassa, ja ennen kuin varsinainen toimitus alkaa. Komento saa parametrikseen kaikki toimitettaviksi valitut tiedostot.

Päätä toimitus

Kutsutaan, kun toimitus päättyy onnistuneesti.

Käynnistä päivitys

Komentojonoa kutsutaan, ennen kuin päivitä versioon -ikkuna aukeaa.

Ennen päivitystä

Komentojonoa kutsutaan, ennen kuin Subversion-päivitys tai vaihto alkaa.

Päätä päivitys

Komentojonoa kutsutaan, kun päivitys tai vaihto päättyy (myös virheiden sattuessa).

Ennen yhdistämistä

Käynnistetään ennen kuin arkistoyhteys muodostetaan, maksimissaan kerran viidessä minuutissa.

Ennen lukitusta

Suoritetaan ennen kuin tiedosto yritetään lukita.

Lukituksen jälkeen

Suoritetaan tiedoston lukitsemisen jälkeen.

Komentojono määritellään tietylle työkopion polulle. Riittää, kun määrität ylätason polun; jos suoritat toimenpiteen alikansiossa, TortoiseSVN etsii automaattisesti puussa ylöspäin löytääkseen täsmäävän polun.

Seuraavaksi sinun on määriteltävä suoritettava komento (sekä polku sen sijaintihakemistoon). Komento voi olla komentotiedosto, suoritettava tiedosto tai joku muu tiedostotyyppi, jolla on kytkentä tiedostopäätteeseen (esim. perl-komentojono). Huomaa, että komentoa ei voi määritellä UNC-polun avulla, koska Windows-resurssienhallinta ei tietoturvasyistä salli niiden suorittamista.

Komentorivillä voi olla useita parametreja, joille TortoiseSVN antaa arvot. Käytettävissä olevat parametrit riippuvat komentojonotyypistä. Kullakin komentojonolla on omat parametrinsa, jotka välitetään seuraavassa järjestyksessä:

Aloita toimitus

PATHMESSAGEFILECWD

Käsikäyttöinen Ennen toimitusta

PATHMESSAGEFILECWD

Tarkista toimitus

PATHMESSAGEFILECWD

Ennen toimitusta

PATHDEPTHMESSAGEFILECWD

Päätä toimitus

PATHDEPTHMESSAGEFILEREVISIONERRORCWD

Käynnistä päivitys

PATHCWD

Ennen päivitystä

PATHDEPTHREVISIONCWD

Päätä päivitys

PATHDEPTHREVISIONERRORCWDRESULTPATH

Ennen yhdistämistä

no parameters are passed to this script. You can pass a custom parameter by appending it to the script path.

Ennen lukitusta

PATHLOCKFORCEMESSAGEFILECWD

Lukituksen jälkeen

PATHLOCKFORCEMESSAGEFILEERRORCWD

Kunkin muuttujan merkitys on kuvattu alla:

PATH

Polku väliaikaiseen tiedostoon, joka sisältää UTF-8 -muodossa kaikki polut, joille toiminto käynnistettiin. Jokainen polku on omalla rivillään väliaikaisessa tiedostossa.

Huomaa, että etätoimintojen yhteydessä (esim. arkistoselain) polut eivät ole paikallisia tiedostopolkuja vaan paikantimia.

DEPTH

Syvyys, millä toimitus/päivitys tehdään.

Mahdolliset arvot ovat:

-2

svn_depth_unknown

-1

svn_depth_exclude

0

svn_depth_empty

1

svn_depth_files

2

svn_depth_immediates

3

svn_depth_infinity

MESSAGEFILE

Polku tiedostoon, joka sisältää toimituksen lokiviestin UTF8-muodossa. Onnistuneen Aloita toimitus -komentojonon suorituksen jälkeen lokiviesti luetaan takaisin, joten komentojono voi halutessaan muuttaa sitä.

REVISION

Arkiston versio, mihin päivitys tulisi tehdä tai mihin toimitus päättyy.

LOCK

Joko true lukittaessa tai false poistettaessa lukitusta.

FORCE

Joko true tai false riippuen siitä, onko toiminto pakotettu vai ei.

ERROR

Polku tiedostoon, joka sisältää virheilmoituksen. Jos virheitä ei ole, tiedosto on tyhjä.

CWD

Nykyinen työhakemisto, jossa komentojono suoritetaan. Työhakemistoksi asetetaan kaikkien muuttuneiden polkujen yhteinen isähakemisto.

RESULTPATH

Polku väliaikaiseen tiedostoon, joka sisältää UTF-8 -muodossa kaikki polut, joihin toiminto kohdistuu. Jokainen polku on omalla rivillään väliaikaisessa tiedostossa.

Huomaa, että vaikka olemme nimenneet parametrit niiden käytön helpottamiseksi, niitä ei tarvitse mainita komentojonoasetuksissa. Kaikki dokumentoidut parametrit välitetään aina komentojonolle, käytitpä niitä tai et ;-)

Jos haluat Subversion-toiminnon odottavan, kunnes komentojono on päättynyt, ruksaa Odota komennon päättymistä.

Tavallisesti DOS-ikkuna on syytä piilottaa komentojonoa suoritettaessa, joten Piilota komentojono suorituksen aikana on oletusarvoisesti valittuna. Asetus tarvitaan myös, jos komentojono voi palauttaa virheen, jonka tulee keskeyttää operaatio.

The pakottaa flag can be set if the user must not proceed with the operation without running the script, i.e. the script must always run. If the pakottaa flag is not checked, then the user is shown a button Yritä uudelleen ilman toimintokomentoja to retry the operation without running the hook script.

Esimerkkejä toimintokomennoista löytyy TortoiseSVN-arkiston contrib -hekmistosta (”Lisenssi” kertoo, miten arkistoon kytkeydytään).

Testatessasi toimintokomentoja saatat tarvita konsolille tulostamista tai tauon lisäämistä estääksesi konsoli-ikkunaa katoamasta komentojonon päättyessä. Koska I/O on uudelleen ohjattu, tämä ei normaalisti toimi. Voit kuitenkin saada tämän aikaan ohjaamalla syötön ja tulostuksen CON-laitteelle. Esimerkki:

echo Tarkistetaan tilaa > con
pause < con > con

TortoiseSVN-asennuskansiossa on pieni työkalu nimeltä ConnectVPN.exe. Voit käyttää sitä ennen yhdistämistä -tyyppisenä komentona ottaaksesi automaattisesti yhteyden VPN-verkkoon ennen kuin TortoiseSVN yrittää kytkeytyä arkistoon. VPN-yhteyden nimi annetaan työkalulle parametrina.

Kytkeytyminen vikaseurantaohjelmiin

TortoiseSVN voi käyttää COM-modulia kytkeytyäkseen vikaseurantaohjelmaan toimitusikkunasta. Tällaisten ohjelmien käyttö on kuvattu luvussa ”Tiedon saanti vikaseurantaohjelmasta”. Jos järjestelmänvalvojasi on tehnyt tällaisen modulin ja olet asentanut sen, niin täällä määritellään, miten se kytkeytyy työkopioosi.

Kuva 4.91. Asetusikkuna, liittymä vikaseurantaan -sivu

Asetusikkuna, liittymä vikaseurantaan -sivu


Napsauta Lisää... ottaaksesi modulin käyttöön jossain työkopiossa. Täällä voit määritellä työkopion polun, valita käytettävän modulin (pudotusvalikko luettelee kaikki rekisteröidyt vikaseurantamodulit) ja mahdolliset parametrit. Parametrit ovat modulikohtaisia, mutta saattavat sisältää käyttäjätunnuksesi vikaseurantaohjelmassa, jotta moduli kykenee luettelemaan korjattavaksesi määrätyt viat.

Jos haluat kaikkien projektin käyttäjien jakavan saman COM-komponentin, voit määrittää laajennuksen myös ominaisuuksien bugtraq:provideruuid, bugtraq:provideruuid64 ja bugtraq:providerparams avulla.

bugtraq:provideruuid

Tämä ominaisuus määrittää IBugTraqProvider-komponentin COM-tunnisteen (UUID). Esimerkiksi UUID {91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E} kuuluu komponentille Gurtle bugtraq provider, joka toteuttaa kytkennän Google Code -vikaseurantaan.

bugtraq:provideruuid64

Kuten bugtraq:provideruuid, mutta IBugtraqProvider-rajapinnan 64-bittiselle versiolle.

bugtraq:providerparams

Tämä ominaisuus määrittää IBugTraqProvider-rajapinnan parametrit.

Tarkista IBugTraqProvider-laajennoksesi ohjeista, mitkä arvot näihin ominaisuuksiin tulee sijoittaa.

TortoiseBlame-asetukset

Kuva 4.92. Asetusikkuna, TortoiseBlame-sivu

Asetusikkuna, TortoiseBlame-sivu


TortoiseBlamen käyttämiä asetuksia muutetaan pääkontekstivalikosta, ei suoraan TortoiseBlamesta itsestään.

Värit

TortoiseBlame voi käyttää taustaväriä kuvaamaan tiedoston rivien ikää. Asetuksina määritellään värit uusimmalla ja vanhimmalle versiolle, minkä jälkeen TortoiseBlame interpoloi väliin jäävät värit arkistoversion mukaan jokaiselle riville.

Voit määritellä sijaintipalkin värit. Oletusarvoisesti sijaintipalkki käyttää voimakasta kontrastia pitäen pääikkunan värit vaalempina ja helppolukuisampina.

Kirjasin

Voit valita tekstin kirjasimen ja kirjasinkoon. Asetusta käytetään sekä tiedoston sisältöön sekä vasemmassa paneelissa näytettävään tekijä- ja versiotietoon.

Tabulaattorit

Määrittää, kuinka monella välilyönnillä tabulaattorimerkki korvataan, kun sellainen löytyy tiedostosta.

TortoiseUDiff-asetukset

Kuva 4.93. Asetusikkuna, TortoiseUDiff-sivu

Asetusikkuna, TortoiseUDiff-sivu


TortoiseUDiff-ohjelman asetukset muutetaan pääkontekstivalikosta, ei suoraan itse ohjelmasta.

Värit

TortoiseUDiff-ohjelman oletusvärit ovat yleensä ok, muta voit muuttaa niitä täällä.

Kirjasin

Voit valita tekstin näyttämiseen käytetyn kirjasimen ja pistekoon.

Tabulaattorit

Määrittää, kuinka moneksi välilyönniksi TAB-merkki laajennetaan tiedostovertailussa.

TSVN-asetusten vienti

Kuva 4.94. Asetusikkuna, synkronointisivu

Asetusikkuna, synkronointisivu


Voit synkronoida kaikki TortoiseSVN-asetukset salattuun tiedostoon. Tiedosto salataan antamallasi salasanalla, joten sen voi huoletta tallettaa esimerkiksi OneDrive, GDrive tai DropBox -pilvipalveluihin.

Kun polku ja salasana annetaan, TortoiseSVN synkronoi kaikki asetukset automaattisesti ja pitää ne jatkossa synkronoituina.

Voit myös viedä/tuoda salattuja asetustiedostoja käsin. Tällöin asetustiedoston sijaintipolku ja salasana kysytään.

Kun viet asetukset käsin, voit myös halutessasi sisällyttää mukaan paikalliset asetukset, jotka eivät kuulu normaalin viennin tai synkronoinnin piiriin. Paikalliset asetukset sisältävät työasemakohtaisia polkuja, kuten esimerkiksi vertailu- ja yhdistämikomentojen sekä komentojonojen sijaintipaikat.

Lisäasetukset

Asetusikkunan lisäasetukset-sivulla voi muokata muutamia harvoin käytettyjä asetuksia. Nämä asetukset muuttavat Windows-rekisteriä suoraan, ja sinun on syytä tietää, mihin niitä käytetään ennen kuin muokkaat niitä. Älä muuta asetuksia, ellet ole varma, että se on tarpeen.

AllowAuthSave

Joskus useampi käyttäjä käyttää samaa käyttäjätiliä samalla tietokoneella. Tällöin tunnistustietojen tallettaminen ei ole järkevää. Arvo false estää Talleta tunnistustiedot -valinnan käytön tunnistusikkunassa.

AllowUnversionedObstruction

Mikäli päivitys lisää arkistosta uuden tiedoston, joka on jo olemassa työkopiossa versioimattomana tiedostona, oletustoiminta on säilyttää paikallinen tiedosto ja näyttää se (mahdollisesti) muutettuna versiona arkiston tiedostosta. Jos haluat, että TortoiseSVN luo tällaisessa tilanteessa ristiriidan, aseta arvoksi false.

AlwaysExtendedMenu

Kuten Windows-resurssienhallinta, TortoiseSVN näyttää ylimääräisiä komentoja, mikäli Shift-näppäin on painettuna kontekstivalikkoa avattaessa. Pakottaaksesi TortoiseSVN:n näyttämään ylimääräiset komennot aina, aseta arvoksi true.

AutoCompleteMinChars

Minimimäärä merkkejä, jonka täytyttyä ehdotetaan automaattista täydennystä. Oletusarvo on 3.

AutocompleteRemovesExtensions

Toimitusikkunan automaattinen täydennys näyttää arkistoon toimitettavien tiedostojen nimiä. Sisällyttääksesi mukaan myös nimet ilman päätteitä, aseta arvoksi true.

BlockPeggedExternals

Kiinnitettyyn versioon ankkuroituja ulkoisia tiedostoviitteitä (engl. file externals) ei oletusarvoisesti valita toimitettavaksi arkistoon. Tämä siitä syystä, että seuraava päivitys peruisi muutokset, ellei ankkuriversiota muuteta.

Aseta arvoksi false, mikäli kuitenkin haluat toimittaa muutokset ulkoisiin tiedostoviittauksiin.

BlockStatus

Jos et halua Resurssienhallinnan päivittävän kuvakepäällyksiä TortoiseSVN-komentojen aikana (esim. Päivitä, Toimita, ...), voit asettaa arvoksi true.

CacheTrayIcon

Lisätäksesi ilmoitusalueelle kuvakkeen, joka kertoo TSVNCache-ohjelman tilatiedot, aseta arvoksi true. Tästä on varsinaisesti hyötyä vain virhetilanteiden selvittämisessä.

ColumnsEveryWhere

TortoiseSVN:n Resurssienhallintaan lisäämät ylimääräiset sarakkeet ovat normaalisti käytettävissä vain työkopioissa. Jos haluat ne saataville kaikkialla, aseta sen arvoksi true. Huomaa, että lisäsarakkeet ovat näkyvissä vain Windows XP:ssä. Myöhemmät Windows-versiot eivät enää tue tätä ominaisuutta, tosin jotkut kolmannen osapuolen tekemät Resurssienhallinnan korvaajat tukevat tätä myös uudemmissa Windows-versioissa.

ConfigDir

Täällä voit määritellä uuden sijainnin Subversion-määritystiedostolle. Tämä vaikuttaa kaikkiin TortoiseSVN-toimintoihin.

CtrlEnter

Useimmissa TortoiseSVN-ikkunoissa voi käyttää näppäinyhdistelmää Ctrl+Enter ikkunan sulkemiseksi (vrt. OK-painike). Mikäli haluat estää tämän, aseta arvoksi false.

Debug

Aseta tämä arvoon true mikäli haluat jokaisen komennon avaavan ikkunan, jossa näytetään TortoiseProc.exe-ohjelman käynnistysparametrit.

DebugOutputString

Aseta tämä arvoon true, mikäli haluat, että TortoiseSVN tulostaa virhejäljitysviestejä suorituksen aikana. Viestit voidaan näyttää vain erityisellä työkalulla.

DialogTitles

Ikkunaotsikoiden oletusmuoto(arvo 0) on paikannin/polku - ikkunan nimi - TortoiseSVN. Jos asetat tämäm arvoksi 1, muodoksi tulee ikkunan nimi - paikanin/polku - TortoiseSVN.

DiffBlamesWithTortoiseMerge

TortoiseSVN sallii ulkoisen vertailutyökalun käytön. Useimmat tällaiset työkalut eivät kuitenkaan sovellu tekijätietojen selvittämiseen (”Vertaa ja selvitä tekijät”), joten saatat tällöin haluta palata käyttämään TortoiseMergeä. Tehdäksesi tämän, aseta arvoksi true.

DlgStickySize

Tämä arvo määrittää, kuinka lähellä reunaa ikkunan on oltava, jotta se tarttuu siihen. Oletusarvo on 3 pikseliä. Tarttuminen estetään asettamalla arvoksi nolla.

FixCaseRenames

Jotkut sovellukset muuttavat tiedostonimien kirjaintasoa, vaikka moinen ei oikeasti ole tarpeellista tai haluttua. Jos esimerkiksi tiedoston file.txt nimi muuttuu muotoon FILE.TXT, tavalliset Windows-sovellukset toimivat sen suhteen samalla tavalla. Subversion-ympäristössä kirjaintasolla on kuitenkin merkitys. Tästä syystä TortoiseSVN korjaa tällaiset muutokset automaattisesti.

Jos haluat kytkeä tällaisten muutosten automaattisen korjauksen pois päältä, voit asettaa ominaisuuden arvoksi false.

FullRowSelect

Useissa ikkunoissa (esim. toimitus, arkiston tilan tarkistus, lisäys, palautus jne.) käytetty tilalistakontrolli käyttää koko rivin valintaa (ts. valitessasi kohteen, koko rivi korostetaan, ei vain ensimmäistä saraketta). Joskus valittu rivi peittää oikeassa alakulmassa olevan taustakuvan, mikä voi näyttää rumalta. Poistaaksesi koko rivin valinnan käytöstä, aseta arvoksi false.

GroupTaskbarIconsPerRepo

Tämä valinta määrittää, miten TortoiseSVN-ikkunoiden kuvakkeet ryhmitellään Windows 7 -tehtäväpalkissa. Tämä valinta ei tee mitään Windows Vistassa!

  1. Oletusarvo on 0. Tällöin kuvakkeet ryhmitellään sovellustyypin perusteella. Kaikki TortoiseSVN-ikkunat kuuluvat omaan ryhmäänsä, kaikki TortoiseMerge-ikkunat kuuluvat omaan ryhmäänsä, ...

    Kuva 4.95. Tehtäväpalkki oletusryhmityksellä

    Tehtäväpalkki oletusryhmityksellä


  2. Mikäli arvona on 1, sovelluksen ikkunat ryhmitellään yhteen arkiston mukaan. Jos sinulla on esimerkiksi avoinna loki-ikkuna ja toimitusikkuna arkistoon A sekä tarkista muutokset -ikkuna arkistoon B, Windows 7 -tehtäväpalkissa näytetään kaksi sovelluskuvakeryhmää, yksi kummallekin arkistolle. TortoiseMerge-ikkunoita ei kuitenkaan ryhmitellä yhteen TortoiseSVN-ikkunoiden kanssa.

    Kuva 4.96. Tehtäväpalkki arkistoryhmityksellä

    Tehtäväpalkki arkistoryhmityksellä


  3. Mikäli arvona on 2, ryhmittely toimii samoin kuin arvolla 1, sillä poikkeuksella että TortoiseSVN, TortoiseMerge, TortoiseBlame, TortoiseIDiff ja TortoiseUDiff -ikkunat ryhmitellään yhteen. Jos sinulla on esimerkiksi toimitusikkuna avoinna ja kaksoisnapsautat muuttunutta tiedostoa, vertailun suorittava TortoiseMerge-ikkuna sijoitetaan tehtäväpalkissa samaan kuvakeryhmään kuin toimitusikkuna.

    Kuva 4.97. Tehtäväpalkki arkistoryhmityksellä

    Tehtäväpalkki arkistoryhmityksellä


  4. Mikäli arvona on 3, ryhmittely toimii samoin kuin arvolla 1, mutta ryhmittely tehdään työkopion perusteella. Tästä on hyötyä, jos kaikki projektisi ovat samassa arkistossa, mutta käytät eri työkopioita kullekin projektille.

  5. Mikäli arvona on 4, ryhmittely toimii samoin kuin arvolla 2, mutta ryhmittely tehdään työkopion, ei arkiston perusteella.

GroupTaskbarIconsPerRepoOverlay

Tällä ei kuitenkaan ole merkitystä, mikäli valinnan GroupTaskbarIconsPerRepo arvona on 0 (ks. yllä).

Kun tämä valitsin on asetettu arvoon true, Windows 7 -ympäristön tehtäväpalkin kuvakkeisiin lisätään pieni värillinen päällys, joka kertoo, mihin arkistoon ikkunat liittyvät.

Kuva 4.98. Tehtäväpalkin ryhmittely arkistoväripäällyksillä

Tehtäväpalkin ryhmittely arkistoväripäällyksillä


HideExternalInfo

Mikäli arvona on false, jokainen svn:externals näytetään päivityksen aikana erikseen.

Mikäli arvona on true (oletus), ulkoisten viitteiden päivitystiedot näytetään vain, mikäli päivitys koskee viitteisiin, ts. muuttaa niitä jotenkin. Muutoin mitään viestiä ei näytetä (vrt. normaalit tiedostot ja kansiot.)

HookCancelError

If this is set to true, then cancelling the dialog to approve a hook script to run will show an error dialog indicating the user cancelled.

IncludeExternals

Oletusarvoisesti TortoiseSVN sisällyttää aina päivitykseen ulkoiset viittaukset (svn:external). Tämä välttää epäkonsistenteista työkopioista aiheutuvat ongelmat. Jos kuitenkin käytät useita ulkoisia viittauksia, päivitys voi kestää kauan. Aseta arvoksi false, jotta päivitys jättää ulkoiset viittaukset huomioimatta. Tämän asetuksen ollessa voimassa voit päivittää ulkoiset viittaukset komennolla Päivitä versioon... tai asettamalla arvoksi jälleen true.

LogFindCopyFrom

Kun loki-ikkuna avataan yhdistämisen aikana, aiemmin yhdistetyt versiot näytetään harmaina. Haaran luontia edeltävät versiot näytetään myös. Nämä versiot näytetään mustina, koska niitä ei voi yhdistää.

Mikäli tämä valinta on asetettu arvoon true, TortoiseSVN koettaa löytää version, jollon haara luotiin, ja piilottaa kaikki sitä edeltävät versiot. Koska tähän voi mennä aikaa, valinta on oletusarvoisesti kytketty pois. Valinta ei myöskään toimi kaikkien SVN-palvelimien kanssa (esim. Google Code Hosting, ks. issue #5471).

LogMultiRevFormat

Muotoilumerkkijono lokiviesteille, kun loki-ikkunassa on valittuna useita versioita.

Voit käyttää seuraavia muuttujia muotoilumerkkijonossasi:

%1!ld!
korvautuu versionumerotekstillä
%2!s!
korvautuu version lyhyellä lokiviestillä
LogStatusCheck

Loki-ikkuna näyttää työkopion polun lihavoituna. Tämä vaatii polun tilan selvittämistä arkistokyselyn avulla, mikä voi olla kallis operaatio suurille työkopioille. Mikäli haluat kytkeä ominaisuuden pois päältä, aseta arvoksi false.

MaxHistoryComboItems

Paikantimien ja polkujen pudotusvalikko näyttää viimeksi käytetyt paikantimet ja polut. Tämä asetus määrittää historiatietojen määrän. Oletusarvo on 25.

MergeLogSeparator

Kun yhdistät versioita toisesta haarasta ja yhdistämisjäljitystiedot ovat saatavilla, yhdistettävien versioiden lokiviestit kerätään yhteen muodostamaan lokiviesti itse yhdistämiselle. Yhdistettyjen versioiden lokiviestit erotellaan ennalta määritellyllä merkkijonolla, jonka voit määrittää tässä.

NumDiffWarning

Mikäli haluat vertailla useampaa tiedostoa kuin mitä tämä asetus määrittää, ohjelma pyytää erillisen varmistuksen. Oletusarvo on 10.

OldVersionCheck

TortoiseSVN tarkistaa kerran viikossa, onko ohjelmasta olemassa uutta versiota. Mikäli uudempi versio löytyy, toimitusikkuna näyttää linkin, jossa kerrotaan tästä. Mikäli haluat käyttää vanhaa toimintoa, jossa uudesta versiosta kerrotaan erillisessä ikkunassa, aseta arvoksi true.

RepoBrowserTrySVNParentPath

Arkistoselain koettaa noutaa arkistolistauksen sisältävän verkkosivun, jonka SVN-palvelin luo SVNParentPath-asetuksella. Poistaaksesi toiminnon käytöstä aseta arvoksi false.

ScintillaBidirectional

Tämä valinta kytkee toimitusviestin muokkauskontrollin kaksisuuntaiseen tilaan. Mikäli sallittu, myös oikealta vasemmalle kirjoitettavien kielten muokkaus toimii. Koska ominaisuus hidastaa toimintaa, se on oletusarvoisesti kytketty pois päältä. Voit kytkeä ominaisuuden päälle asettamalla arvoksi true.

ScintillaDirect2D

Tämä valinta asettaa päälle Direct2D-kiihdytyksen Scintilla-kontrollissa, jota käytetään esim. toimitusikkunan lokiviestin muokkauskentässä ja unified diff-katseluohjelmassa. Joillakin näyttökorteilla tämä ei toimi luotettavasti, ja esim. kohdistin voi hävitä. Jos näin käy, voit asettaa kiihdytyksen pois päältä asettamalla ominaisuuden arvoksi false.

OutOfDateRetry

Tämä asetus määrittää, miten TortoiseSVN toimii, jos toimitus epäonnistuu siitä syystä, että työkopio on vanhentunut:

0

Käyttäjältä kysytään, päivitetäänkö työkopio vai ei, ja toimitusikkunaa ei avata uudelleen päivityksen jälkeen.

1

Oletustoiminta. Käyttäjältä kysytään, päivitetäänkö työkopio vai ei, ja toimitusikkuna avataan uudelleen päivityksen jälkeen, jolloin käyttäjä voi suoraan jatkaa arkistoon toimitusta.

2

Kuten 1, mutta sen sijaan, että päivitettäisiin vain toimitukseen sisältyvät polut, päivitys tehdään koko työkopiolle. Tämä auttaa pitämään työkopion yhtenäisenä.

3

Käyttäjää ei pyydetä päivittämään työkopiota. Toimitus epäonnistuu "vanhentunut työkopio" -virheen kera.

PlaySound

Mikäli arvona on true, TortoiseSVN toistaa systeemiäänen, jos on tarpeen antaa virheilmoitus, varoitus tai jokin muu tärkeä viesti. Asetuksen arvo false poistaa ääniefektit. Huomaa, että projektimonitorilla on oma ääniasetus, jota voi säätää sen omissa asetuksissa.

ShellMenuAccelerators

TortoiseSVN käyttää pikanäppäimiä Resurssienhallinnan kontekstivalikoiden komennoille. Tämän seurauksena joillakin komennoilla voi olla sama pikanäppäin. Mikäli et tarvitse pikanäppäimiä TortoiseSVN-komennoille, aseta arvoksi false.

ShowContextMenuIcons

Tästä voi olla hyötyä, jos käytät jotain muuta ohjelmaa kuin Windows-resurssienhallinta, tai jos kontekstivalikko ei näy oikein. Aaseta arvoksi false, jos et halua, että TortoiseSVN näyttää kuvakkeita kontekstivalikossa. Aseta arvoksi true näyttääksesi kuvakkeet uudelleen.

ShowAppContextMenuIcons

Mikäli et halua TortoiseSVN:n käyttävän kuvakkeita omissa kontekstivalikoissaan, aseta tämä arvoon false.

ShowNotifications

Aseta arvoksi false, mikäli et halua projektiseurannan näyttävän ilmoituksia, kun uusia arkistotoimituksia havaitaan.

StyleCommitMessages

Toimitus- ja loki-ikkuna käyttävät tyylejä (esim. lihavointia ja kursivointia) toimitusviesteissä (ks. ”Toimituksen lokiviestit”). Jos et halua tätä. aseta arvoksi false.

UpdateCheckURL

Arvo sisältää paikantimen, mista TortoiseSVN koettaa noutaa tekstitiedoston, josta selviää, onko päivityksiä saatavilla. Tästä voi olla hyötyä yrityksissä, missä käyttäjien halutaan päivittävän TortoiseSVN-ohjelman hallitusti.

UseCustomWordBreak

TortoiseSVN käyttää omaa muokkauskontrollia, joka osaa esim. pysähtyä polkujen ja paikantimien sisältämien '/'-merkkien kohdalla. Jos haluat käyttää vakiomuokkauskontrollia, aseta arvoksi 0. Mikäli haluat käyttää vakiomuokkauskontrollia vain pudotusvalikoiden yhteydessä, aseta arvoksi 1.

VersionCheck

TortoiseSVN tarkistaa kerran viikossa, onko ohjelmasta olemassa uutta versiota. Mikäli haluat estää tarkistuksen, aseta arvoksi false.

Lopuksi

Luku 5. Projektiseurain

Projektiseurain on työkalu. joka tarkkailee arkistoja ja ilmoittaa niissä tapahtuneista uusista toimituksista.

Projekteja voidaan asettaa seurantaan työkopiopolun tai suoraan arkistopaikantimen avulla.

Projektiseurain käy läpi kunkin projektin ennalta määritellyin väliajoin ja ilmoittaa aina, kun uusia toimituksia havaitaan. Ilmoitusalueen kuvake päivittyy myös ilmoittamaan uusista toimituksista.

Snarl

Mikäli Snarl on asennettu ja aktiivinen, projektiseurain käyttää automaattisesti sitä näyttämään ilmoitukset uusista toimituksista.

Projektien lisääminen seurantaan

Kun projektiseurain käynnistetään ensimmäistä kertaa, vasemmalla oleva puunäkymä on tyhjä. Napsauta ikkunan yläosassa olevaa Lisää projekti -painiketta lisätäksesi projekteja seurantaan.

Kuva 5.1. Projektiseuraimen projektinmuokkausikkuna

Projektiseuraimen projektinmuokkausikkuna


Täytä tarvittavat tiedot lisätäksesi projektin seurantaan. Ainoastaan projektin nimi on pakollinen.

Mikäli kenttä Polku tai paikannin on tyhjä, lisätään kansio. Tätä voidaan käyttää ryhmittämään seurattavia projekteja.

Mikäli haluat seurata kaikkia arkistoja, jotka ovat käytettävissä SVNParentPath direktiivin kautta, syötä arkistojesi juuripaikannin ja valitse asetusPaikannin viittaa SVNParentPath-listaan.

Kenttiä Käyttäjä ja Salasana tulee käyttää vain, jos arkisto ei tarjoa anonyymiä lukuoikeutta ja Subversion itse ei tallenna todennustietoja. Jos käytät seuraamaasi arkistoa TortoiseSVN-ohjelmalla tai muilla svn-asiakasohjelmlla, ja olet jo tallentanut todennustiedot, jätä kentät tyhjiksi: tällöin et joudu muokkaamaan projekteja käsin salasanan muuttuessa.

Asetus Tarkistusväli minuuteissa määrittää, kuinka usein tarkistus tehdään. Pienin väli on yksi minuutti.

tarkistusväli

Mikäli useat käyttäjät seuraavat samaa arkistoa, ja palvelimen kuormitus lisääntyy liiaksi, ylläpitäjä voi asettaa pienimmän sallitun tarkistusvälin tiedostoon svnrobots.txt. Projektiseurannan verkkosivustolla on tarkempi kuvaus siitä, miten tämä tapahtuu:

https://tools.stefankueng.com/svnrobots.html

Seurantaikkuna

Kuva 5.2. Projektiseuraimen pääikkuna

Projektiseuraimen pääikkuna


Projektiseurain näyttää kaikki seuratut projektit vasemmalla olevassa puunäkymässä. Projekteja voidaan siirtää puussa vapaasti, vaikkapa toisen projektin aliprojektiksi.

Projektia napsauttamalla näet kaikki sen lokiviestit oikealla.

Projektit, joissa on päivityksia, näytetään lihavoituina; uusien toimitusten määrä ilmoitetaan hakasuluissa oikealla. Projektin napsauttaminen merkitsee sen automaattisesti luetuksi.

Päätoiminnot

Projektiseurainta käytetään ikkunan yläosassa olevan työkalurivin avulla.

Tarkista nyt

Tällä painikkeella kaikkien seurattujen projektien tila tarkistetaan välittömästi riippumatta niille asetetusta tarkistusvälistä. Huomaa, että mahdolliset ilmoitukset näytetään vasta, kun kaikki projektit on tarkistettu.

Lisää projekti

Avaa ikkunan uuden projektin lisäämikseksi seurantaan.

Muokkaa

Avaa asetusikkunan valitulle projektille.

Poista

Poistaa valitun projektin seurannasta lisävahvistuksen jälkeen.

Merkitse kaikki luetuksi

Merkitsee kaikkien seurattujen projektien kaikki versiot luetuiksi. Huomaa, että valitun projektin lukemattomat versiot merkitään automaattisesti luetuiksi, kun valitset toisen projektin.

Mikäli pidät Shift-näppäimen pohjassa painiketta napsauttaessasi, kaikki mahdolliset virhetilat nollataan.

Päivitä kaikki

Suorittaa Päivitä -komennon kaikille seuratuille projekteille. Pelkän paikantimen välityksellä seurattuja projekteja ei päivitetä, vaan projektilla on oltava paikallinen työkopio.

Asetukset

Avaa ikkunan, jossa projektiseuraimen asetuksia voi säätää.

Luku 6. SubWCRev

SubWCRev on Windows-konsoliohjelma, jota voidaan käyttää lukemaan Subversion-työkopion tila ja mahdollisesti suorittamaan avainsanojen korvaus kaavaintiedostossa. Tätä käytetään usein osana ohjelmiston rakennusprosessia keinona kytkeä työkopion tilatieto rakennettavaan ohjelmaan. Tyypillisesti sitä voitaisiin käyttää esim. sisällyttämään versionumero Tietoa-ikkunaan.

SubWCRev-komentorivi

SubWCRev lukee työkopion kaikkien tiedostojen Subversion-tilan, ohittaen oletusarvoisesti ulkoiset viittaukset. Se tallettaa korkeimman löydetyn versionumeron ja sen aikaleiman; lisäksi talletetaan tieto siitä, onko työkopiossa paikallisia muutoksia tai useita päivitysversioita. Versionumero, päivitysversioväli ja muutostila tulostuvat konsolille.

SubWCRev.exe -ohjelmaa kutsutaan komentoriviltä tai komentojonosta, ja sitä voidaan ohjata seuraavilla valitsimilla:

SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]

WorkingCopyPath on polku tarkistettavana olevaan työkopioon. Voit käyttää SubWCRev-komentoa ainoastaan työkopioihin, ei suoraan arkistoon. Polku voi olla absoluuttinen tai suhteessa nykyiseen työhakemistoon.

Jos haluat, että SubWCRev korvaa avainsanat, jotta sellaiset kentät kuten esim. arkistoversio ja paikannin tallettuvat tekstitiedostoon, sinun on annettava kaavaintiedosto SrcVersionFile sekä tulostiedosto DstVersionFile, joka sisältää kaavaimen sisällön laajennettuna.

SubWCRev kykenee ohittamaan halutut tiedostot tai polut. Ohituslausekkeet luetaan tiedostosta, jonka nimi on .subwcrevignore. Tiedosto voidaan lukea annetusta polusta tai työkopion juuresta. Mikäli tiedostoa ei löydy, mitään tiedostoja tai polkuja ei ohiteta. Tiedosto .subwcrevignore voi sisältää useita rivinvaihdolla eroteltuja ohituslausekkeita. Lausekkeet täsmätään arkiston juureen sekä .subwcrevignore -toedpstpm polkuun nähden suhteellisten polkujen kanssa. Esimerkki: Ohittaaksesi kaikki tiedostot TortoiseSVN-projektin doc -kansiosta aseta ohituslausekkeet seuraavasti:

/trunk/doc
/trunk/doc/*

Tai, olettaen, että tiedosto .subwcrevignore on päähaaran työkopion juuressa, sama tulos saadaan lausekkeilla

doc
doc/*

Ohittaaksesi kaikki kuvat, ohituslausekkeet voidaan määritellä seuraavasti:

*.png
*.jpg
*.ico
*.bmp

Tärkeää

Samoin kuin Subversionissa yleensä, ohituslausekkeissa isot ja pienet kirjaimet tarkoittavat eri asioita.

Vihje

Luodaksesi pisteellä alkavan tiedostonimen Windows-resurssienhallinnassa, anna nimeksi .subwcrevignore.. Huomaa piste lopussa.

On olemassa useita valitsimia, jotka vaikuttava SubWCRev-komennon toimintaan. Jos käytät useampaa kuin yhtä, ne on määritettävä yhtenä ryhmänä, esim. -nm, ei -n -m.

Taulu 6.1. Lista käytettävissä olevista komentorivivalitsimista

VaihdaKuvaus
-nJos tämä valitsin on annettu, SubWCRev palauttaa arvon ERRORLEVEL 7 jos työkopiossa on paikallisia muutoksia. Tätä voidaan käyttää esim. estämään ohjelman käännös, jos työkopiosta löytyy toimittamattomia muutoksia.
-NJos tämä valitsin on annettu, SubWCRev palauttaa arvon ERRORLEVEL 11, jos työkopio sisältää versioimattomia tiedostoja, joita ei olla ohitettu.
-mJos tämä valitsin on annettu, SubWCRev palauttaa arvon ERRORLEVEL 8, jos työkopio sisältää useita versioita. Tätä voidaan käyttää esim. estämään käännös osittain päivitetylle työkopiolle.
-dJos tämä valitsin on annettu, SubWCRev palauttaa arvon ERRORLEVEL 9, jos kohdetiedosto on jo olemassa.
-fJos tämä valitsin on annettu, SubWCRev sisällyttää tuloksiin kansioiden viimeksi muutetun version. Oletusarvoisesti vain tiedostot otetaan huomioon versionumeroita haettaessa.
-eJos tämä valitsin on annettu, SubWCRev tutkii hakemistot, jotka on lisätty komennolla svn:externals, mutta vain, jos ne ovat samasta arkistosta. Oletustoiminta on ohittaa ulkoiset viittaukset.
-EKuten -e, mutta ohittaa ulkoiset viitteet, joilla on kiinteä versio, mikäli niiden versioväli on pelkästään ominaisuuksissa määritelty versio. Tämä ei siis johda sekaversioihin,
-xJos tämä valitsin on annettu, SubWCRev näyttää versionumeron heksadesimaalisena.
-XJos tämä valitsin on annettu, SubWCRev näyttää versionumeron heksadesimaalisena etuliitteen '0X' kanssa.
-FKun tämä valitsin on annettu, SubWCRev ohittaa kaikki .subwcrevignore-tiedostot ja sisällyttää kaikki muut tiedostot.
-qJos tämä valitsin on annettu, SubWCRev suorittaa avainsanojen korvaamisen näyttämättä työkopion tilatietoja.


Onnistuessaan SubWCRev palauttaa arvon nolla. Virheen sattuessa virheviesti kirjoitetaan konsoli-ikkunan stderr-virtaan. Mahdolliset virhekoodit onvat seuraavat:

Taulu 6.2. Luettelo SubWCRev-virhekoodeista

VirhekoodiKuvaus
1Muotovirhe. Ainakin yksi komentoriviparametri on väärin.
2Komentorivillä annettua tiedostoa tai kansiota ei löydy.
3Lähdetiedoston avaus tai kohdetiedoston luonti epäonnistui.
4Muistin varaus epäonnistui. Mahdollinen syy voi olla liian suuri lähdetiedosto.
5Lähdetiedoston jäsennystä ei voitu tehdä ongelmitta.
6SVN-virhe: Subversion raportoi virheen, kun SubWCRev pyysi tietoja työkopiosta.
7Työkopiossa on paikallisia muutoksia. Tämä vaatii valitsimen -n käyttöä.
8Työkopiossa on useita versioita, Tämä vaatii valitsimen -m käyttöä.
9Kohdetiedosto on jo olemassa. Tämä vaatii valitsimen -d käyttöä.
10Annettu polku ei ole työkopio tai sen osa.
11Työkopiossa on versioimattomia tiedostoja tai kansioita. Tämä vaatii valitsimen -N käyttöä.


Avainsanojen korvaus

Jos lähde- ja kohdetiedostot on annettu, SubWCRev kopioi lähdetiedoston kohdetiedostoksi, suorittaen samalla avainsanojen laajennuksen seuraavasti:

Taulu 6.3. Luettelo käytettävissä olevista avainsanoista

AvainsanaKuvaus
$WCREV$Korvataan työkopion korkeimmalla versionumerolla.
$WCREV&$Korvataan työkopion suurimalla versionumerolla, leikaten merkkiä & seuraavalla arvolla. Esimerkki: $WCREV&0xFFFF$
$WCREV-$, $WCREV+$Korvataan työkopion suurimalla versionumerolla, johon lisätään (+) tai poistetaan (-) seuraava arvo. Esimerkki: $WCREV-1000$
$WCDATE$, $WCDATEUTC$Korvataan korkeimman version toimitusaikaleimalla. Oletusarvoisesti käytetään kansainvälistä muotoa yyyy-mm-dd hh:mm:ss. Vaihtoehtoisesti voit määritellä oman muodon, jota käytetään funktion strftime() kanssa. Esimerkki: $WCDATE=%a %b %d %I:%M:%S %p$. Luettelo tuetuista ohjausmerkeistä löytyy osoitteesta web-käyttöohje.
$WCNOW$, $WCNOWUTC$Korvataan järjestelmän nykyisellä päiväyksellä ja kellonajalla. Tätä voidaan käyttää esim. määrittämään käännösaika. Ajan muotoilu kuten $WCDATE$ yhteydessä.
$WCRANGE$Korvataan työkopion päivitysversiovälillä. Jos työkopio on yhtenäinen, tuloksena on yksi versio. Jos työkopio sisältää eri versioita (johtuen siitä, että se ei ole ajan tasalla, tai päivitä-versioon -komennosta), niin versioväli näytetään muodossa 100:200.
$WCMIXED$$WCMIXED?TText:FText$ korvataan muodolla TText mikäli työkopiossa on useita versioita, tai muodolla FText jos näin ei ole.
$WCMODS$$WCMODS?TText:FText$ korvataan muodolla TText jos työkopiossa on paikallisia muutoksia, tai muodolla FText jos näin ei ole.
$WCUNVER$$WCUNVER?TText:FText$ korvataan muodolla TText mikäli työkopiossa on versioimattomia tiedostoja, tai muodolla FText jos näin ei ole.
$WCEXTALLFIXED$$WCEXTALLFIXED?TText:FText$ korvataan tekstillä TText mikäli kaikki ulkoiset viitteet on sidottu kiinteään versioon, tai tekstillä FText mikäli näin ei ole.
$WCISTAGGED$$WCISTAGGED?TText:FText$ korvataan tekstillä TText mikäli arkistopaikannin viittaa merkittyyn versioon, tai tekstillä FText jos näin ei ole.
$WCURL$Korvataan sen arkiston paikantimella, josta tiedoston työkopio on peräisin.
$WCINSVN$$WCINSVN?TText:FText$ korvataan tekstillä TText mikäli alkio on versioitu, tai tekstillä FText jos näin ei ole.
$WCNEEDSLOCK$$WCNEEDSLOCK?TText:FText$ korvataan tekstillä TText jos alkion svn:needs-lock-ominaisuus on asetettu, tai tekstillä FText jos näin ei ole.
$WCISLOCKED$$WCISLOCKED?TText:FText$ korvataan tekstillä TText jos alkio on lukittu, tai tekstillä FText jos näin ei ole.
$WCLOCKDATE$, $WCLOCKDATEUTC$Korvataan lukituspäiväyksellä. Ajan esitystä voidaan käyttää kuten $WCDATE$ yhteydessä.
$WCLOCKOWNER$Korvataan lukon omistajan nimellä.
$WCLOCKCOMMENT$Korvataan lukituskommentilla.
$WCUNVER$$WCUNVER?TText:FText$ korvataan muodolla TText mikäli työkopiossa on versioimattomia tiedostoja/kansioita, tai muodolla FText jos näin ei ole.


SubWCRev ei suoraan tue sisäkkäisä lausekkeita, joten et voi käyttää esimerkiksi seuraavaa lauseketta:

#define SVN_REVISION    "$WCMIXED?$WCRANGE$:$WCREV$$"

Voit kuitenkin yleensä kiertää rajoituksen esimerkiksi seuraavalla tavalla:

#define SVN_RANGE $WCRANGE$
#define SVN_REV $WCREV$
#define SVN_REVISION "$WCMIXED?SVN_RANGE:SVN_REV$"

Vihje

Jotkin näistä avainsanoista koskevat hakemistojen sijaan yksittäisiä tiedostoja, joten niiden käyttö on järkevää vain, kun SubWCRev käy läpi yksittäisen tiedoston. Tämä pätee avainsanoihin $WCINSVN$, $WCNEEDSLOCK$, $WCISLOCKED$, $WCLOCKDATE$, $WCLOCKOWNER$ ja $WCLOCKCOMMENT$.

Avainsanaesimerkki

Alla oleva esimerkki näyttää, miten kaavaintiedoston avainsanat korvataan tulostiedostossa.

// SubWCRev-testitiedosto

char *Revision      = "$WCREV$";
char *Revision16    = "$WCREV&0xFF$";
char *Revisionp100  = "$WCREV+100$";
char *Revisionm100  = "$WCREV-100$";
char *Modified      = "$WCMODS?Modified:Not modified$";
char *Unversioned   = "$WCUNVER?Unversioned items found:no unversioned items$";
char *Date          = "$WCDATE$";
char *CustDate      = "$WCDATE=%a, %d %B %Y$";
char *DateUTC       = "$WCDATEUTC$";
char *CustDateUTC   = "$WCDATEUTC=%a, %d %B %Y$";
char *TimeNow       = "$WCNOW$";
char *TimeNowUTC    = "$WCNOWUTC$";
char *RevRange      = "$WCRANGE$";
char *Mixed         = "$WCMIXED?Mixed revision WC:Not mixed$";
char *ExtAllFixed   = "$WCEXTALLFIXED?All externals fixed:Not all externals fixed$";
char *IsTagged      = "$WCISTAGGED?Tagged:Not tagged$";
char *URL           = "$WCURL$";
char *isInSVN       = "$WCINSVN?versioned:not versioned$";
char *needslck      = "$WCNEEDSLOCK?TRUE:FALSE$";
char *islocked      = "$WCISLOCKED?locked:not locked$";
char *lockdateutc   = "$WCLOCKDATEUTC$";
char *lockdate      = "$WCLOCKDATE$";
char *lockcustutc   = "$WCLOCKDATEUTC=%a, %d %B %Y$";
char *lockcust      = "$WCLOCKDATE=%a, %d %B %Y$";
char *lockown       = "$WCLOCKOWNER$";
char *lockcmt       = "$WCLOCKCOMMENT$";

#if $WCMODS?1:0$
#error Source is modified
#endif

// End of file

Komennon SubWCRev.exe polku\työkopioon testi.tmpl testi.txt suorituksen jälkeen tulostiedosto testi.txt näyttää seuraavalta:

// SubWCRev-testitiedosto

char *Revision      = "22837";
char *Revision16    = "53";
char *Revisionp100  = "22937";
char *Revisionm100  = "22737";
char *Modified      = "Modified";
char *Unversioned   = "no unversioned items";
char *Date          = "2012/04/26 18:47:57";
char *CustDate      = "Thu, 26 April 2012";
char *DateUTC       = "2012/04/26 16:47:57";
char *CustDateUTC   = "Thu, 26 April 2012";
char *TimeNow       = "2012/04/26 20:51:17";
char *TimeNowUTC    = "2012/04/26 18:51:17";
char *RevRange      = "22836:22837";
char *Mixed         = "Mixed revision WC";
char *ExtAllFixed   = "All externals fixed";
char *IsTagged      = "Not tagged";
char *URL           = "https://svn.code.sf.net/p/tortoisesvn/code/trunk";
char *isInSVN       = "versioned";
char *needslck      = "FALSE";
char *islocked      = "not locked";
char *lockdateutc   = "1970/01/01 00:00:00";
char *lockdate      = "1970/01/01 01:00:00";
char *lockcustutc   = "Thu, 01 January 1970";
char *lockcust      = "Thu, 01 January 1970";
char *lockown       = "";
char *lockcmt       = "";

#if 1
#error Source is modified
#endif

// End of file

Vihje

Tällainen tiedosto sisältyy käännökseen, joten saatat odottaa sen olevan versioitu. Muista kuitenkin versioida kaavaintiedosto, ei automaattisesti luotua tiedostoa - muuten joudut toimittamaan muutoksen joka kerta luodessasi sen uudestaan, mikä puolestaan tarkoittaa, että versiotiedosto pitää päivittää.

COM-rajapinta

Jos tarvitset Subversion-versiotietoja muissa ohjelmissa, voit käyttää SubWCRev-ohjelman COM-rajapintaa. Luotava olio on SubWCRev.object, joka tukee seuraavia operaatioita:

Taulu 6.4. Tuetut COM/automaatiomenetelmät

MenetelmäKuvaus
.GetWCInfoOperaatio käy läpi työkopiosi keräten kaiken versiointitiedon. Sinun on ensin kutsuttava tätä, ennen kuin voit käsitellä haettuja tietoja. Ensimmäinen valitsin on polku. Toisen valitsimen tulisi olla true jos haluat ottaa mukaan kansio-ominaisuudet. Sama kuin komentorivivalitsin -f. Kolmannen valitsimen tulisi olla tosi, jos haluat sisällyttää ulkoiset viitteet (svn:externals). Sama kuin komentorivivalitsin -e.
.GetWCInfo2Kuten GetWCInfo(), mutta neljännen parametrin kera, joka asettaa komentoriviparametrille -E saman arvon.
.RevisionTyökopion suurin versionumero. Sama kuin $WCREV$.
.DateTyökopion suurimman version toimituspäiväys. Sama kuin $WCDATE$.
.AuthorSuurimman version tekijä, ts. viimeinen henkilö, joka toimitti muutoksia työkopioon.
.MinRevTyökopion pienin päivitetty versio, ks. $WCRANGE$.
.MaxRevTyökopion suurin päivitetty versio, kuten $WCRANGE$ kertoo.
.HasModificationsTosi jos työkopiossa on paikallisia muutoksia.
.HasUnversionedTosi, jos kohteessa on versioimattomia tiedostoja
.UrlKorvataan GetWCInfo käytetyn työkopiopolun arkistopaikantimella. Sama kuin $WCURL$.
.IsSvnItemTosi, jos kohde on versioitu.
.NeedsLockingTosi, jos kohteella on ominaisuus svn:needs-lock asetettuna.
.IsLockedTosi, jos kohde on lukittu.
.LockCreationDateMerkkijono, joka sisältää lukon luontipäiväyksen, tai tyhjä merkkijono, jos kohde ei ole lukittu.
.LockOwnerMerkkijono, joka sisältää lukon omistajan, tai tyhjä merkkijono, jos kohde ei ole lukittu.
.LockCommentLukkoa luotaessa annettu viesti.


Seuraava esimerkki näyttää, miten rajapintaa voi käyttää.

// testCOM.js - javascript file
// test script for the SubWCRev COM/Automation-object

filesystem = new ActiveXObject("Scripting.FileSystemObject");

revObject1 = new ActiveXObject("SubWCRev.object");
revObject2 = new ActiveXObject("SubWCRev.object");
revObject3 = new ActiveXObject("SubWCRev.object");
revObject4 = new ActiveXObject("SubWCRev.object");

revObject1.GetWCInfo(
    filesystem.GetAbsolutePathName("."), 1, 1);
revObject2.GetWCInfo(
    filesystem.GetAbsolutePathName(".."), 1, 1);
revObject3.GetWCInfo(
    filesystem.GetAbsolutePathName("SubWCRev.cpp"), 1, 1);
revObject4.GetWCInfo2(
    filesystem.GetAbsolutePathName("..\\.."), 1, 1, 1);

wcInfoString1 = "Revision = " + revObject1.Revision +
                "\nMin Revision = " + revObject1.MinRev +
                "\nMax Revision = " + revObject1.MaxRev +
                "\nDate = " + revObject1.Date +
                "\nURL = " + revObject1.Url + "\nAuthor = " +
                revObject1.Author + "\nHasMods = " +
                revObject1.HasModifications + "\nIsSvnItem = " +
                revObject1.IsSvnItem + "\nNeedsLocking = " +
                revObject1.NeedsLocking + "\nIsLocked = " +
                revObject1.IsLocked + "\nLockCreationDate = " +
                revObject1.LockCreationDate + "\nLockOwner = " +
                revObject1.LockOwner + "\nLockComment = " +
                revObject1.LockComment;
wcInfoString2 = "Revision = " + revObject2.Revision +
                "\nMin Revision = " + revObject2.MinRev +
                "\nMax Revision = " + revObject2.MaxRev +
                "\nDate = " + revObject2.Date +
                "\nURL = " + revObject2.Url + "\nAuthor = " +
                revObject2.Author + "\nHasMods = " +
                revObject2.HasModifications + "\nIsSvnItem = " +
                revObject2.IsSvnItem + "\nNeedsLocking = " +
                revObject2.NeedsLocking + "\nIsLocked = " +
                revObject2.IsLocked + "\nLockCreationDate = " +
                revObject2.LockCreationDate + "\nLockOwner = " +
                revObject2.LockOwner + "\nLockComment = " +
                revObject2.LockComment;
wcInfoString3 = "Revision = " + revObject3.Revision +
                "\nMin Revision = " + revObject3.MinRev +
                "\nMax Revision = " + revObject3.MaxRev +
                "\nDate = " + revObject3.Date +
                "\nURL = " + revObject3.Url + "\nAuthor = " +
                revObject3.Author + "\nHasMods = " +
                revObject3.HasModifications + "\nIsSvnItem = " +
                revObject3.IsSvnItem + "\nNeedsLocking = " +
                revObject3.NeedsLocking + "\nIsLocked = " +
                revObject3.IsLocked + "\nLockCreationDate = " +
                revObject3.LockCreationDate + "\nLockOwner = " +
                revObject3.LockOwner + "\nLockComment = " +
                revObject3.LockComment;
wcInfoString4 = "Revision = " + revObject4.Revision +
                "\nMin Revision = " + revObject4.MinRev +
                "\nMax Revision = " + revObject4.MaxRev +
                "\nDate = " + revObject4.Date +
                "\nURL = " + revObject4.Url + "\nAuthor = " +
                revObject4.Author + "\nHasMods = " +
                revObject4.HasModifications + "\nIsSvnItem = " +
                revObject4.IsSvnItem + "\nNeedsLocking = " +
                revObject4.NeedsLocking + "\nIsLocked = " +
                revObject4.IsLocked + "\nLockCreationDate = " +
                revObject4.LockCreationDate + "\nLockOwner = " +
                revObject4.LockOwner + "\nLockComment = " +
                revObject4.LockComment;

WScript.Echo(wcInfoString1);
WScript.Echo(wcInfoString2);
WScript.Echo(wcInfoString3);
WScript.Echo(wcInfoString4);

Seuraava esimerkki näyttää, miten SubWCRev-ohjelman COM-rajapintaa voi käyttää C#-kielellä:

using LibSubWCRev;
SubWCRev sub = new SubWCRev();
sub.GetWCInfo("C:\\PathToMyFile\\MyFile.cc", true, true);
if (sub.IsSvnItem == true)
{
    MessageBox.Show("versioned");
}
else
{
    MessageBox.Show("not versioned");
}

Luku 7. IBugtraqProvider-rajapinta

TortoiseSVN toteuttaa COM-rajapinnan, jonka avulla erilaiset vikaseurantaohjelmat voidaan kytkeä versionhallintaan tiukemmin kuin pelkkiä bugtraq:-ominaisuuksia käyttämällä. Rajapinnan avulla on mahdollista hakea tietoa suoraan vikaseurantaohjelmasta, kommunikoida käyttäjän kanssa ja palauttaa TortoiseSVN:lle tietoa avoimista vioista, tarkistaa käyttäjän lokiviestit ja vaikkapa sulkea vika onnistuneen arkistotoimituksen jälkeen.

Tämä opas ei kerro, miten COM-rajapinta voidaan toteuttaa eri ohjelmointikielillä, mutta arkistossamme on joukko C#- ja C++/ATL -kielillä tehtyjä esimerkkiohjelmia hakemistossa contrib/issue-tracker-plugins. Samasta hakemistosta löydät myös tarvittavat tiedostot omat laajennuksesi rakentamiseksi (luku ”Lisenssi” kuvaa, miten arkistoon kytkeydytään).

Tärkeää

Koska 64-bittinen TSVN ei kykene käyttämään 32-bittisiä lisäosia (ja päinvastoin), sinun kannattaa toimittaa lisäosastasi sekä 32- että 64-bittiset versiot.

Nimeäminen

Mikäli julkaiset vikaseurantaohjelman TortoiseSVN-ohjelmalle, ole hyvä äläkä nimeä sitä muotoon Tortoise<Jotakin>. Haluamme varata Tortoise -etuliitteen Windows-resurssienhallintaan integroiduille versionhallintaohjelmille. Esimerkiksi TortoiseCVS, TortoiseSVN, TortoiseHg, TortoiseGit ja TortoiseBzr ovat kaikki versionhallintaohjelmia.

Ole hyvä ja nimeä Tortoise-laajennuksesi muodossa Turtle<Jotain>, missä <Jotain> viittaa ympäristöön, johon laajennuksesi kytkeytyy. Vaihtoehtoisesti voit myös muuttaa sanan Turtle ensimmäisen kirjaimen. Esimerkkejä:

  • Gurtle - vikaseurantaohjelma Google code -ympäristöön

  • TurtleMine - vikaseurantaohjelma Redmine-ympäristöön

  • VurtleOne - vikaseurantaohjelma VersionOne-ympäristöön

IBugtraqProvider-rajapinta

Versiosta 1.5 alkaen TortoiseSVN osaa käyttää laajennuksia, jotka toteuttavat IBugtraqProvider-rajapinnan. Rajapinta määrittää toimintoja, joiden avulla TortoiseSVN voidaan kytkeä erilaisiin vikaseurantaohjelmiin.

HRESULT ValidateParameters (
  // Isäikkunan kahva käyttöliittymäosille.
  [in] HWND hParentWnd,

  // Validoitava parametri.
  [in] BSTR parameters,

  // Onko merkkijono validi?
  [out, retval] VARIANT_BOOL *valid
);

Tätä operaatiota kutsutaan asetusikkunasta, jossa käyttäjä voi lisätä ja määritellä lisäosan. Lisäosa voi käyttää merkkijonoa parameters tarvittavan lisätiedon (esim. vikaseurannan paikannin, kirjautumistiedot, jne.) saamiseksi. Lisäosan tulisi tarkistaa markkijono parameters ja näyttää virhe, jos merkkijono ei ole kelvollinen. Parametria hParentWnd tulee käyttää isäikkunana kaikissa lisäosan näyttämissä ikkunoissa. Lisäosan on palautettava TRUE, jos parametrin parameters tarkistus onnistui. Jos lisäosa palauttaa FALSE, asetusikkuna ei salli käyttäjän kytkeä lisäosaa työkopiopolkuun.

HRESULT GetLinkText (
  // Isäikkunan kahva käyttöliittymäosille.
  [in] HWND hParentWnd,

  // Parametrimerkkijono.
  [in] BSTR parameters,

  // Minkä tekstin haluat näyttää? Käytä nykyisen säikeen kulttuuria.
  [out, retval] BSTR *linkText
);

Lisäosa voi määritellä tekstin, jota TortoiseSVN käyttää toimitusikkunassaan painikkeelle, joka käynnistää lisäosan; esim. "Valitse vika" tai "Valitse lipuke". Varmista, ettei merkkijono ole liian pitkä, muuten se ei sovi painikkeeseen. Jos toiminto palauttaa virheen (esim. E_NOTIMPL), painikkeelle käytetään oletusarvoista tekstiä.

HRESULT GetCommitMessage (
  // Isäikkunan kahva käyttöliittymäosille.
  [in] HWND hParentWnd,

  // Parametrit vikaseurantaohjelmalle.
  [in] BSTR parameters,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,

  // Toimitusviestin nykyinen sisältö.
  // Laajennoksen tulisi sisällyttää tämä teksti uuteen toimitusviestiin, jos mahdollista.
  [in] BSTR originalMessage,

  // Uusi toimitusviesti, joka korvaa alkuperäisen.
  [out, retval] BSTR *newMessage
);

Kytköksen päämenetelmä. Menetelmää kutsutaan TortoiseSVN-toimitusikkunasta, kun käyttäjä napsauttaa kytköksen painiketta.

Merkkijono parameters on käyttäjän kytköksen asetusikkunassa syöttämä arvo. Tavallisesti kytkös käyttää tätä vikaseurantajärjestelmän paikantimen ja/tai autentikointitietojen välittämiseen.

Merkkijono commonRoot sisältää kaikkien toimitusikkunaan valittujen kohteiden kantapolun. Huomaa, että tämä ei ole käyttäjän valitsemien kohteiden kantaipolku . Haaran tai merkityn version luonti-ikkunassa merkkijono vastaa kopioitavaa polkua.

Parametri pathList on taulukko, joka sisältää käyttäjän toimitettaviksi valitsemien kohteiden polut (merkkijonoina).

Parametri originalMessage sisältää toimitusikkunan lokiviestikenttään syötetyn tekstin. Mikäli käyttäjä ei ole vielä syöttänyt tekstiä, merkkijono on tyhjä.

Paluumerkkijono newMessage korvaa toimitusikkunan lokiviestikentän aiemman sisällön. Mikäli kytkös ei muuta originalMessage-parametria, sen on palautettava sama merkkijono tässä; muuten käyttäjän syöttämä teksti katoaa.

IBugtraqProvider2-rajapinta

TortoiseSVN 1.6 osaa käyttää laajennuksia, jotka toteuttavat IBugtraqProvider2-rajapinnan. Tämä rajapinta lon alkuperäisen IBugtraqProvider-rajapinnan laajennus.

HRESULT GetCommitMessage2 (
  // Isäikkunan kahva käyttöliittymää varten.
  [in] HWND hParentWnd,

  // Parametrit vikaseurantaohjelmalle.
  [in] BSTR parameters,
  [in] BSTR commonURL,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,

  // Toimitusviestin nykyinen sisältö.
  // Laajennoksen tulisi sisällyttää tämä teksti uuteen toimitusviestiin, jos mahdollista.
  [in] BSTR originalMessage,

  // Voit määritellä omia versio-ominaisuuksia arkistoon toimitettavaksi seuraavien kahden parametrin avulla.
  // Huomaa: molempien taulukoiden on oltava yhtä pitkiä. Kullekin ominaisuusnimelle on löydyttävä vastaava arvo!
  // bugID-kentän sisältö (mikäli näytetty)
  [in] BSTR bugID,

  // bugID-kentän muutettu sisältö
  [out] BSTR * bugIDOut,

  // Lista arkistoon toimitettavia versio-ominaisuuksien nimiä
  [out] SAFEARRAY(BSTR) * revPropNames,

  // Lista arklstoon toimitettavia versio-ominaisuuksien arvoja
  [out] SAFEARRAY(BSTR) * revPropValues,

  // Uusi toimitusviesti, joka korvaa alkuperäisen.
  [out, retval] BSTR * newMessage
);

Tätä menetelmää kutsutaan TortoiseSVN-toimitusikkunasta käyttäjän napsauttaessa kytköksen painiketta. Menetelmää kutsutaan menetelmän GetCommitMessage() sijaan. Katso menetelmän GetCommitMessage ohjeista kuvaus parametreista, joita käytetään myös siellä.

Parametri commonURL on kaikkien toimitusikkunaan valittujen kohteiden kantapaikannin. Tämä on suurin piirtein sama kuin commonRoot -polun paikannin.

Parametri bugID sisältää bug-ID -kentän arvon (mikäli se on säädetty näytettäväksi ominaisuudella bugtraq:message).

Paluuparametrin bugIDOut arvo asetetaan vikatunnuskenttään metodista palattaessa.

Paluuparametrit revPropNames ja revPropValues voivat sisältää nimi/arvo -pareja niille versio-ominaisuuksille, jotka toimituksen tulisi asettaa. Kytköksen on varmistettava, että molemmissa taulukoissa on saman verran alkioita palattaessa! Kullakin taulukon revPropNames ominaisuusnimellä on oltava vastaava arvo taulukossa revPropValues. Mikäli versio-ominaisuuksia ei tarvita, kytköksen on palautettava tyhjät taulukot.

HRESULT CheckCommit (
  [in] HWND hParentWnd,
  [in] BSTR parameters,
  [in] BSTR commonURL,
  [in] BSTR commonRoot,
  [in] SAFEARRAY(BSTR) pathList,
  [in] BSTR commitMessage,
  [out, retval] BSTR * errorMessage
);

Tätä toimintoa kutsutaan juuri ennen kuin toimitusikkuna sulkeutuu ja toimitus alkaa. Lisäosa voi käyttää toimintoa validoidakseen toimitettaviksi valitut tiedostot/kansiot ja toimitusviestin. Parametrit ovat samat kuin toiminnolla GetCommitMessage2() sillä erotuksella, että commonURL sisältää nyt kaikkien toimitettavaksi valittujen kohteiden yhteisen paikantimen, ja commonRoot on valittujen kohteiden juuripolku.

Haaran tai merkityn version luonti-ikkunassa commonURL viittaa kopion lähdepaikantimeen ja commonRoot puolestaan kopion kohdepaikantimeen.

Paluuparametrin errorMessage on oltava tyhjä, jotta arkistotoimitus voi alkaa. Muussa tapauksessa TortoiseSVN näyttää virheilmoituksen käyttäjälle ja pitää toimitusikkunan avoimena, jotta käyttäjä voi korjata mahdolliset virheet. Lisäosan tulisi siten palauttaa virheilmoitus, joka kertoo, mikä on väärin, ja miten tilanne korjataan.

HRESULT	OnCommitFinished (
  // Isäikkunan kahva käyttöliittymäosille.
  [in] HWND hParentWnd,

  // Toimitettujen polkujen yhteinen juuripolku.
  [in] BSTR commonRoot,

  // Kaikki toimitetut polut.
  [in] SAFEARRAY(BSTR) pathList,


  // Lokiviestin nykyinen sisältö.
  [in] BSTR logMessage,

  // Toimitettu versio.
  [in] ULONG revision,


  // Käyttäjälle näytettävä virheilmoitus, kun funktio palauttaa jotain muuta kuin S_OK
  [out, retval] BSTR * error
);

Tätä toimintoa kutsutaan onnistuneen arkistotoimituksen jälkeen. Laajonnos voi käyttää toimintoa esim. valitun vian sulkemiseen tai lisätäkseen vikaan tietoa arkistotoimituksesta. Parametrit ovat samoja kuin toiminnolla GetCommitMessage2.

HRESULT HasOptions(
  // Onko lisäosa säädettävissä
  [out, retval] VARIANT_BOOL *ret
);

Tätä toimintoa kutsutaan asetusikkunasta, missä käyttäjä voi määritellä lisäosat. Jos lisäosa toteuttaa oman määrittelyikkunan funktion ShowOptionsDialog avulla, sen on palautettava tässä TRUE (muutoin FALSE).

HRESULT ShowOptionsDialog(
  // Isäikkunan kahva käyttöliittymää varten.
  [in] HWND hParentWnd,

  // Parametrit.
  [in] BSTR parameters,

  // Paluuparametrit.
  [out, retval] BSTR * newparameters
);

Tätä toimintoa kutsutaan asetusikkunasta, kun käyttäjä napsauttaa painiketta "Asetukset", joka puolestaan näytetään, jos funktio HasOptions palauttaa TRUE. Lisäosa voi käyttää omaa asetusikkunaa tehdäkseen määrittelystä käyttäjälle helpompaa.

Merkkijono parameters sisältää käyttäjän jo antamat parametrit.

Paluuparametrin newparameters täytyy sisältää merkkijono, jonka lisäosa rakensi asetusikkunansa tietojen perusteella. Tämä parameters -merkkijono välitetään jatkossa kaikille muille IBugtraqProvider- ja IBugtraqProvider2-toiminnoille.

Liite A. Usein kysytyt kysymykset (UKK)

Koska TortoiseSVN kehittyy jatkuvasti, käyttöohjeet eivät aina ole täysin ajan tasalla. Pidämme yllä FAQ-sivua (englanninkielinen), joka sisältää valikoiman TortoiseSVN-postituslistoilla https://groups.google.com/forum/#!forum/tortoisesvn ja https://groups.google.com/forum/#!forum/tortoisesvn-dev usein kysyttyjä kysymyksiä.

Mikäli sinulla on kysymys, johon ei löydy vastausta muualta, paras paikka kysyä on jokin TortoiseSVN-postituslistoista:

Liite B. Kuinka teen...

Tämä liite sisältää ratkaisuja ongelmiin ja kysymyksiin, joita voi tulla eteen TortoiseSVN-ohjelman kanssa.

Siirrä/kopioi useita tiedostoja yhdellä kertaa

Yksittäinen tiedosto voidaan siirtää/kopioida komennolla TortoiseSVNNimeä uudelleen.... Mutta jos haluat siirtää/kopioida useita tiedostoja, tämä tapa on liian hidas ja työläs.

Suositeltu tapa on oikea-raahata tiedostot uuteen paikkaan. Valitse siirrettävät/kopioitavat tiedostot tavalliseen tapaan. Paina sen jälkeen hiiren oikea näppäin pohjaan ja raahaa tiedostot uuteen paikkaan. Kun vapautat oikean näppäimen, voit valita joko komennon KontekstivalikkoKopioi versioidut tiedostot tänne tai KontekstivalikkoSiirrä versioidut tiedostot tänne.

Kuva B.1. TortoiseSVN raahaa-oikealla kontekstivalikko tiedostojen siirtämiseen

TortoiseSVN raahaa-oikealla kontekstivalikko tiedostojen siirtämiseen


Pakota käyttäjät syöttämään lokiviesti

On kaksi tapaa estää käyttäjiä toimittamasta muutoksia arkistoon tyhjällä lokiviestillä. Yksi on TortoiseSVN-spesifi, toinen toimii kaikilla Subversion-asiakkailla, mutta vaatii pääsyä palvelimelle.

Komentojono palvelimella

Jos sinulla on pääsy arkistopalvelimelle, voit asentaa ennen toimitusta suoritettavan komentojonon, joka hylkää kaikki toimitukset, joissa on tyhjä tai liian lyhyt lokiviesti.

Palvelimen arkistokansiossa on kansio hooks, joka sisältää esimerkkejä komentojonoista, joita voit käyttää. Tiedosto pre-commit.tmpl sisältää esimerkkikomennon, joka estää toimituksen, jos lokiviesti on tyhjä tai liian lyhyt. Tiedostossa on myös ohjeet komentojonon asentamiseen ja käyttämiseen - noudata niitä, ja homman pitäisi toimia.

Tätä tapaa suositellaan, jos käyttäjät käyttävät TortoiseSVN:n ohella muita Subversion-asiakasohjelmia. Haittapuoli on se, että palvelin hylkää toimituksen, ja siksi käyttäjät saavat virheilmoituksen. Asiakasohjelma ei voi tietää etukäteen, että toimitus epäonnistuu. Jos haluat, että TortoiseSVN-toimitusikkunan OK-painike on estetty, kun lokiviesti on liian lyhyt, niin käytä alla kuvattua tapaa.

Projektin ominaisuudet

TortoiseSVN käyttää ominaisuuksia ohjaamaan eräitä ominaisuuksiaan. Yksi näistä ominaisuuksista on tsvn:logminsize.

Jos asetat ko. ominaisuuden kansiolle, TortoiseSVN estää OK-painikkeen kaikissa toimitusikkunoissa, kunnes käyttäjä on syöttänyt lokiviestin, joka on vähintään niin pitkä kuin ominaisuus määrittää.

Katso lisää projektin ominaisuuksien asettamisesta luvusta ”Projektiasetukset”.

Päivitä valitut tiedostot arkistosta

Tavallisesti päivität työkopiosi käyttämällä komentoa TortoiseSVNPäivitä. Jos kuitenkin haluat päivittää vain muutaman uuden tiedoston, jotka työtoverisi on toimittanut arkistoon, sinun on tehtävä jotain muuta.

Käytä komentoa TortoiseSVNTarkista muutokset ja napsauta Tarkista arkisto-painiketta nähdäksesi, mitä muutoksia arkistossa on tapahtunut. Valitse tiedostot, jotka haluat päivittää ja suorita päivitys kontekstivalikosta löytyvällä komennolla.

Peruuta arkistoon tehtyjä muutoksia

Käytä loki-ikkunaa

Helpoin tapa peruuttaa muutokset yhdestä tai useammasta versiosta on käyttää loki-ikkunaa.

  1. Valitse tiedosto tai kansio, jossa peruttavat muutokset ovat. Jos haluat perua kaikki muutokset, on syytä käyttää työkopion juurikansiota.

  2. Anna komento TortoiseSVNNäytä loki näyttääksesi versiolistan. Saatat joutua käyttämään painiketta Näytä kaikki tai Seuraavat 100 näyttääksesi versiot, joista olet kiinnostunut.

  3. Valitse versio, jonka muutokset haluat perua. Jos haluat perua muutokset versiovälillä, valitse niistä ensimmäinen ja pidä Shift-näppäin pohjassa valitessasi viimeistä. Jos haluat valita yksittäisiä versioita ja versiovälejä, pidä Ctrl-näppäin pohjassa valintoja tehdessä. Lopuksi oikea-napsauta valintaa ja anna komento KontekstivalikkoPoista tämän version muutokset.

  4. Jos taas haluat tehdä aiemmasta versiosta uuden HEAD-version, oikea-napsauta valittua versiota ja anna komento KontekstivalikkoPalauta tähän versioon. Tämä peruu kaikki valitun version jälkeen tehdyt muutokset.

Olet nyt perunut muutokset työkopiossasi. Tarkista muutokset ja toimita ne sitten arkistoon.

Käytä yhdistämisikkunaa

Jos haluat luetella versionumerot, voit käyttää yhdistämisikkunaa. Edellinen menetelmä käyttää käyttää yhdistämistä sisäisestitämä menetelmä käyttää sitä suoraan.

  1. Valitse työkopiossasi komento TortoiseSVNYhdistä.

  2. Valitse Yhdistämistyyppi-ikkunasta vaihtoehto Yhdistä versioväli.

  3. Syötä Mistä: -kenttään työkopiosi arkistopaikannin. Tämän pitäisi täyttyä oletuspaikantimella.

  4. Syötä Yhdistettävä versioväli -kenttään peruttavat versiot (tai käytä loki-ikkunaa niiden valitsemiseen kuten yllä on kuvattu).

  5. Varmista, että asetus Käänteinen yhdistäminen on valittuna.

  6. Hyväksy oletusarvot Yhdistämisvalinnat-ikkunassa.

  7. Napsauta Yhdistä viimeistelläksesi yhdistämisen.

Olet nyt perunut muutokset työkopiossasi. Tarkista muutokset ja toimita ne sitten arkistoon.

Käytä svndumpfilter-ohjelmaa

Koska TortoiseSVN ei koskaan hävitä tietoa, perumasi versiot ovat yhä olemassa arkistohistoriassa. Vain HEAD-versio muuttui viittaamaan arkiston aiempaan tilaan. Jos haluat hävittää versiot kokonaan arkistostasi, joudut käyttämään järeämpiä aseita. Jollei tähän ole hyvää syytä, sitä ei suositella(eräs mahdollinen syy voisi olla se, että joku on toimittanut luottamuksellisen dokumentin julkiseen arkistoon).

Ainut keino poistaa tietoa arkistosta on käyttää Subversionin svnadmin-komentorivityökalua. Löydät kuvauksen sen toiminnasta Subversion-kirjan luvusta Repository Maintenance.

Vertaa tiedoston tai hakemiston kahta eri versiota

Jos haluat verrata kohteen kahta eri versiota keskenään (esim. versioita 100 ja 200), anna komento TortoiseSVNNäytä loki näyttääksesi tiedoston versiohistorian. Valitse sitten verrattavat versiot (100 ja 200) sekä anna komento KontekstivalikkoVertaa versioita.

Jos haluat verrata samaa kohdetta kahdessa eri puussa (esim. päähaarassa ja kehityshaarassa), voit käyttää arkistoselainta: avaa molemmat puut, valitse kohde molemmista puista ja anna komento KontekstivalikkoVertaa versioita.

Jos haluat verrata kahta puuta nähdäksesi, mitä on muuttunut (esim. päähaarassa ja merkityssä versiossa), voit käyttää komentoa TortoiseSVNVersiograafi. Valitse verrattavat kaksi solmua ja anna komento KontekstivalikkoVertaa HEAD-versioita. Tämä näyttää listan muuttuneista tiedostoista, ja voit sitten valita yksittäiset tiedostot, joiden erot haluat nähdä tarkemmin. Voit myös viedä puurakenteen, joka sisältää muuttuneet tiedostot tai pelkästään luettelon muuttuneista tiedostoista. Vaihtoehtoisesti voit käyttää komentoa KontekstivalikkoHEAD-versioiden unified diff nähdäksesi yhteenvedon kaikista muutoksista.

Sisällytä projektiin yhteinen aliprojekti

Joskus on tarpeen sisällyttää toinen projekti, esimerkiksi jokin kirjasto, työkopioosi. Tämä voidaan tehdä ainakin 4 eri tavalla.

Käytä ulkoisia viittauksia (svn:externals)

Aseta projektisi kansiolle svn:externals-ominaisuus. Ominaisuus koostuu yhdestä tai useammasta rivistä; kukin rivi nimeää alikansion, johon jaetut osat haetaan, sekä arkistopaikantimen, josta ne löytyvät. Katso yksityiskohdat luvusta ”Ulkoiset kohteet”.

Toimita uusi kansio arkistoon. Seuraavan päivityksen yhteydessä Subversion noutaa kopion projektin kotiarkistosta työkopioosi. Alikansiot luodaan tarvittaessa automaattisesti. Aina kun päivität työkopiosi, saat myös viimeisimmän version kaikista ulkoisista projekteista.

Jos ulkoinen projekti on samassa arkistossa, kaikki siihen tehdyt muutokset sisältyvät toimituslistaan toimittaessasi pääprojektin muutoksia arkistoon.

Jos ulkoinen projekti on eri arkistossa, siihen tekemistäsi muutoksista näytetään tai ilmoitetaan toimittaessasi pääprojektin muutoksia arkistoon. Joudut kuitenkin toimittamaan ulkoiset muutokset erikseen.

Kuvatuista kolmesta menetelmästä tämä on ainoa, joka ei tarvitse ylimääräisiä järjestelyjä asiakaspäässä. Heti, kun ulkoiset viitteet on lisätty kansion ominaisuuksiksi, kaikki asiakkaat saavat ne seuraavan päivityksen yhteydessä.

Käytä sisäkkäistä työkopiota

Luo projektiisi uusi kansio, johon jaettu komponentti on tarkoitus lisätä, mutta älä tee siitä versioitua.

Valitse uudelle kansiolle komento TortoiseSVNHae työkopio ja hae siihen jaettu komponentti. Sinulla on nyt erillinen, sisäkkäinen työkopio päätyökopiosi sisällä.

Molemmat työkopiot ovat itsenäisiä. Kun toimitat muutoksia vanhempaan, muutokset sisäkkäisessä työkopiossa ohitetaan. Samoin käy päivittäessä vanhempaa: sisäkkäistä työkopiota ei päivitetä.

Käytä suhteellista paikkaa

Jos käytät samaa komponenttia useissa projekteissa, etkä halua siitä useita erillisiä työkopita kaikille sitä käyttäville projekteille, voit sen sijaan tehdä työkopion, joka on samassa suhteellisessa paikassa kaikkiin sitä käyttäviin projekteihin nähden. Esimerkki:

C:\Projects\Proj1
C:\Projects\Proj2
C:\Projects\Proj3
C:\Projects\Common

viittaa yhteiseen komponenttiin suhteellisella polulla, esim. ..\..\Common\DSPcore.

Jos projektisi ovat hajallaan ilman yhteistä paikkaa, voit käyttää muunnelmaa: sijoita yhteinen komponentti yhteen paikkaan, ja käytä asematunnuksen korvausta kuvataksesi paikan joksikin, johon voit viitata muista projekteista. Esimerkki: Hae työkopio yhteisestä komponentista paikkaan D:\Documents\Framework tai C:\Documents and Settings\{login}\My Documents\framework ja käytä sitten

SUBST X: "D:\Documents\framework"

luodaksesi asematunnuskorvauksen. Koodisi voi sitten käyttää absoluuttista viittausta:

#include "X:\superio\superio.h"

Tämä menetelmä toimii vain Windows-ympäristössä, ja joudut kirjaamaan ylös tarvittavat asemakorvaukset, jotta ryhmäsi tietävät, missä nämä salaperäiset tiedostot ovat. Menetelmä sopii vain suljettuihin kehitysympäristöihin, eikä sitä voi suositella yleisesti käytettäväksi.

Lisää projekti arkistoon

Ehkä helpointa on vain yksinkertaisesti lisätä toinen projekti alihakemistoksi oman projektisi työkopioon. Haittapuolena on se, että toisen projektin päivittäminen esim. uuteen versioon on tehtävä käsin.

TortoiseSVN sisältää toiminnon, jonka avulla tällaisen kirjastoprojektin päivittäminen on helppoa. Raahaa hiiren oikealla näppäimellä uuden kirjastoversion sisältävä kansio työkopiossasi olevaan kansioon ja valitse komento KontekstivalikkoSVN: Päivitä kirjastohaara tänne. Komento päivittää olemassa olevat tiedostot, lisää uudet tiedostot kansioon ja poistaa tiedostot, joita ei ole enää uudessa versiossa.

Luo pikakuvake arkistoon

Jos avaat usein arkistoselaimen tiettyyn paikantimeen, voit luoda siihen pikakuvakkeen työpöydälle käyttäen TortoiseProc-ohjelman automaatiorajapintaa. Luo uusi pikakuvake ja aseta sen kohde seuraavasti:

TortoiseProc.exe /command:repobrowser /path:"paikannin/arkistoon"

Joudut tietenkin antamaan todellisen arkistopaikantimen.

Ohita aiemmin versioidut tiedostot

Miten saat arkistosta pois sinne vahingossa lisätyt tiedostot tuhoamatta niitä? Ehkä versioit vahingossa IDE-asetuksesi, joka ei kuulu projektiin, mutta jonka säätämiseen meni paljon aikaa.

Jos et ole vielä toimittanut lisäystä, riittää kun annan komennon TortoiseSVNPeru lisäys... peruaksesi lisäyksen. Tiedosto(t) kannattaa lisätä ohituslistaan, jotta niitä ei lisätä myöhemmin vahingossa uudestaan.

Jos tiedostot ovat jo arkistossa, ne on poistettava sieltä ja lisättävä ohituslistaan. TortoiseSVN sisältää näppärän komennon tätä tarkoitusta varten. TortoiseSVNPoista versiointi ja lisää ohituslistaan merkitsee ensin tiedoston/kansion poistettavaksi arkistosta, säilyttäen paikallisen version. Lopuksi kohde lisätään ohituslistaan, jolloin se ei enää päädy vahingossa versioiduksi. Tehtyäsi tämän kohteen isäkansio on toimitettava arkistoon.

Poista työkopion versiointi

Jos haluat muuttaa työkopiosi takaisin tavalliseksi kansioksi ilman .svn-hakemistoa, voit yksinkertaisesti viedä sen itseensä. Lue lisää luvusta ”Työkopion poisto versionhallinnasta”.

Työkopion poistaminen

Jos sinulla on työkopio, jota et enää tarvitse, kuinka pääset siitä eroon? Helppoa - riittää, kun poistat se Resurssienhallinnassa! Työkopiot ovat paikallisia kokonaisuuksia, joilla ei ole ulkoisia riippuvuuksia. Työkopion poisto ei vaikuta arkistoon millään lailla.

Liite C. Hyödyllisiä vihjeitä pääkäyttäjille

Tässä liitteessä on ratkaisuja ongelmiin ja kysymyksiin, joihin voit törmätä joutuessasi asentamaan TortoiseSVN:n useisiin eri tietokoneisiin.

Asenna TortoiseSVN ryhmäkäytäntöjen avulla

TortoiseSVN-asennusohjelma on MSI-tiedosto, mikä tarkoittaa, että sen lisäämisen toimialuekontrollerin ryhmäkäytäntöihin pitäisi onnistua ongelmitta.

Hyvä ohje tämän tekemiseen löytyy knowledge base -artikkelista 314934 Microsoftin sivustosta: http://support.microsoft.com/?kbid=314934.

TortoiseSVN on asennettava ryhmäkäytännöt-kansioon Tietokoneasetukset kansion Käyttäjäasetukset sijaan. Tämä johtuu siitä, että TortoiseSVN tarvitsee uusia CRT- ja MFC-kirjastoja, jotka voidaan asentaa ainoastaan työasemakohtaisesti . Jos todella haluat asentaa TortoiseSVN käyttäjäkohtaisesti, joudut ensin asentamaan MFC- ja CRT-kirjastojen version 12 kuhunkin työasemaan käyttäjäkohtaisesti.

Voit halutessasi mukauttaa MSI-tiedoston siten, että kaikilla käyttäjilla on samat asetukset. TSVN-astukset talletetaan Windows-rekisterin haaraan HKEY_CURRENT_USER\Software\TortoiseSVN ja yleiset Subversion-asetukset (jotka vaikuttavat kaikkiin Subversion-asiakkaisiin) tallettuvat asetustiedostoihin hakemistossa %APPDATA%\Subversion. Jos tarvitset apua MSI-mukautuksessa, koeta jotain MSI-uutisryhmää tai hae verkosta avainsanoilla MSI transform.

Päivitystarkistuksen uudelleen ohjaus

TortoiseSVN tarkistaa muutaman päivän välein, onko uutta versiota saatavilla. Jos näin on, siitä kerrotaan käyttäjälle toimitusikkunassa.

Kuva C.1. Toimitusikkuna, jossa näytetään pävitysilmoitus

Toimitusikkuna, jossa näytetään pävitysilmoitus

Jos vastaat useista kehittäjistä, saatat haluta käyttää vain testaamiasi ja hyväksymiäsi versioita, eikä sallia uusimman version käyttöä. Et siis todennäköisesti halua ohjelmiston päivitysikkunan olevan toiminnassa yksittäisille käyttäjille.

Versiosta 1.4.0 alkaen TortoiseSVN tukee päivitystarkistuksen uudelleenohjausta intranet-palvelimellesi. Voit asettaa rekisteriavaimen HKCU\Software\TortoiseSVN\UpdateCheckURL (merkkijonoarvo) paikantimeen, joka osoittaa intranetissäsi olevaan tekstitiedostoon. Tiedoston on oltava seuraavanlainen:

1.9.1.6000
Uusi TortoiseSVN-versio on ilmestynyt!
http://192.168.2.1/downloads/TortoiseSVN-1.9.1.6000-svn-1.9.1.msi

Tiedoston ensimmäinen rivi on versiomerkkijono. Sen on täsmättävä TortoiseSVN-asennuspaketin version kanssa. Toinen rivi on vapaata tekstiä, joka näytetään ohjelman päivitysikkunassa. Voit kirjoittaa siihen, mitä haluat. Huomaa kuitenkin, että päivitysikkunan koko on rajallinen - liian pitkät tekstit katkaistaan! Kolmas rivi on paikannin uuteen asennuspakettiin. Tämä paikannin avataan, kun käyttäjä napsauttaa vapaata tekstiä päivitysikkunassa. Voit halutessasi ohjata käyttäjän jollekin web-sivulle MSI-tiedoston sijaan. Paikannin avataan oletusselaimeen, joten jos määrität web-sivun, sivu avataan ja näytetään käyttäjälle. Jos määrität MSI-paketin, selain pyytää tallettamaan MSI-paketin paikallisesti.

SVN_ASP_DOT_NET_HACK-ympäristömuuttujan asetus

Versiosta 1.4.0 alkaen TortoiseSVN-asennusohjelma ei enää tue SVN_ASP_DOT_NET_HACK-ympäristömuuttujan asetusta, koska se aiheutti ongelmia ja hämmennystä niille käyttäjille, jotka tapaavat aina asentaa kaiken, vaikka eivät tietäisi, mitä tarkoitusta varten mikäkin asetus on.

Ominaisuus on kuitenkin vielä käytettävissä TortoiseSVN:ssä ja muissa Subversion-asiakasohjelmissa. Ottaaksesi sen käyttöön aseta Windows-ympäristömuuttuja ASPDOTNETHACK arvoon 1.

Tärkeää

Huomaa, että tämä asetus on tarpeen vain, jos käytät VS.NET2002-ympäristöä. Sitä ei tarvita myöhemmissä Visual Studio -versioissa. Ellet siis käytä VS.NET2002-ympäristöä, UNOHDA TÄMÄ ASETUS!

Estä kontekstivalikon komentoja

Versiosta 1.5 alkaen TortoiseSVN sallii kontekstivalikon komentojen estämisen (oik. piilottamisen). Koska tällaista ominaisuutta ei pitäisi käyttää ilman harkintaa, sen asettamiseen ei ole käyttöliittymää vaan se on tehtävä suoraan Windows-rekisteriin. Piirrettä voidaan käyttää estämään muutamia komentoja käyttäjiltä, joiden ei tulisi käyttää niitä. Huomaa kuitenkin, että vain Resurssienhallinnan kontekstivalikon komennot estetään: ne ovat yhä saatavilla muilla keinoin, esim. komentoriviltä tai jopa muiden TortoiseSVN-komentoikkunoiden kautta!

Rekisteriavaimet, joissa näytettävät kontekstivalikon komennot on määritelty, ovat HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow ja HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh.

Kukin rekisteriavain on DWORD-arvo, jonka jokainen bitti vastaa tiettyä valikon komentoa. Asetettu bitti tarkoittaa, että vastaava valikon komento on estetty.

Taulu C.1. Valikon komennot ja niiden arvot

ArvoValikon komento
0x0000000000000001Hae työkopio
0x0000000000000002Päivitä
0x0000000000000004Toimita
0x0000000000000008Lisää
0x0000000000000010Palauta
0x0000000000000020Siivoaminen
0x0000000000000040Ratkaise
0x0000000000000080Vaihda
0x0000000000000100Tuo
0x0000000000000200Vie
0x0000000000000400Luo arkisto tänne
0x0000000000000800Luo haara / merkitty versio
0x0000000000001000Yhdistä
0x0000000000002000Poista
0x0000000000004000Nimeä uudelleen
0x0000000000008000Päivitä versioon
0x0000000000010000Vertaa
0x0000000000020000Näytä loki
0x0000000000040000Muokkaa ristiriitoja
0x0000000000080000Siirrä
0x0000000000100000Tarkista muutokset
0x0000000000200000Selvitä tekijät
0x0000000000400000Arkistoselain
0x0000000000800000Selvitä tekijät
0x0000000001000000Luo paikkatiedosto
0x0000000002000000Käytä paikkatiedosto
0x0000000004000000Versiograafi
0x0000000008000000Lukitse
0x0000000010000000Poista lukko
0x0000000020000000Ominaisuudet
0x0000000040000000Vertaa paikantimen kanssa
0x0000000080000000Poista versioimattomat tiedostot
0x0000000100000000Yhdistä kaikki
0x0000000200000000Vertaa edellisen version kanssa
0x0000000400000000Liitä
0x0000000800000000Päivitä työkopio
0x0000001000000000Vertaa myöhemmin
0x0000002000000000Vertaa 'tiedostonimen' kanssa
0x0000004000000000Unified diff
0x2000000000000000Asetukset
0x4000000000000000Ohje
0x8000000000000000Tietoja


Esimerkki: estääksesi komennot Sijoita työkopio uudelleen, Poista versioimattomat tiedostot ja Asetukset, lisää komentoihin kytketyt arvot seuraavasti:

  0x0000000000080000
+ 0x0000000080000000
+ 0x2000000000000000
= 0x2000000080080000

Alempi DWORD-arvo (0x80080000) on sitten talletettava avaimeen HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow; ylempi DWORD -arvo (0x20000000) puolestaan avaimeen HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh.

Palauttaaksesi vanhan toiminnallisuuden riittää, kun tuhoat molemmat rekisteriavaimet.

Liite D. TortoiseSVN-automatisointi

Koska kaikkia TortoiseSVN-komentoja voi ohjata komentorivivalitsimilla, voit automatisoida sitä komentojonoilla tai käynnistää haluamiasi komentoja ja ikkunoita muista ohjelmista (esim. tekstinkäsittelyohjelmastasi).

Tärkeää

Muista, että TortoiseSVN on graafinen käyttöliittymä Subversioniin - niinpä tämä automaatio-opas näyttääkin, miten saada TortoiseSVN:n ikkunat aukeamaan odottamaan käyttäjän syötteitä. Jos haluat käyttää komentoja, jotka eivät tarvitse syötteitä, sinun on sen sijaan käytettävä virallista Subversion-komentoriviasiakasta.

TortoiseSVN-komennot

TortoiseSVN:n käyttöliittymän nimi on TortoiseProc.exe. Kaikki komennot määritellään valitsimella /command:abcd, missä abcd on tarvittava komento. Useimmat komennot tarvitsevat ainakin yhden tiedostopolun toimiakseen; se määritellään valitsimella /path:"joku\polku". Seuraavassa taulukossa komento viittaa valitsimeen /command:abcd ja polku puolestaan valitsimeen /path:"joku\polku".

Jos valitsin /command:abcd jätetään antamatta, käynnistyy projektiseurain. Mikäli valitsin /tray annetaan, projektiseurain käynnistyy piilotettuna ilmoitusalueelle.

Koska jotkut komennot voivat ottaa parametrikseen useita polkuja (esim. useiden nimettyjen tiedostojen toimitus arkistoon), valitsin /path ymmärtää useita polkuja, kunhan ne erotetaan merkillä *.

Voit myös luoda tiedoston, jossa on joukko rivinvaihdoin eroteltuja polkuja. Tiedoston on oltava UTF-16-muodossa, ilman BOM -merkintää. Jos välität ko. tiedoston, käytä valitsinta /pathfile valitsimen /path sijaan. Jos haluat, että tiedosto poistetaan komennon suorituksen päätyttyä, anna valitsin /deletepathfile. Muussa tapauksessa sinun on poistettava tiedosto itse.

Edistymiskkuna, jota käytetään arkistotoimituksiin, päivityksiin ja muille komennoille, pysyy komennon suorituksen päätyttyä yleensä auki, kunnes käyttäjä napsauttaa OK-painiketta. Tätä voidaan muuttaa asettamalla vastaava valitsin asetusikkunassa. Asetuksen muuttaminen sulkee kuitenkin edistymisikkunan, käynnistitpä komennon komentojonosta tai TortoiseSVN-kontekstivalikosta.

Jos haluat, että TortoiseSVN käyttää erilaista määrittelytiedostoa, käytä valitsinta /configdir:"polku\määrittely\hakemistoon". Tämä korvaa oletuspolun (myös mahdollisista rekisteriasetuksista välittämättä).

Voit käyttää valitsinta /closeonend sulkeaksesi edistymisikkunan automaattisesti komennon päättyessä muuttamatta pysyvää asetusta.

  • /closeonend:0 älä sulje ikkunaa automaattisesti

  • /closeonend:1 sulje ikkuna automaattisesti, jos komento päättyy virheittä

  • /closeonend:2 sulje ikkuna automaattisesti, jos komento päättyy ilman virheitä ja ristiriitoja

  • /closeonend:3 sulje ikkuna automaattisesti, jos komento päättyy ilman virheitä, ristiriitoja tai yhdistämisiä

Käytä valitsinta /closeforlocal sulkeaksesi edistymisikkunan automaattisesti onnistuneiden paikallisten operaatioiden jälkeen.

Alla oleva taulukko luettelee kaikki komennot, jotka voidaan käynnistää TortoiseProc.exe-komentoriviltä. Kuten yllä on kuvattu, näitä tulee käyttää muodossa /command:abcd. Etuliite /command on jätetty taulukosta pois tilan säästämiseksi.

Taulu D.1. Komennot ja niiden valitsimet

KomentoKuvaus
:aboutNäyttää Tietoja-ikkunan. Tämä aukeaa myös, jos komentoa ei anneta.
:log

Avaa loki-ikkunan. Valitsin /path määrittelee tiedoston tai kansion, jolle loki näytetään. Käytettävissä on myös muita valitsimia:

  • /startrev:xxx,

  • /endrev:xxx,

  • /limit:xxx rajoittaa haettujen viestien määrää

  • /strict kytkee 'pysäytä kopion kohdalla' -valinnan,

  • /merge kytkee 'sisällytä yhdistetyt versiot' -valinnan,

  • /datemin:"{datestring}" asettaa suodattimen aloituspäiväyksen, ja

  • /datemax:"{datestring}" asettaa suodattimen lopetuspäiväyksen. Päiväyksen muoto on sama kuin svn-päiväyksissä käytetty.

  • /findstring:"filterstring" täyttää suodatustekstin,

  • /findtext pakottaa suodattimen käyttämään tekstiä säännöllisten lausekkeiden sijaan, tai

  • /findregex pakottaa suodattimen käyttämään säännöllisiä lausekkeita tekstin sijaan, ja

  • /findtype:X, missä X on numero väliltä 0-511. Numerot ovat seuraavien vaihtoehtojen summa:

    • /findtype:0 suodata kaikesta

    • /findtype:1 suodata viesteistä

    • /findtype:2 suodata poluista

    • /findtype:4 suodata tekijöistä

    • /findtype:8 suodata versioista

    • /findtype:16 ei käytössä

    • /findtype:32 suodata vikatunnuksista

    • /findtype:64 ei käytössä

    • /findtype:128 suodata päiväyksistä

    • /findtype:256 suodata päivämääräväliltä

  • Jos valitsin /outfile:polku\tiedostoon on annettu, valitut versiot kirjoitetaan annettuun tiedostoon, kun loki-ikkuna suljetaan. Versiot kirjoitetaan yhdistämisikkunan versioiden kuvaamiseen käyttämässä muodossa.

An svn date revision can be in one of the following formats:

  • {2006-02-17}

  • {15:30}

  • {15:30:00.200000}

  • {"2006-02-17 15:30"}

  • {"2006-02-17 15:30 +0230"}

  • {2006-02-17T15:30}

  • {2006-02-17T15:30Z}

  • {2006-02-17T15:30-04:00}

  • {20060217T1530}

  • {20060217T1530Z}

  • {20060217T1530-0500}

:checkout

Avaa työkopion noutoikkunan. Valitsin /path määrittää kohdehakemiston ja /url paikantimen, josta työkopio haetaan. Jos annat valitsimen /blockpathadjustments, polkujen automaattinen korjaus estetään. Valitsin /revision:XXX määrittää noudettavan version.

Mikäli annat valitsimen /outfile:"polku/tiedostoon", tiedostoon lisätään työkopion haun jälkeen kolme riviä: työkopion polku, paikannin ja versio.

:importAvaa tuonti-ikkunan. Valitsin /path kertoo hakemiston, jossa tuotavat tiedostot sijaitsevat. Voit myös antaa lokiviestin valitsimella /logmsg. Jos et halua antaa lokiviestiä komentorivillä, käytä valitsinta /logmsgfile:polku, missä polku kertoo tiedoston, joka sisältää lokiviestin.
:updatePäivittää työkopion paikassa /path HEAD-versioon. Mikäli valitsin /rev on annettu, esiin avautuu ikkuna, johon käyttäjä voi syöttää versionumeron, johon päivitys tulisi tehdä. Interaktiivinen ikkuna voidaan ohittaa käyttämällä valitsinta /rev:1234. Muita valitsimia ovat /nonrecursive, /ignoreexternals ja /includeexternals. Valitsimen /stickydepth avulla voidaan luoda harva työkopio kertomalla, että annettu syvyys on pysyvä. Valitsinta /skipprechecks voidaan käyttää ohittamaan kaikki ennen päivitystä tehtävät tarkistukset. Sen seurauksena painike Näytä loki ei ole käytettävissä, eikä päivityksen jälkeen ole mahdollista verrata muutoksia.
:commitAvaa toimitusikkunan. Valitsin /path määrittää kohdehakemiston tai luettelon toimitettavista tiedostoista. Voit myös määritellä valitsimella /logmsg ikkunalle ennalta määritelly lokiviestin. Jos et halua välittää lokiviestiä komentorivillä, käytä valitsinta /logmsgfile:polku, missä polku viittaa tiedostoon, jossa lokiviesti on. Täyttääksesi vikatunnuskentän (olettaen, että olet integroinut TortoisSVN:n vikaseurantaohjelmaan) ennalta voit käyttää valitsinta /bugid:"vikatunnus tähän"
:addLisää tiedostot /path versionhallintaan.
:revertPeruu paikalliset muutokset työkopioon. Valitsin /path kertoo, mitkä kohteet perutaan.
:cleanupSiivoaa pois keskeytyneet tai keskeytetyt toiminnot ja poistaa lukituksen työkopiosta /path. Sinun on myös annettava valitsin /cleanup suorittaaksesi varsinaisen siivouksen. Käytä valitsinta /noui estääksesi tulosikkunan aukeamisen (ikkunassa kerrotaan joko siivouksen päättymisestä tai annetaan virheilmoitus). Valitsin /noprogressui jättää edistymisikkunan näyttämättä. Valitsin /nodlg estää siivoustoiminnon säätöikkunan näyttämisen. Käytettävissä olevat säädöt voidaan määritellä seuraavilla valitsimilla: /cleanup työkopion tilan siivous, /breaklocks lukkojen vapautus, /revert työkopion muutosten peruminen, /delunversioned, /delignored, /refreshshell, /externals, /fixtimestamps ja /vacuum.
:resolveMerkitsee valitsimen /path määrittämän ristiriitaisen tiedoston ratkaistuksi. Jos valitsin /noquestion on annettu, ratkaisu tehdään varmistamatta ensin käyttäjältä, pitäisikö se todella tehdä.
:repocreateLuo arkiston paikkaan /path
:switchAvaa vaihtoikkunan. Valitsin /path määrittää kohdehakemiston ja <placeholder-2> paikantimen, johon siirrytään.</placeholder-2>
:exportVie valitsimella /path määritellyn työkopion toiseen kansioon. Jos /path määrittää versioimattoman kansion, esiin aukeaa ikkuna, johon syötettävä paikannin viedään kansioon /path. Jos annat valitsimen /blockpathadjustments, polkujen automaattinen korjaus viennin yhteydessä estetään.
:dropexportVie paikassa /path olevan työkopion hakemistoon /droptarget. Vienti ei käytä vienti-ikkunaa vaan toimii suoraan. Valinta /overwrite ohjaa ylikirjoittamaan olemassa olevat tiedostot ilman käyttäjän vahvistusta, ja valinta /autorename määrittää, että viedyt tiedosot nimetään automaattisesti uudelleen ylikirjoituksen välttämikseksi. Valinta /extended voi olla joko localchanges pelkkien paikallisesti muuttuneiden tiedostojen viemiseksi tai versioimaton myös versioimattomien tiedostojen viemiseksi.
:dropvendorKopioi kansion /path palautuvasti kansioon /droptarget. Uudet tiedostot lisätään automaattisesti, ja puuttuvat tiedostot poistetaan kohdekansiosta. Tämä takaa, että lähde- ja kohdekansiot ovat samoja. Asetus /noui ohittaa vahvistusikkunan, ja asetus /noprogressui estää edistymisikkunan näyttämisen.
:mergeAvaa yhdistämisikkunan. Valitsin /path määrittää kohdehakemiston. Versiovälin yhdistämiseen voi käyttää seuraavia valitsimia: /fromurl:URL, /revrange:string. Kahden arkistopuun yhdistämiseen voi käyttää seuraavia valitsimia: /fromurl:URL, /tourl:URL, /fromrev:xxx ja /torev:xxx.
:mergeallAvaa Yhdistä kaikki -ikkunan. Valitsin /path määrittää kohdehakemiston.
:copyAvaa haarautumisikkunan. Valitsin /path kertoo työkopion, josta haara / merkitty versio tehdään. Valitsin /url on kohdepaikannin. Jos paikannin alkaa merkillä ^ sen oletetaan olevan suhteessa arkiston juureen. Valinta Vaihda työkopio osoittamaan haaraan / merkittyyn versioon voidaan m/switchaftercopy. Valinta Luo v voidaan m/makeparents. Voit my/logmsg lokiviestipohjan antamiseksi. Mik/logmsgfile:polku, misspolku kertoo tiedoston, miss
:settingsAvaa asetusikkunan.
:removePoistaa valitsimen /path määrittämät tiedostot versionhallinnasta.
:renameNimeää uudelleen tiedoston /path. Tiedoston uusi nimi annetaan aukeavaan ikkunaan. Välttääksesi kysymyksen samantapaisten tiedostojen nimeämisestä uudelleen, anna valitsin /noquestion.
:diffKäynnistää TortoiseSVN-asetuksissa määritellyn ulkoisen vertailuohjelman. Valitsin /path määrittää ensimmäisen tiedoston. Mikäli /path2 on annettu, vertailuohjelma vertaa näitä kahta tiedostoa. Jos /path2 jätetään pois, vertailu tehdään tiedoston /path ja sen BASE-version kanssa. Jos annetulla tiedostolla on myös ominaisuusmuutoksia, vertailutyökalu käynnistyy myös kullekin muutetulle ominaisuudelle. Valitsin /ignoreprops estää tämän. Halutessasi määritellä tarkan versionumeron, anna /startrev:xxx ja /endrev:xxx sekä mahdollisesti /pegrevision:xxx ankkuriversiota varten. Mikäli /blame on annettu ja /path2 ei, vertailu tehdään selvittämällä ensin tekijät annetuille versioille. Valitsin /line:xxx määrittää rivinumeron, joka näytetään vertailun käynnistyessä.
:shelveHyllyttää valitut polut uudelle hyllylle. Valitsin /shelfname:name määrittää hyllyn nimen. Valinnainen lokiviesti voidaan antaa valitsimella /logmsg:message. Mikäli valitsin /checkpointannetaan, hyllytetyt muutokset jätetään työkopioon.
:unshelveYhdistää hyllyn /shelfname:name sisällön työkopioon. Oletusarvoisesti käytetään hyllyn viimeisintä versiota, mutta tämän voi muuttaa valitsimella /version:X.
:showcompare

Paikantimista ja vertailtavista versioista riippuen komento näyttää joko unified diff-luettelon (mikäli valitsin unified on asetettu) tai luettelon muuttuneista tiedostoista. Mikäli paikantimet osoittavat tiedostoihin, komento käynnistää vertailuohjelman tiedostojen vertailemiseksi.

Valitsimet url1, url2, revision1 and revision2 ovat pakollisia. Valitsimet pegrevision, ignoreancestry, blame ja unified ovat valinnaisia.

Mikäli annetulla paikantimella on ominaisuusmuutoksia, ulkoinen vertailutyökalu käynnistetään kullekin muutetulle ominaisuudelle. Valitsin /ignoreprops estää tämän.

Mikäli muutokset halutaan unified diff -muodossa, niiden luettavuutta voidaan tarvittaessa parantaa asetuksella Lisää luettavuutta. Asetus näyttää merge-info -ominaisuudet helpommin luettavassa muodossa.

:conflicteditorKäynnistää TortoiseSVN-asetuksissa määritellyn yhdistämistyökalun valitsimella /path annetun ristiriitaisen tiedoston tarvitsemien tiedostojen kera.
:relocateAvaa Sijoita uudelleen -ikkunan. Valitsin /path määrittää uudelleen sijoitettavan työkopiopolun.
:helpAvaa käyttöohjeet.
:repostatusAvaa Tarkista muutokset -ikkunan. Valitsin /path määrittää työkopion hakemiston. Jos valitsin /remote on annettu, ikkuna ottaa yhteyden arkistoon välittömästi käynnistyttyään (ikään kuin käyttäjä olisi napsauttanut painiketta Tarkista arkisto).
:repobrowser

Käynnistää arkistoselaimen /path-valitsimella annetun työkopion paikantimeen, tai /path-valitsimen suoraan määrittämään paikantimeen.

Valitsin /rev:xxx määrittää arkistoselaimen näyttämän version. Mikäli sitä ei anneta, oletusarvona on HEAD.

Jos valitsin /path osoittaa paikantimeen, valitsin /projectpropertiespath:polku/työkopioon määrittää polun, josta luetaan ja johon käytetään projektiominaisuuksia.

Jos valitsin /outfile:polu\tiedostoon on annettu, valittu paikannin ja versio kirjoitetaan annettuun tiedostoon, kun arkistoselain suljetaan. Tiedoston ensimmäinen rivi sisältää paikantimen ja toinen rivi versionumeron tekstimuodossa.

:ignoreVie kaikki valitsimen /path määrittämät kohteet ohituslistaan, ts. lisää niille ominaisuuden svn:ignore.
:blame

Avaa Selvitä tekijä -ikkunan valitsimella /path määritellylle tiedostolle.

Jos valitsimet /startrev ja /endrev on asetettu, versioväli-ikkunaa ei näytetä, vaan ohjelma käyttää valitsimilla annettuja arvoja.

Jos valitsin /line:nnn on annettu, TortoiseBlame näyttää määritellyn rivin.

Valitsimia /ignoreeol, /ignorespaces ja /ignoreallspaces tuetaan myös.

:catTallentaa valitsimella /path annetun paikantimen tai työkopiopolun valitsimella /savepath:polku annettuun paikkaan. Versionumero annetaan valitsimella /revision:xxx; tätä voidaan käyttää hankkimaan tiedostosta tietty versio.
:createpatchLuo paikkatiedoston valitsemella /path annettuun polkuun. Ohittaaksesi Tallenna nimellä -ikkunan voit määritellä paikkatiedoston tallennuspolun valitsimella /savepath:polku. Anna valitsin /noview estääksesi paikkatiedoston näyttämisen unified diff -vertailuohjelmalla. Mikäli muutokset halutaan unified diff -muodossa, niiden luettavuutta voidaan tarvittaessa parantaa asetuksella Lisää luettavuutta. Asetus näyttää merge-info -ominaisuudet helpommin luettavassa muodossa.
:revisiongraph

Näytä versiograafi valitsimella /path annetulle polulle.

Luodaksesi kuvan versiograafista jollekin arkistopolulle näyttämättä itse graafi-ikkunaa, anna valitsin /output:polku jossa on kuvatiedoston polku. Tiedoston laajennusosan on oltava jokin seuraavista: .svg, .wmf, .png, .jpg, .bmp ja .gif.

Koska versiograafilla on useita valitsimia, jotka vaikuttavat sen ulkoasuun, voit myös määrittää ne luodessasi kuvatiedostoa. Anna nämä valitsimet muodossa /options:XXXX, missä XXXX on numeerinen arvo. Saat arvon parhaiten selville näyttämällä versiograafin normaaliin tapaan, säätämällä ulkoasun haluamaksesi ja sulkemalla graafin. Tällöin asetettava arvo voidaan lukea rekisteriavaimesta HKCU\Software\TortoiseSVN\RevisionGraphOptions.

:lockAvaa lukitusikkunan valitsimella /path määritellylle hakemistolle, jotta ne voidaan lukita (ja antaa lukitusviesti).
:unlockPoistaa lukituksen valitsimella /path määritellystä tiedostosta, tai, jos valitsin on kansio, kaikista kansion tiedostoista.
:rebuildiconcacheKorjaa Windowsin kuvakemuistin. Käytä tätä vain, jos ikkunoiden kuvakkeet eivät näy oikein. Toiminnon (väistämätön) sivuvaikutus on, että työpöydän kuvakkeet järjestetään uudelleen. Ohittaaksesi viestin, välitä valitsin /noquestion.
:properties

Näyttää ominaisuusikkunan valitsimella /path annetulle polulle.

Versioitujen ominaisuuksien kanssa tämä komento vaatii työkopion.

Versio-ominaisuuksia voidaan katsella/muuttaa, mikäli valitsin /path on paikannin ja valitsin /rev:XXX on annettu.

Avataksesi ominaisuusikkunan suoraan halutulle ominaisuudelle, välitä sen nimi muodossa /property:name.

:sync

Vie/tuo asetukset riippuen siitä, ovatko nykyiset vai viedyt asetukset tuoreempia, tai määritellysti.

Jos polku annetaan valitsimella /path, sitä käytetään asetusten tallettamiseen tai lukemiseen.

Valitsin /askforpath näyttää käyttäjälle avaa/talleta -ikkunan vienti/tuontipolun valitsemiseksi.

Jos kumpaakaan valitsimista /load tai /save ei anneta, TortoiseSVN päättelee valitsimen päiväyksen perusteella. Mikäli viety tiedosto on uudempi kuin nykyiset asetukset, ne noudetaan tiedostosta. Mikäli taas nykyiset asetukset ovat tuoreempia, ne viedään tiedostoon.

Valitsin /load tuo asetukset annetusta asetustiedostosta.

Valitsin /save tallettaa nykyiset asetukset annettuun tiedostoon.

Valitsin /local sisällyttää vietyihin asetuksiin paikalliset asetukset, jotka sisältävät esimerkiksi työasemakohtaisia hakemistopolkuja.


Esimerkkejä (syötä yhdelle riville):

TortoiseProc.exe /command:commit
                 /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
                 /logmsg:"test log message" /closeonend:0

TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0

TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
                 /startrev:50 /endrev:60 /closeonend:0

Tsvncmd-paikantimien käsittely

TortoiseProc-ohjelma voidaan käynnistää web-sivulta käyttämällä erityisiä paikantimia.

TortoiseSVN rekisteröi uudentsvncmd:-yhteyskäytännön, jota voidaan käyttää luomaan hyperlinkkejä, jotka suorittavat TortoiseSVN-komentoja. Komennot ja parametrit ovat samoja kuin TortoiseSVN-komentoriviparametrit.

tsvncmd:-paikantimen muoto on seuraava:

tsvncmd:command:cmd?parameter:paramvalue?parameter:paramvalue

missä cmd on jokin sallittu komento, parameter on jonkin parametrin nimi (esim. path tai revision), ja paramvalue on parametrille annettu arvo. Sallittujen parametrien joukko riippuu käytetystä komennosta.

Seuraavat komennot ovat sallittuja tsvncmd:-paikantimien yhteydessä:

  • :update
  • :commit
  • :diff
  • :repobrowser
  • :checkout
  • :export
  • :blame
  • :repostatus
  • :revisiongraph
  • :showcompare
  • :log
  • :properties

Esimerkkipaikannin voisi näyttää seuraavalta:

<a href="tsvncmd:command:update?path:c:\svn_wc?rev:1234">Update</a>

, tai mutkikkaammassa tapauksessa:

<a href="tsvncmd:command:showcompare?
url1:https://svn.code.sf.net/p/stefanstools/code/trunk/StExBar/src/setup/Setup.wxs?
url2:https://svn.code.sf.net/p/stefanstools/code/trunk/StExBar/src/setup/Setup.wxs?
revision1:188?revision2:189">compare</a>

TortoiseIDiff-komennot

Kuvien vertailutyökalulla on muutamia valitsimia, joita voi käyttää ohjaamaan työkalun käynnistymistä. Ohjelman nimi on TortoiseIDiff.exe.

Alla oleva taulukko luettelee kaikki valitsimet, jotka voi välittää kuvien vertailutyökalulle komentoriviltä.

Taulu D.2. Komentoriviparametrit

ValitsinKuvaus
:leftPolku vasemmalla näytettävään tiedostoon.
:lefttitleOtsikko, jota käytetään kuvanäkymässä kuvatiedoston koko polun sijaan.
:rightPolku oikealla näytettävään tiedostoon.
:righttitleOtsikko, jota käytetään kuvanäkymässä kuvatiedoston koko polun sijaan.
:overlayJos määritelty, vaihtaa kuvien vertailutyökaluun päällekkäistilan (alpha-sekoitus).
:fitJos määritelty, sovittaa molemmat kuvat yhteen.
:showinfoNäyttää tietoja kuvasta.


Esimerkki (syötä yhdelle riville):

TortoiseIDiff.exe /left:"c:\images\img1.jpg" /lefttitle:"image 1"
                  /right:"c:\images\img2.jpg" /righttitle:"image 2"
                  /fit /overlay

TortoiseUDiff-komennot

Unified diff -katseluohjelmalla on vain kaksi komentorivivalitsinta:

Taulu D.3. Komentoriviparametrit

ValitsinKuvaus
:patchfilePolku Unified diff -tiedostoon.
:pAktivoi putkitilan. Unified diff luetaan putkesta.


Esimerkkejä (jotka tulee syöttää yhdellä rivillä):

TortoiseUDiff.exe /patchfile:"c:\diff.patch"

Mikäli luot vertailutiedot toisella työkalulla, voit käyttää TortoiseUDiff-ohjelmaa sen näyttämiseen suoraan:

svn diff | TortoiseUDiff.exe /p

tämä toimii myös ilman /p -valitsinta:

svn diff | TortoiseUDiff.exe

Liite E. Vastaavuudet komentorivikomentojen kanssa

Tämä käyttöohje viittaa toisinaan Subversion-kirjaan (englanninkielinen), joka kuvaa Subversionin käyttöä komentoriviltä (command line interface, CLI). Jotta saisit paremman käsityksen TortoiseSVN:n toiminnasta, olemme koonneet luettelon graafisen käyttöliittymän komentoja vastaavista komentoriviasiakkaan komennoista.

Huomaa

Vaikka TortoiseSVN-komennoille on CLI-vastineensa, muista, että TortoiseSVN ei käytä CLI:tä vaan kytkeytyy suoraan Subversion-kirjastoihin.

Jos luulet löytäneesi virheen TortoiseSVN:stä, saatamme pyytää sinua toistamaan sen CLI:n avulla erottaaksemme TortoiseSVN-ongelmat Subversion-ongelmista. Tämä luku kertoo, mitä CLI-komentoja kannattaa koettaa.

Merkintätavat ja perussäännöt

Seuraavissa kuvauksissa hakemiston paikannin näytetään muodossa URL, esimerkiksi https://svn.code.sf.net/p/tortoisesvn/code/trunk/. Työkopion polku näytetään muodossa POLKU, esimerkiksi C:\TortoiseSVN\trunk.

Tärkeää

Koska TortoiseSVN on Windows-komentotulkin laajennos, se ei kykene hyödyntämään 'nykyisen työhakemiston' käsitettä. Kaikki työkopiopolut on annettava absoluuttisina (ei suhteellisina) polkuina.

Jotkut elementit ovat valinnaisia, ja niiden mukana olo määräytyy usein käyttöliittymän kontrollien perusteella. Valinnaiset elementit esitetään [hakasuluissa] komentorivimäärityksissä.

TortoiseSVN-komennot

Hae työkopio

svn checkout [-depth ARG] [--ignore-externals] [-r rev] PAIKANNIN POLKU
    

Syvyys-pudotusvalikon alkiot vastaavat -depth -valitsimen argumentteja.

Jos Ohita ulkoiset polut on valittu, käytä valitsinta --ignore-externals.

Jos haet työkopion tietystä versiosta, määritä se paikantimen jälkeen valitsimella -r.

Päivitä

svn info TYÖKOPION_PAIKANNIN
svn update [-r rev] POLKU
    

Usean kohteen päivitys ei nykyisin ole atominen toiminto Subversionissa. TortoiseSVN etsii ensin arkiston HEAD-version ja päivittää sitten kaikki kohteet tuohon versionumeroon välttääkseen työkopion sekaversiointia.

Jos kuitenkin vain yksi kohde päivitetään, tai valitut kohteet eivät ole samasta arkistosta, TortoiseSVN päivittää HEAD-versioon.

Tässä yhteydessä ei käytetä valitsimia. Päivitä versioon toteuttaa myös päivityskomennon, mutta tarjoaa enemmän valitsimia.

Päivitä versioon

svn info TYÖKOPION_PAIKANNIN
svn update [-r rev] [-depth ARG] [--ignore-externals] POLKU
    

Syvyys-pudotusvalikon alkiot vastaavat -depth -valitsimen argumentteja.

Jos Ohita ulkoiset polut on valittu, käytä valitsinta --ignore-externals.

Toimita

TortoiseSVN:n toimitusikkuna käyttää useita Subversion-komentoja. Ensimmäinen vaihe on tilatarkistus, joka tutkii, mitä tiedostoja ja kansioita työkopiostasi voidaan mahdollisesti toimittaa arkistoon. Voit tutkia listaa, vertailla tiedostoja BASE-versiota vasten ja valita ne kohteet, jotka haluat mukaan toimitukseen.

svn status -v POLKU
    

Jos Näytä versioimattomat tiedostot on valittu, TortoiseSVN luettelee myös versioimattomat tiedostot ja kansiot työkopiohierarkiassa (ottaen huomioon ohitussäännöt). Tällä ominaisuudella ei ole suoraa vastinetta Subversionissa, koska komento svn status ei etene versioimattomiin kansioihin.

Jos valitset versioimattomia tiedostoja ja kansioita, ne lisätään ensin työkopioosi.

svn add POLKU...
      

Kun napsautat OK, Subversion-toimitus käynnistyy. Jos olet jättänyt kaikki tiedostovalinnan oletustilaansa, TortoiseSVN käyttää yhtä palautuvaa (rekursiivista) toimitusta työkopiolle. Jos jätät tiedostoja pois toimituksesta, TortoiseSVN:n on käytettävä ei-palautuvaa (-N) toimitusta, ja kaikki polut annetaan erikseen komentorivillä.

svn commit -m "LokiViesti" [-depth ARG] [--no-unlock] POLKU...
      

LogMessage viittaa lokiviestikontrollin sisältöön. Se voi olla tyhjä.

Jos Säilytä lukot on valittu, käytä valitsinta --no-unlock.

Vertaa

svn diff POLKU
      

Jos käytät pääkontekstivalikon Vertaa-komentoa, vertaat muutettua tiedostoa sen kantaversiota (BASE) vastaan. Yllä oleva CLI-komento tekee myös tämän ja tuottaa tulokset unified diff-muodossa. TortoiseSVN ei kuitenkaan toimi näin, vaan käyttää TortoiseMerge-ohjelmaa (tai valitsemaasi vastaavaa työkalua) näyttääkseen erot graafisesti kokonaisten tiedostojen välillä. Suoraa CLI-vastinetta ei siis ole.

Voit myös verrata mitä tahansa kahta tiedostoa TortoiseSVN:n avulla, versioituja tai ei. TortoiseSVN vain välittää tiedostot valitulle vertailutyökalulle ja jättää erojen haun sen kontolle.

Näytä loki

svn log -v -r 0:N --limit 100 [--stop-on-copy] POLKU
tai
svn log -v -r M:N [--stop-on-copy] POLKU
      

Oletusarvoisesti TortoiseSVN yritää hakea sata lokiviestiä käyttämällä --limit -menetelmää. Jos asetukset ohjaavat sen käyttämään vanhaa Subversion-APIa, niin lokiviestit haetaan yksitellen sadalle arkistoversiolle.

Jos Pysähdy kopion/uudelleen nimennän kohdalla on valittu, käytä valitsinta --stop-on-copy.

Tarkista muutokset

svn status -v POLKU
tai
svn status -u -v POLKU
      

Alustava tilatarkistus tutkii vain työkopiotasi. Kun napsautat painiketta Tarkista arkisto, myös arkiston tiedostot tutkitaan mahdollista päivitystarkistusta varten. Tähän tarvitaan valitsinta -u.

Jos Näytä versioimattomat tiedostot on valittu, TortoiseSVN luettelee myös versioimattomat tiedostot ja kansiot työkopiohierarkiassa (ottaen huomioon ohitussäännöt). Tällä ominaisuudella ei ole suoraa vastinetta Subversionissa, koska komento svn status ei etene versioimattomiin kansioihin.

Versiograafi

Versiograafi on TortoiseSVN:n oma ominaisuus. Komentorivillä ei ole vastaavaa toimintoa.

TortoiseSVN suorittaa komennot

svn info TYÖKOPION_PAIKANNIN
svn log -v PAIKANNIN

missä paikannin on arkiston juuri. Sen jälkeen tiedot analysoidaan.

Arkistoselain

svn info TYÖKOPION_PAIKANNIN
svn list [-r rev] -v PAIKANNIN
      

Voit käyttää komentoa svn info selvittääksesi arkiston juuren, joka on arkistoselaimen ylin taso. Et voi siirtyä ylös tältä tasolta. Komento palauttaa myös kaikki arkistoselaimessa löytyvät lukitustiedot.

Komento svn list luettelee arkiston kansion sisällön, kunhan sille annetaan paikannin ja versio.

Muokkaa ristiriitoja

Tällä komennolla ei ole CLI-vastinetta. Se käynnistää TortoiseMerge-ohjelman (tai ulkoisen yhdistämisohjelman) verratakseen annettuja tiedostoja ja selvittääkseen, mitä rivejä tulee käyttää.

Ratkaistu

svn resolved POLKU
      

Nimeä uudelleen

svn rename NYKYINEN_POLKU UUSI_POLKU
      

Poista

svn delete POLKU
      

Palauta

svn status -v POLKU
    

Ensimmäsessä vaiheessa tehdään tilatarkistus, joka määrittää, mitkä työkopiosi osat voidaan palauttaa. Voit tutkia listaa, verrata tiedostoja kantaversioihin ja lopuksi valita palautettavat kohteet.

Kun napsautat OK, Subversionin revert-toiminto käynnistyy. Jos jätit kaikki valinnat oletusarvoihinsa, TortoiseSVN suorittaa toiminnon palautuvasti (-R) työkopiolle. Jos muutat valintoja, jokainen polku on annettava erikseen revert-komennon komentorivillä.

svn revert [-R] POLKU...
      

Siivoaminen

svn cleanup POLKU
      

Lukitse

svn status -v POLKU
    

Ensimmäisessä vaiheessa tarkistetaan, mitkä työkopiosi tiedostot voidaan lukita. Voit sitten valita kohteet, jotka haluat lukita.

svn lock -m "LukitusViesti" [--force] POLKU...
      

LockMessage on syötetty lukitusviesti. Se voi olla tyhjä.

Mikäli Varasta lukot on ruksattu, käytä valitsinta --force.

Poista lukitus

svn unlock POLKU
      

Luo haara / merkitty versio

svn copy -m "LokiViesti" PAIKANNIN PAIKANNIN
tai
svn copy -m "LokiViesti" PAIKANNIN@versio PAIKANNIN@versio
tai
svn copy -m "LokiViesti" POLKU PAIKANNIN
      

Haarautumisikkuna suorittaa kopion arkistoon. Kopiolähde voidaan valita kolmella eri tavalla:

  • Uusin arkistoversio (HEAD)
  • Tietty arkiston versio
  • Työkopio

jotka vastaavat yllä olevia komentorivivaihtoehtoja.

LogMessage viittaa lokiviestikontrollin sisältöön. Se voi olla tyhjä.

Vaihda

svn info TYÖKOPION_PAIKANNIN
svn switch [-r versio] PAIKANNIN POLKU
      

Yhdistä

svn merge [--dry-run] --force MISTÄ_PAIKANNIN@versioN MIHIN_PAIKANNIN@versioM POLKU
      

Valinta Testiajo suorittaa saman yhdistämisen valitsimen --dry-run kera.

svn diff MISTÄ_PAIKANNIN@versioN MIHIN_PAIKANNIN@versioM
      

Valinta Unified diff näyttää vertailuoperaation, jota käytetään yhdistämiseen.

Vie

svn export [-r versio] [--ignore-externals] PAIKANNIN VIENTIPOLKU
      

Työkopion vienti eri paikkaan tehdään käyttämättä Subversion-kirjastoa, joten sille ei ole komentorivivastinetta.

TortoiseSVN kopioi tiedostot uuteen paikkaan näyttäen samalla edistymisasteen. Myös versioimattomat kansiot/tiedostot voidaan kopioida niin haluttaessa.

Molemmissa tapauksissa, jos valinta Ohita ulkoiset polut on päällä, käytä valitsinta --ignore-externals.

Siirrä

svn switch --relocate MISTÄ_PAIKANNIN MIHIN_PAIKANNIN
      

Luo arkisto tänne

svnadmin create --fs-type fsfs POLKU
      

Lisää

svn add POLKU...
      

Jos valitsit kansion, TortoiseSVN käy sen ensin palautuvasti läpi etsien lisättäviä alkioita.

Tuo

svn import -m LokiViesti POLKU PAIKANNIN
      

LogMessage viittaa lokiviestikontrollin sisältöön. Se voi olla tyhjä.

Selvitä tekijät

svn blame -r N:M -v POLKU
svn log -r N:M POLKU
      

Jos käytät TortoiseBlame-komentoa tekijätietojen tutkimiseen, tarvitaan myös tiedoston loki, jotta se voidaan näyttää työkaluvihjeissä. Jos tutkit tekijätietoja pelkkänä tekstinä tekstieditorilla, tätä tietoa ei tarvita.

Lisää ohituslistaan

svn propget svn:ignore POLKU> tempfile
{muokkaa uusi ohitettava polku tiedostoon tempfile}
svn propset svn:ignore -F tempfile POLKU
      

Koska svn:ignore-ominaisuus on usein monirivinen arvo, sen muutos näytetään tässä tekstitiedoston kautta tehtynä, eikä suoraan komentoriviltä annettuna.

Luo paikkatiedosto

svn diff POLKU > patch-file
      

TortoiseSVN luo paikkatiedoston unified diff-muodossa vertaamalla työkopiota sen kantaversioon.

Käytä paikkatiedosto

Paikkatiedoston käyttäminen voi olla mutkikasta, jos paikka ja työkopio eivät ole samassa versiossa. Mahdolliset ristiriidat ratkaistaan TortoiseMergellä, jolla ei ole suoraa vastinetta Subversionissa.

Liite F. Toteutusyksityiskohtia

Tässä liitteessä on lisätietoja joidenkin TortoiseSVN-ominaisuuksien toteutuksesta.

Kuvakepäällykset

Jokaisella tiedostolla ja kansiolla on Subversion-kirjaston raportoima tila. Komentoriviasiakas näyttää tilat kirjainkoodeina, mutta TortoiseSVN näyttää ne graafisesti kuvakepäällysten avulla. Koska päällysten määrä on rajoitettu, kukin päällys saattaa esittää useaa tilaa.

Kuvakepäällystä ristiriidassa käytetään esittämään tiloja ristiriitainen (päivitys tai vaihto tuottaa ristiriitoja paikallisten muutosten ja arkiston välillä) ja estetty (toimintoa ei voi viedä loppuun).

Kuvakepäällystä muutettu käytetään kuvaamaan tiloja muutettu (olet tehnyt paikallisia muutoksia), yhdistetty (arkiston muutokset on yhdistetty paikallisten kansssa) ja korvattu (tiedosto on poistettu ja korvattu toisella, saman nimisellä tiedostolla).

Kuvakepäällystä poistettu käytetään kuvaamaan tiloja poistettu (kohde on merkitty poistettavaksi) tai puuttuu (kohdetta ei ole). Puuttuvalla kohteella ei tietenkään voi olla kuvakepäällystä, mutta sen sisältävä kansio näytetään puuttuvana, jos jokin sen osa puuttuu.

Kuvakepäällystä lisätty käytetään esittämään tilaa lisätty, kun kohde on lisätty versionhallintaan.

Kuvakepäällystä versioitu käytetään kuvaamaan tilaa normaali tai versioitua kohdetta, jonka tilaa ei vielä tiedetä. Koska TortoiseSVN käyttää taustaprosessia tilatietojen haluun, kuvakepäällyksen päivittymiseen saattaa mennä muutama sekunti.

Kuvakepäällystä Tarvitsee lukon käytetään, kun tiedoston svn:needs-lock -ominaisuus on asetettu.

Kuvakepäällystä Lukittu käytetään, kun työkopiolla on lukko ko. tiedostoon.

Kuvakepäällystä ohitettu käytetään kuvaamaan kohdetta tilassa ohitettu. Tämä voi johtua siitä, että se on yleisessä ohituslistassa tai ylemmän kansion svn:ignore-ominaisuudessa. Päällys on valinnainen.

Kuvakepäällystä versioimaton käytetään esittämään tilaa versioimaton. Tällainen kohde sisältyy versioituun kansioon, mutta ei ole itsessään versioitu. Päällys on valinnainen.

Jos tiedostolla on Subversion-tila pois käytöstä (kohde ei ole työkopiossa), kuvakepäällystä ei näytetä. Jos olet estänyt ohitettujen ja versioimattomien kuvakkeiden käytön, päällyksiä ei näytetä myöskään näille kohteille.

Kohteella voi olla vain yksi Subversion-tila. Tiedostoa voi olla esimerkiksi muutettu paikallisesti ja merkitty samalla kertaa poistettavaksi. Subversion palauttaa kuitenkin vain yhden tilan - tässä tapauksessa poistettu (Subversion määritelee tilojen suhteet).

Kun TortoiseSVN näyttää tilan palautuvasti (oletusasetus), kukien kansio näyttää kuvakepäällyksen, joka kuvaa sen itsensä sekä kaikkien lapsien tilaa. Tällaisen kuvakepäällyksen yhteenvedon määritykseen käytetään yllä kuvattua prioriteettijärjestystä (tilalla ristiriitainen on korkein prioriteetti).

Saatat havaita, että järjestelmäsi ei sisällä kaikkia kuvakkeita. Tämä johtuu siitä, että Windows rajoittaa kuvakepäällysten maksimimääräksi 15. Windows käyttää itse neljä, ja jäljelle jäävät 11 ovat muiden sovellusten käytettävissä. Jos tarjolla ei ole riittävästi paikkoja, TortoiseSVN koettaa rajoittaa kuvakepäällystensä määrää jättääkseen niitä muiden sovellusten käyttöön.

Koska Tortoise-tyyppisiä ohjelmia on saatavana muille versionhallintajärjestelmille, olemme luoneet jaetun komponentin kuvapäällysten hallintaan. Komponentin avulla kaikki ohjelmat voivat käyttää samoja kuvakepäällyksiä, jolloin Windowsin 11 kuvakepäällyksen raja ei täyty asennettaessa useampi kuin yksi Tortoise-ohjelma. Tässä on pieni mutta: koska kaikki Tortoise-ohjelmat käyttävät samoja kuvakepäällyksiä, et voi niiden avulla päätellä, mihin versionhallintajärjestelmään mikin työkopio on kytkeytynyt.

  • Normaali, Muutettu ja Ristiriitainen haetaan aina ja ovat aina näkyvissä.

  • Päällys poistettu ladataan mikäli mahdollista, mutta palautuu päällykseen muutettu mikäli paikkoja ei ole riittävästi.

  • Päällys vain luku ladataan mikäli mahdollista, mutta palautuu päällykseen normaali jos paikkoja ei ole riittävästi.

  • Päällys Lukittu ladataan mikäli mahdollista, mutta palautuu päällykseen normaali jos paikkoja ei ole riittävästi.

  • Päällys Lisätty ladataan mikäli mahdollista, mutta palautuu päällykseen muutettu mikäli paikkoja ei ole riittävästi.

Liite G. Kielipaketit ja tavutuksen tarkastus

Vakioasennuspaketti sisältää vain englanninkielisen version, mutta voit noutaa ja asentaa erillisiä kielipaketteja sekä tavutussanastoja asennuksen jälkeen.

Kielimodulit

TortoiseSVN-ohjelman käyttöliittymä on käännetty useille kielille, joten saatat hyvinkin löytää tarvitsemasi käännöksen. Löydät kielipaketit käännösten tilanne-sivultamme. Jos tarvitsemaasi kieltä ei ole vielä saatavilla, liity joukkoon toimita oma käännöksesi ;-)

Jokainen kielimoduli on paketoitu .msi-muodossa olevaan asennusohjelmaan. Asennus tapahtuu käynnistämällä asennusohjelma ja seuraamalla ohjeita. Asennuksen jälkeen käännös on saatavilla.

Käyttöohjeet on myös käännetty useille eri kielille. Ne ovat saatavilla verkkosivustomme tukisivulta.

Oikeinkirjoituksen tarkistus

TortoiseSVN käyttää Windowsin tavutustarkistajaa, mikäli sellainen on saatavilla (Windows 8 ja uudemmat). Tämä tarkoittaa, että jos haluat tavutustarkistuksen toimivan jollain muulla kuin käyttöjärjestelmän asennuskielellä, sinun on asennettava tavutusmoduuli Windows-asetuksissa (Asetukset > Aika & kieli > Alue & kieli).

TortoiseSVN käyttää tätä tavutustarkistajaa, mikäli projektiominaisuus tsvn:projectlanguage on määritetty.

Mikäli Windowsin tavutustarkistaja ei ole saatavilla, TortoiseSVN voi myös käyttää tavutussanakirjoja OpenOffice ja Mozilla -projekteista.

Asennusohjelma lisää automaattisesti US ja UK -englannin sanastot. Mikäli haluat muita kieliä, helpoin vaihtoehto on yksinkertaisesti asentaa jokin TortoiseSVN-kielimoduli. Se asentaa tarpeelliset sanastotiedostot samoin kuin lokalisoidun käyttöliittymän TortoiseSVN-ohjelmalle. Asennuksen jälkeen myös sanasto on saatavilla.

Voit myös asentaa sanastot itse. Mikäli OpenOffice tai Mozilla on asennettu, voit kopioida sanastot näiden ohjelmien asennushakemistoista. Muuten tarvittavat sanakirjat on noudettava osoitteesta http://wiki.services.openoffice.org/wiki/Dictionaries.

Kun olet saanut sanastotiedostot, joudut luultavasti nimeämään ne uudelleen siten, että tiedostonimissä on vain kielialuetunnus. Esimerkki:

  • en_US.aff

  • en_US.dic

Lopuksi vain kopioit tiedostot hakemistoon %APPDATA%\TortoiseSVN\dic. Jos hakemistoa ei ole, sinun on luotava se ensin. TortoiseSVN etsii myös asennushakemiston kansion Languages sisällön (tavallisesti paikassa C:\Program Files\TortoiseSVN\Languages). Kieliasennuspaketit asentuvat tänne. %APPDATA%-kansioon kirjoitus ei kuitenkaan vaadi pääkäyttäjän oikeuksia ja on siten etusijalla. Kun TortoiseSVN seuraavan kerran käynnistyy, oikeinkirjoituksen tarkistus on saatavilla.

Jos asennat useita sanastoja, TortoiseSVN käyttää seuraavia sääntöjä valitakseen käytettävän sanaston.

  1. Tarkista tsvn:projectlanguage -asetus. Katso ”Projektiasetukset” saadaksesi lisätietoa projektin ominaisuuksien asettamisesta.

  2. Mikäli projektikieltä ei ole asetettu, tai kyseistä kieltä ei ole asennettu, yritä Windows-asennuskieltä.

  3. Jos Windows-asennuskieli ei toimi, koeta Base-kieltä, esim. de_CH (Sveitsi-Saksa) palautuu takaisin kieleen de_DE (Saksa).

  4. Mikäli mikään yllä olevista ei toimi, oletuskieleksi asetetaan englanti, joka kuuluu vakioasennukseen.

Sanasto

Lisää

Subversion-komento, jota käytetään lisäämään tiedosto tai kansio työkopioosi. Uudet kohteet lisätään arkistoon, kun teet toimituksen.

Kantaversio (BASE)

Tiedoston tai kansion nykyinen kantaversion työkopiossasi. Tämä on se versio, johon tiedosto tai kansio siirtyi, kun viimeksi teit työkopion haun, päivityksen tai toimituksen. BASE-version ei tavallisesti ole sama kuin HEAD-versio.

Selvitä tekijät

Tämä komento on vain tekstitiedostoille; se yhdistää jokaiseen riviin tiedon siitä, missä arkistoversiossa sitä viimeksi muutettiin, ja kuka muutoksen teki. Graafisella käyttöliittymällä varustettu versiomme tästä on nimeltään TortoiseBlame; se myös näyttää toimituspäiväyksen, kellonajan ja lokiviestin, kun viet hiiren versionumeron päälle.

Haara

Versionhallintajärjestelmissä käytetty termi, joka kuvaa tilannetta, jossa ohjelmiston kehitys eriytyy kahdelle eri polulle. Voit luoda haaran pääkehityshaarasta (usein "trunk") kehittääksesi uutta ominaisuutta ilman, että pääkehityshaara muuttuu epävakaaksi. Voit myös tehdä vakautushaaran, johon korjataan vain virheitä, samalla kun uudet ominaisuudet lisätään (epävakaaseen) päähaaraan. Subversionissa haarat on toteutettu halpoina kopioina.

Hae työkopio

Subversion-komento, joka luo paikallisen työkopion tyhjään hakemistoon noutamalla versioidut tiedostot arkistosta.

Siivoaminen

Lainaus Subversion-kirjasta: Siivoa työkopio palautuvasti, poistamalla lukitukset ja jatkamalla kesken jääneitä toimintoja. Jos törmäät joskus virheeseen työkopio lukittu, suorita tämä komento poistaaksesi vanhentuneet lukot ja saadaksesi työkopiosi jälleen käyttökelpoiseksi. Huomaa, että tässä yhteydessä lukitus viittaa tiedostojärjestelmän lukitukseen, ei arkiston lukkoihin.

Toimita

Tämä Subversion-komento siirtää muutokset paikallisesta työkopiostasi arkistoon, luoden samalla uuden arkistoversion.

Ristiriita

Kun arkiston muutokset yhdistetään paikallisiin muutoksiin, ne ovat joskus samojen tiedostojen samoilla riveillä. Tässä tapauksessa Subversion ei voi automaattisesti päättää, mitä versiota käyttää - tiedoston sanotaan olevan ristiriitainen. Sinun on muokattava tiedostoa käsin ja ratkaistava ristiriita ennen kuin voit toimittaa uusia muutoksia arkistoon.

Kopio

Subversion-arkistossa voi kopioida yksittäisiä tiedostoja tai kokonaisen puun. Nämä toiminnot on toteutettu halpoina kopioina, jotka ovat ikään kuin linkkejä alkuperäiseen ja vievät siten erittäin vähän tilaa. Kopiointi säilyttää kohteen historian kopiossa, joten voit jäljittää muutoksia, jotka tehtiin ennen kopion tekoa.

Poista

Kun poistat versioidun kohteen (ja toimitat muutoksen arkistoon), se ei enää näy arkistossa toimitetusta versiosta lähtien. Kohde on kuitenkin yhä olemassa aiemmissa arkistoversioissa, joten siihen on yhä mahdollista päästä käsiksi. Jos tarpeen, voit kopioida poistetun kohteen ja herättää sen henkiin, muutoshistoria mukaan lukien.

Vertaa

Lyhennysmerkintä komennolle Vertaa. Hyödyllinen, jos haluat nähdä, mitä muutoksia on tehty.

Vie

Komento tuottaa kopion versioidusta kansiosta ilman .svn-kansioita.

FSFS

Subversionin tiedostojärjestelmä, jota käytetään arkistojen toteutustekniikkana. Voidaan käyttää verkkojakojen kanssa. Oletustekniikka Subversion-versiosta 1.2 eteenpäin.

GPO

Ryhmäkäytäntöolio.

HEAD-versio

Tiedoston tai kansion viimeisin versio arkistossa.

Tuo

Subversion-komento, joka tuo kokonaisen kansiohierarkian arkistoon yhtenä versiona.

Lukitse

Kun lukitset versioidun kohteen, siihen ei voida toimittaa muutoksia muualta kuin siitä työkopiosta, jossa lukitus tehtiin.

Loki

Näyttää tiedoston tai kansio versiohistorian. Tunnetaan myös nimellä Historia.

Historia

Näyttää tiedoston tai kansion versiohistorian. Tunnetaan myös nimellä Loki.

Yhdistä

Prosessi, jolla arkiston muutokset lisätään työkopioosi hävittämättä paikallisesti tekemiäsi muutoksia. Joskus näitä muutoksia ei voida ratkoa automaattisesti, ja silloin työkopion sanotaan olevan ristiriitainen.

Yhdistäminen tapahtuu automaattisesti, kun päivität työkopiosi. Voit myös yhdistää yksittäisiä muutoksia toisesta haarasta TortoiseSVN:n yhdistämisikkunassa.

Paikka

Jos työkopiossa on muutoksia vain tekstitiedostoihin, on mahdollista käyttää Subversionin Vertaa-komentoa (diff) näiden muutosten kuvaamiseksi yhdessä tiedostossa unified diff-muodossa. Tällaista tiedostoa kutsutaan usein Paikaksi (patch), ja se voidaan välittää sähköpostilla jollekulle ja käyttää toisessa työkopiossa. Henkilö, jolla ei ole toimitusoikeuksia, voi toimittaa paikkatiedoston kehittäjälle, jolla tällainen oikeus on. Paikan voi myös lähettää postituslistalle katselmoitavaksi.

Ominaisuus

Tiedostojen ja kansioiden versioinnin lisäksi Subversion sallii versioidun metatiedon (ominaisuuksien) lisäämisen yksittäisille tiedostoille ja kansioille. Kullakin ominaisuudella on nimi ja arvo (vrt. rekisteriavain). Subversion käyttää sisäisesti muutamia ominaisuuksia, joilla on erityismerkitys (esim. svn:eol-style). Sama pätee TortoiseSVN:ään (esim. tsvn:logminsize). Voit myös vapaasti lisätä omia ominaisuuksiasi.

Siirrä

Jos arkistosi siirtyy esim. uuteen hakemistoon tai uudelle palvelimelle, joudut sijoittamaan työkopion uudelleen jotta sen arkistopaikantimet osoittavat uuteen paikkaan.

Huomaa: tätä komentoa tulee käyttää vain, jos työkopio viittaa saman arkiston samaan paikkaan ja itse arkisto siirtyy. Useimmissa muissa tapauksissa haluat sen sijaan luultavasti käyttää komentoa Vaihda.

Arkisto

Arkisto on keskeinen paikka, mihin tietoa talletetaan ja missä sitä ylläpidetään. Arkisto voi olla paikka, joka jakaa useita tietokantoja tai tiedostoja verkon yli; arkisto voi myös olla paikka, joka on suoraan käyttäjän saatavilla ilman, että tietoa tarvitsee hakea verkosta.

Ratkaise

Kun työkopion tiedostot jäävät yhdistämisen jälkeen ristiriitatilaan, ristiriidat on ratkottava kehittäjän toimesta jollain työkalulla (esim. TortoiseMerge). Tätä toimenpidettä kutsutaan ristiriitojen ratkaisemiseksi. Kun työ on valmis, voit merkitä ristiriitaiset tiedostot ratkaistuiksi, minkä jälkeen ne voidaan toimittaa arkistoon.

Palauta

Subversion säilyttää paikallista alkuperäistä kopiota jokaisesta tiedostosta sellaisena, kuin se oli viimeisen työkopion päivityksen yhteydessä. Jos teet muutoksia ja päätät perua ne, voit käyttää komentoa palauta palauttaaksesi alkuperäisen version.

Versio

Joka kerta kun toimitat joukon muutoksia, luot uuden version arkistoon. Jokainen versio esittää arkiston tilaa tietyssä kohtaa sen historiassa. Jos haluat siirtyä taakse päin ajassa, voit tutkia arkistoa sellaisena kuin se oli versiossa N.

Toisessa mielessä versio voi viitata siihen muutosten joukkoon, jotka tehtiin versiota luotaessa.

Versio-ominaisuus (revprop)

Aivan kuten tiedostoilla voi olla ominaisuuksia, niin voi myös kullakin arkiston versiolla. Joitakin erityisiä versio-ominaisuuksia lisätään automaatitsesti, kun versio luodaan, nimittäin: svn:date svn:author svn:log, joiden avulla esitetään toimitusaika, toimittaja ja lokiviesti. Näitä ominaisuuksia voi muokata, mutta niitä ei versioida, joten kaikki muutokset ovat pysyviä eikä niitä voida perua.

SVN

Subversionista usein käytetty lyhenne

Erityisen Subversion-yhteyskäytännön nimi, jota käyttää svnserve -arkistopalvelu.

Vaihda

Samoin kuin päivitä-versioon muuttaa työkopion aikaikkunan osoittamaan eri kohtaan historiassa, samoin komento vaihda muuttaa työkopion tilaikkunaa siten, että se osoittaa eri osaan arkistoa. Se on erityisen hyödyllinen kun työskennellään sellaisen päähaaran ja kehityshaarojen kanssa, joissa vain muutamat tiedostot poikkeavat toisistaan. Voit vaihtaa työkopiosi näitten välillä, ja vain muuttuneet tiedostot siirretään.

Päivitä

Tämä Subversion-komento hakee viimeisimmät muutokset arkistosta työkopioosi, yhdistäen muitten mahdollisesti tekemät muutokset paikallisiin muutoksiisi.

Työkopio

Paikallinen hiekkalaatikkosi, alue jossa työskentelet versioitujen tiedostojen kanssa. Sijaitsee tavallisesti paikallisella kiintolevylläsi. Työkopio luodaan suorittamalla Hae työkopio -komento arkistosta, ja saat siirrettyä muutoksesi takaisin arkistoon komennolla Toimita.

Indeksi

C

CLI,
COM, ,
COM SubWCRev-rajapinta, COM-rajapinta

E

epätäydellinen työkopio, Työkopion hakeminen
erikoistiedostot, Erikoistiedostot
estä toimintoja, Estä kontekstivalikon komentoja
etätoimitukset,

I

IBugtraqProvider,
irrota arkistosta, Ohita aiemmin versioidut tiedostot

O

ohita, Tiedostojen ja kansioiden ohittaminen
ohjelman päivitystarkistus, Päivitystarkistuksen uudelleen ohjaus
oikea-napsauta, Kontekstivalikot
oikeinkirjoituksen tarkistus, Oikeinkirjoituksen tarkistus
ongelman jäljitysohjelma, Integrointi vikaseurantaohjelmiin,
osittainen työkopio, Työkopion hakeminen