Kako vključim skupni podprojekt

Včasih želite vključiti v delovno kopijo še en projekt, mogoče izvorno kodo za knjižnico, ki jo uporabljate. Ne želite narediti dvojnika izvorne kode v svojem skladišču, saj s tem izgubite povezavo z izvirno (vzdrževano) kodo. Ali pa imate več projektov, ki si delijo skupno kodo. Obstajajo vsaj trije načini, kako se spopasti s tem.

Uporabite lastnost svn:externals

Set the svn:externals property for a folder in your project. This property consists of one or more lines; each line has the name of a sub-folder which you want to use as the checkout folder for common code, and the repository URL that you want to be checked out there. For full details refer to “External Items”.

Objavite novo mapo. Pri posodobitvi bo Subversion potegnil kopijo projekta iz skladišča v vašo delovno kopijo. Če je to potrebno, se podmape ustvarijo samodejno. Ob vsaki posodobitvi delovne kopije boste posodobili tudi vse zunanje projekte.

If the external project is in the same repository, any changes you make there will be included in the commit list when you commit your main project.

Če se zunanji projekt nahaja v drugem skladišču, bodo vse spremembe, ki jih naredite na zunanjem projektu, prikazane, ko boste objavili glavni projekt, vendar morate zunanje spremembe objaviti posebej.

Od vseh treh opisanih možnosti je ta edina, ki ne potrebuje namestitve na strani odjemalca. Ko so zunanje datoteke določene v lastnostih map, bodo ob posodobitvi vsi odjemalci popolnili mape.

Uporabite vgnezdeno delovno kopijo

Ustvarite novo mapo znotraj svojega projekta, ki naj vsebuje skupno kodo, vendar je ne dodajte v sistem Subversion.

Na novi mapi izvedite TortoiseSVNPrevzem skupne kode. Sedaj imate ločeno delovno kopijo vgnezdeno v svoji glavni delovni kopiji.

Ti dve delovni kopiji sta neodvisni. Ko objavite spremembe na korenski delovni kopiji, se spremembe na vgnezdeni delovni kopij prezrejo. Podobno je v primeru posodobitve: ko posodobite korensko delovno kopijo, je vgnezdena prezrta.

Uporabite relativno lokacijo

Če na več projektih uporabljate skupno kodo in ne želite imeti več delovnih kopij te kode, jo lahko prevzamete v posebno mapo, nato pa naredite povezavo nanjo v vseh projektih. Primer:

C:\Projekti\Proj1
C:\Projekti\Proj2
C:\Projekti\Proj3
C:\Projekti\Skupno

in naredite povezavo na skupno kodo z uporabo relativne poti, n. pr. ..\..\Skupno\SkupnaKoda.

Če so vaši projekti razmetani na nepovezanih lokacijah, lahko uporabite posebno variacijo zgornje rešitve. Skupno kodo shranite v svojo mapo, nato pa uporabite preslikavo pogonov in preslikate to lokacijo v nekaj, kar lahko uporabite v svojih projektih. Primer: prevzemite skupno kodo v D:\Documents\Framework ali C:\Documents and Settings\{login}\My Documents\framework in potem uporabite

SUBST X: "D:\Documents\framework"

da ustvarite preslikavo pogona za uporabo v izvorni kodi. V kodi sedaj uporabljate absolutne lokacije.

#include "X:\superio\superio.h"

Ta metoda deluje le v okoljih, kjer vsi uporabniki uporabljajo računalnike PC. Preslikave pogonov boste morali dokumentirati, da bodo ostali člani teama vedeli, od kje prihajajo te skrivnostne datoteke. Metoda naj se uporablja v zaprtem krogu razvijalcev, za splošno uporabo pa ni priporočljiva.