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.