Manuals

Externé položky

Niekedy je užitočné zostaviť pracovnú kópiu, ktorá je vytvorená z množstva rôznych overení. Môžete napríklad chcieť, aby rôzne súbory alebo podpriečinky pochádzali z rôznych umiestnení v úložisku alebo spolu z rôznych úložísk. Ak chcete, aby mal každý užívateľ rovnaké rozloženie, môžete definovať vlastnosti svn:externals pre stiahnutie zadaného zdroja na miesta, kde sú potrebné.

Externé priečinky

Povedzme, že ste si overili pracovnú kópiu /project1 do D:\dev\project1. Vyberte priečinok D:\dev\project1 , kliknite pravým tlačidlom myši a vyberte si ponuku WindowsVlastnosti z kontextovej ponuky. Zobrazí sa dialógové okno Vlastnosti. Potom prejdite na kartu Subversion. Tam môžete nastaviť vlastnosti. Kliknite Vlastnosti .... V dialógovom okne vlastností dvakrát kliknite na svn:externals ak už existuje, alebo kliknite na tlačidlo Nová... a vyberte externé z ponuky. Ak chcete pridať nové externé zariadenie, kliknite na tlačidlo Nová... a potom vyplňte požadované informácie v zobrazenom dialógovom okne.

Výstraha

URL musia byť správne uvedené, inak nebudú fungovať, napr. každú medzeru musíte nahradiť znakom %20 .

Ak chcete, aby miestna cesta obsahovala medzery alebo iné špeciálne znaky, môžete ju uzavrieť do úvodzoviek alebo môžete použiť znak \ (spätná lomka) ako znak významu štýlu unixového prostredia predchádzajúci ktorémukoľvek špeciálnemu znaku. To samozrejme tiež znamená, že musíte používať znak / (lomka) ako oddeľovač cesty. Toto správanie je nové v Subversion 1.6 a nebude fungovať so staršími klientmi.

Používanie explicitných čísel revízií

Dôkladne by ste mali zvážiť používanie explicitných čísel revízií vo všetkých svojich definíciách externých riešení, ako je popísané vyššie. To znamená, že sa rozhodnete, kedy vytvoriť inú snímku externých informácií a presne ktorú snímku chcete vytiahnuť. Okrem aspektu zdravého rozumu, ktorý vás neprekvapí zmenami v úložiskách tretích strán, nad ktorými nemusíte mať žiadnu kontrolu, znamená použitie explicitných čísel revízií tiež to, že pri antidatovaní pracovnej kópie na predošlú revíziu sa vaše vonkajšie definície tiež vrátia do stavu, ako vyzerali v predošlej revízii, čo zase znamená, že externé pracovné kópie budú aktualizované tak, aby zodpovedali uvedenému stavu ako vyzerali, keď sa vaše úložisko nachádzalo v predošlej revízii. V prípade softvérových projektov by to mohol byť rozdiel medzi úspešným a neúspešným zostavením staršej snímky komplexného základného kódu.

Dialógové okno úprav pre vlastnosti svn:externals vám umožňuje vybrať externé zdroje a automaticky ich explicitne nastaviť na HEAD revíziu.

Ak je externý projekt v rovnakom úložisku, všetky zmeny, ktoré v ňom vykonáte, sa zahrnú do zoznamu odovzdania, keď budete potvrdzovať svoj hlavný projekt.

Ak je externý projekt v inom úložisku, všetky zmeny, ktoré vykonáte v externom projekte, sa zobrazia alebo označia pri odovzdaní hlavného projektu, ale tieto externé zmeny musíte vykonať osobitne.

Ak v systéme používate absolútne adresy URL definície svn:externals a musíte premiestniť svoju pracovnú kópiu (t. j. ak sa zmení adresa URL vášho úložiska), potom sa vaše externé súbory nezmenia a už nebudú fungovať.

Aby sa takýmto problémom predišlo, klienti Subversion verzie 1.5 a vyššej podporujú relatívne externé adresy URL. Podporované sú štyri rôzne spôsoby určenia relatívnej adresy URL. V nasledujúcich príkladoch predpokladajme, že máme dva úložiská: jedno na adrese http://example.com/svn/repos-1 a ďalšie na http://example.com/svn/repos-2. Máme vykonať overenie z http://example.com/svn/repos-1/project/trunk do C:\Working a vlastnosť svn:externals je nastavená na kmeni.

Relatívne k nadradenému priečinku

Tieto adresy URL vždy začínajú reťazcom ../ napríklad:

../../widgets/foo  common/foo-widget
            

Toto extrahuje http://example.com/svn/repos-1/widgets/foo do C:\Working\common\foo-widget.

Upozorňujeme, že adresa URL je relatívna k adrese URL priečinka s vlastnosťou svn:externals, nie do priečinka, kde je externe zapisovaná na disk.

Relatívne k kmeňu úložiska

Tieto adresy URL vždy začínajú reťazcom ^/ napríklad:

../../widgets/foo  common/foo-widget
            

Toto extrahuje http://example.com/svn/repos-1/widgets/foo do C:\Working\common\foo-widget.

Môžete ľahko odkazovať na iné archívy s rovnakými SVNParentPath (spoločný priečinok s niekoľkými úložiskami). Napríklad:

^/../repos-2/hammers/claw  common/claw-hammer
            

Toto extrahuje http://example.com/svn/repos-2/hammers/claw do C:\Working\common\claw-hammer.

Relatívne k schéme

Adresy URL začínajúce reťazcom // kopírujú iba časť schémy adresy URL. Je to užitočné, keď k rovnakému názvu hostiteľa musí byť pristupované s rôznymi schémami v závislosti od umiestnenia v sieti; napr. klienti využívajúci intranet http: // zatiaľ čo externí klienti používajú svn+ssh://. Napríklad:

 //example.com/svn/repos-1/widgets/foo common / foo-widget
             

Toto extrahuje http://example.com/svn/repos-1/widgets/foo alebo svn+ssh: //example.com/svn/repos-1/widgets/foo podľa toho, ktorá metóda bola použitá pri overovaní C:\Working .

Relatívne k názvu servera hostiteľa

Adresy URL začínajúce reťazcom / kopírujú schému a časť názvu hostiteľa adresy URL, napríklad:

/svn/repos-1/widgets/foo  common/foo-widget\n
            

Toto extrahuje http://example.com/svn/repos-1/widgets/foo do C:\Working\common\foo-widget. Ale ak si rezervujete svoju pracovnú kópiu z iného servera na adrese svn+ssh://another.mirror.net/svn/repos-1/project1/trunk potom bude extrahovaný externý odkaz svn+ssh://another.mirror.net/svn/repos-1/widgets/foo.

V prípade potreby môžete tiež určiť naviazanú a operatívnu revíziu ak sú požadované pre adresu URL. Ak sa chcete dozvedieť viac o naviazaných a operatívnych revíziách, prečítajte si zodpovedajúca kapitola v knihe Subversion.

Dôležité

Ak zadáte cieľový priečinok pre externý priečinok ako podpriečinok ako v príkladoch vyššie, uistite sa, že všetky priečinky medzi nimi sú tiež verziové. Takže pre vyššie uvedené príklady priečinok common by mal byť verziový!

Aj keď externý bude vo väčšine situácií fungovať správne, ak priečinky medzi nimi sú bezverziové, existujú niektoré operácie, ktoré nebudú fungovať podľa vašich očakávaní. Ikony prekrytia stavu v prieskumníkovi tiež nebudú zobrazovať správny stav.

Ak potrebujete ďalšie informácie o tom, ako TortoiseSVN narába s vlastnosťami prečítajte si “Nastavenia Projektu”.

Viac sa dozviete o rôznych metódach prístupu k bežným podprojektom v časti “Zahrnúť spoločný podprojekt”.

Externé súbory

Od verzie Subversion 1.6 môžete do svojej pracovnej kópie pridať externé súbory jedného súboru použitím rovnakej syntaxe ako pre priečinky. Existujú však určité obmedzenia.

  • Cesta k externému súboru musí byť priamo podriadená priečinku, do ktorého ste nastavili vlastnosť svn:externals.

  • Adresa URL externého súboru musí byť v rovnakom úložisku ako adresa URL, do ktorej bude vložený externý súbor; externé súbory medzi úložiskami nie sú podporované.

Externý súbor sa chová v mnohých ohľadoch ako každý iný verziový súbor, ale nemožno ho presunúť ani vymazať použitím bežných príkazov; vlastnosť svn:externals namiesto toho musí byť upravená.

Vytváranie externých súborov použitím funkcie Ťahaj a pusť

Ak už máte pracovnú kópiu súborov alebo priečinkov, ktoré chcete zahrnúť ako externé v inej pracovnej kópii, môžete ich jednoducho pridať pomocou funkcie Ťahaj a pusť z prieskumníka systému Windows.

Jednoducho súbor alebo priečinok ťahajte pri stlačenom pravom tlačidle z jednej pracovnej kópie na miesto, kde ho chcete zahrnúť ako externý. Po uvoľnení tlačidla myši sa zobrazí kontextová ponuka: SVN Pridať ako externý sem ak kliknete na túto položku kontextovej ponuky, vlastnosť svn:externals sa pridá automaticky. Všetko, čo musíte urobiť, je vykonať zmeny vlastností a aktualizovať ich, aby boli tieto externé súbory správne zahrnuté do vašej pracovnej kópie.

TortoiseSVN homepage