Zahrnout společný podprojekt

Někdy budete chtít zahrnout další projekty v rámci vaší pracovní kopie, možná zdrojový kód některých knihoven. Existují minimálně 4 způsoby jak toto řešit.

Pomocí svn:externals

Nastavte vlastnost svn:externals na adresář v projektu. Tato vlastnost se skládá z jednoho nebo více řádků, každý řádek má název podadresáře, který chcete použít jako adresář získání společného kódu a URL úložiště, které tam chcete získat. Pro podrobnosti si prohlédněte „Externí položky“.

Odevzdejte nový adresář. Nyní, když aktualizujete, Subversion stáhne kopii tohoto projektu z jeho úložiště do Vaší pracovní kopie. Podadresáře jsou automaticky vytvořeny v případě potřeby. Pokaždé, když budete aktualizovat svoji hlavní pracovní kopii, obdržíte také nejnovější verze všech externích projektů.

Pokud je externí projekt ve stejném úložišti, všechny změny, které v něm provedete, budou při odevzdání hlavního projektu zahrnuty.

Pokud je externí projekt v jiném úložišti, všechny změny v něm provedené budou při odevzdání hlavního projektu zobrazeny či vyznačeny, ale tyto vnější změny musíte odevzdat samostatně.

Ze tří uvedených metod, tato je jediná, který nepotřebuje žádné nastavení na straně klienta. Jakmile jsou externí uvedeny ve vlastnostech adresáře, všichni klienty při aktualizaci dostanou zaplněný adresář.

Pomocí vnořené pracovní kopie

Vytvořte nový adresář ve Vašem projektu, který bude obsahovat společný kód, ale nepřidávejte ho do Subversion.

Vyberte TortoiseSVNZískat na nový adresář a získejte do něj kopii společného kódu. Nyní máte samostatnou pracovní kopii vnořenou ve své hlavní pracovní kopii.

Tyto dvě pracovní kopie jsou nezávislé. Když odevzdáváte změny do nadřazené pracovní kopie, jsou ve vnořené ignorovány. Podobně při aktualizaci nadřazené pracovní kopie, není vnořená aktualizována.

Pomocí relativního umístění

Pokud používáte stejné společné kódové jádro v několika projektech a nechcete mít více pracovních kopií jádra pro každý projekt, který ho používá, stačí ho získat do samostatného místa, které se vztahuje na všechny ostatní projekty, které ho používají. Například:

C:\Projekty\Proj1
C:\Projekty\Proj2
C:\Projekty\Proj3
C:\Projekty\Společné 

a odkázat na společný kód pomocí relativní cesty, např. ..\..\Společné\DSPcore.

Pokud jsou Vaše projekty rozptýleny v nesouvisejících místech, můžete použít variantu tohoto, což je dát společný kód na jedno místo a použít substituci písmena jednotky k zmapování umístění na něco, co můžete pevně zakódovat do Vašich projektů, např. Získat společný kód do D:\Dokumenty\Framework nebo C:\Documents and Settings\{přihlašovací jméno}\Mé Dokumenty\framework pak použijte

SUBST X: "D:\Dokumenty\framework"

k vytvoření mapování disku použité ve Vašem zdrojovém kódu. Váš kód pak může použít absolutní umístění.

#Include "X:\Superio\superio.h"

Tato metoda bude fungovat pouze v prostředí PC a budete muset zdokumentovat požadované mapování disku, takže váš tým bude vědět, kde jsou tyto záhadné soubory. Tato metoda je výhradně pro použití v uzavřených vývojových prostředích a nedoporučuje se pro všeobecné použití.

Přidat projekt do úložiště

Možná nejjednodušším způsobem je prostě projekt přidat do podsložky v pracovní kopii vašeho projektu. To má ale své nedostatky - tento externí projekt musíte aktualizovat ručně.

Abychom Vám pomohli s aktualizací, TortoiseSVN má v kontextové nabídce příkaz, který založí větev dodavatele. Stačí jednoduše přetáhnout pravým tlačítkem složku, kde jste rozbalili novou verzi externí knihovny na složku ve vaší pracovní kopii a pak volit Kontextové menuZde založit SVN větev dodavatele. To pak zkopíruje nové soubory do cílové složky a automaticky přidá nové soubory a odstraní ty, které již v nové verzi nejsou.