Ponekad je korisno da se izradi radna kopija koja je od brojnih različitih preuzimanja. Na primer, možete želeti različite fajlove ili podimenike da dođu sa različitih lokacija u spremište, ili možda sve zajedno iz različitih spremišta. Ako želite da svaki korisnik ima isti pregled možete definisati svn:spoljašne osobine da vučete specifične resurse na lokaciju gde su vam potrebni.
Recimo da ste preuzeli radnu kopiju od /project1 do D:\dev\project1. Izaberite imenik D:\dev\project1, desni klik i izaberite → iz kontekst menija. Dijalog Osobine se pojavi. Zatim idite na tab Subverzija. Tamo možete podesiti osobine. Kliknite . Izaberite svn:externals osobine u komboboksu i napišite u boksu uređenja URL spremišta u formatu imenik url ili ako želite da specificirate partikularnu reviziju, -rREV url imenik Možete dodati višestruke spoljašnje projekte, 1 po liniji. Pretpostavimo da imate podešene ove osobine na D:\dev\project1:
http://sounds.red-bean.com/repos sounds http://graphics.red-bean.com/repos/fast%20graphics "quick graphs" -r21 http://svn.red-bean.com/repos/skin-maker skins/toolkit
Sada klik na i urežite izmene. Kada vi (ili bilo koji drugi korisnik) ažurira vašu radnu kopiju, Subverzija će kreirati podimenik D:\dev\project1\sounds i proveriti sounds projekat, sledeći podimenik D:\dev\project1\quick_graphs koji sadrži grafički projekat, i na kraju ugnježdeni podimenik D:\dev\project1\skins\toolkit koji sadrži reviziju 21 skin-mejker projekta.
URLovi moraju biti odgovarajuće izbegnuti ili oni neće raditi, npr. morati zameniti svaki razmak sa %20 kako je pokazano u drugom primeru gore.
Ako želite da lokalna putanja uključi razmake ili druge specijalne karaktere, možete ih okružiti dvostrukim navodnicima, ili možete koristiti \ (inverzna kosa crta) karakter izbegavanja kao u stilu Juniks školjke da prethodi specijalnom karakteru. Svakako ovo takođe znači da možete koristiti / (kosa crta) kao razdvajač putanje. Primetimo da je ovo ponašanje novo u Subverziji 1.6 i neće raditi sa starijim klijentima.
Treba čvrsto osmisliti korišćenje spoljašnjih revizionih brojeva u svim vašim spoljašnjim definicijama, kako je opisano gore. Radeći tako znači da odlučujete da spustite različite slike spoljašnjih informacija, i tačno koju sliku izvući. Pored zajedničkog osećaja šta nas ne iznenađuje promenama u spremištima treće strane to je da može da nemate nikakakvu kontrolu na njima, koristeći eksplicitno revizione brojeve takođe znači da ste unazad datirali vašu radnu kopiju kao prethodnu reviziju, vaše spoljne definicije su takođe vraćene na način kako su izgledale u prethodnoj reviziji, koja znači to da će se spoljašnja radna kopija ažurirati da uhvati način kako one izgledaju nazad kada je spremište bili u prethodnoj reviziji. Za softverske projekte, moglo bi biti razlika između uspešne i neuspešne gradnje stare slike složene kodne osnove.
Format prikazan ovde uveden je u Subverziji 1.5. Možete takođe videti stariji format koji ima iste informacije u različitom redosledu. Novi format je bolji jer podržava više korisnih osobina opisanih dole, ali neće raditi na starilim klijentima. Razlike su prikazane u Subverziona Knjiga.
Ako je spoljašnji projekat u istom spremištu, bilo koja izmena koju napravite tamo biće uključena u listu za urezivanje kada urezujete glavni projekat.
Ako je spoljašnji projekat u različitom spremištu, bilo koje izmene koje napravite u spoljašnjem projektu biće označene kada urezujete glavni projekat, ali morate urezati te spoljašnje izmene izdvojeno.
Ako koristite apsolutne URLove u svn:spoljašnje definicije i imate da relocirate vašu radnu kopiju (npr. ako je URL vašeg spremišta izmenjen), tada vaši eksternali se ne mogu izmeniti niti uopšte raditi.
Da se izbegnu takvi problemi Subverzioni klijenti od verzije 1.5 podržavaju relativne spoljašnje URLove. Četiri različita metoda specificiranja relativnih URLova je podržano. U sledećem primerima uzmimo da imamo dva spremišta: jedno na http://example.com/svn/repos-1 i drugo na http://example.com/svn/repos-2. Preuzeli smo http://example.com/svn/repos-1/project/trunku C:\Working i svn:spoljašnje osobine su podešene na deblo.
Ovi URLovi uvek počinju stringom ../ na primer:
../../widgets/foo common/foo-widget
Ovo treba da ekstrahuje http://example.com/svn/repos-1/widgets/foo u C:\Working\common\foo-widget.
Primetimo da je URL relativno u odnosu na URL imenika sa svn:spoljašnje osobine, nije ka imeniku gde su spoljšnje osobine upisane na disku.
Ovi URLovi uvek počinju stringom ^/ na primer:
^/widgets/foo common/foo-widget
Ovo će izdvojiti http://example.com/svn/repos-1/widgets/foo u C:\Working\common\foo-widget.
Možete se lako pozvati na drugo spremište sa istim SVNPredakPutanja (zajednički imenik koji drži više spremišta). Na primer:
^/../repos-2/hammers/claw common/claw-hammer
Ovo će izdvojiti http://example.com/svn/repos-2/hammers/claw u C:\Working\common\claw-hammer.
URL koji počinje stringom // kopira samo deo šeme URLa. Ovo je korisno kada se mora pristupiti domćinu istog imena sa različitim šemama u zavisnosti od mrežne lokacije; npr. klijenti na intranetu koriste http:// dok spoljšnji klijenti koriste svn+ssh://. Na primer:
//example.com/svn/repos-1/widgets/foo common/foo-widget
Ovo će izdvojiti http://example.com/svn/repos-1/widgets/foo ili svn+ssh://example.com/svn/repos-1/widgets/foo u zavisnosti koji metod je korišćen za preuzimanje C:\Working.
URL koji počinju stringom / kopiraju šemu i deo sa imenom domaćina URLa, na primer:
/svn/repos-1/widgets/foo common/foo-widget
Ovo će izdvojiti http://example.com/svn/repos-1/widgets/foo u C:\Working\common\foo-widget. Ali ako preuzmete vašu radni kopiju sa drugog servera na svn+ssh://another.mirror.net/svn/repos-1/project1/trunk tada će spoljašnje reference izdvojiti svn+ssh://another.mirror.net/svn/repos-1/widgets/foo.
Možete takođe specificirati zakačenu reviziju posle URL ako je potrebno, npr. systemitem class="url">http://sounds.red-bean.com/repos@19
Ako vam treba više informacija kako TortoiseSVN rukuje sa Osobinama pročitajte odeljak pod imenom „Podešavanje projekta“.
Da biste našli više o raznim metodama pristupa zajedničkim podprojektima čitajte odeljak pod imenom „Uključi sličan sub-projekat“.
Kao Subverzija 1.6 možete dodati pojedinačni spoljašnji fajl u vašu radnu kopiju koristeći istu sintaksu kao za imenike. Međutim, postoje neke restrikcije.
Spoljašnji program za putanju ka fajlu mora smetstiti fajl u postojeći verzionisani imenik. Uopšteno, razumljivije je smestiti fajl direktno u imenik koji ima svn:externals podešen, ali može biti u verzionisanom pod-imeniku ako je neophodno. Na suprot tome, spoljašnji programa za imenike će automatski kreirati intermedijalne neverzionisane imenike ako su potrebni.
URL za fajl eksternal mora biti u istom spremištu kao URL gde će fajl eksternali biti ubačeni; inter-spremište fajl eksternali nisu podržani.
Fajl eksternal postaje baš kao bilo koji drugi verzionisani fajl u mnogo pogleda, ali ne može biti pomeren ili obrisan koristeći normalne komande; svn:externals osobine se moraju izmeniti umesto toga.
U Subverziji 1.6 nije moguće ukloniti fajl eksternal iz vaše radne kopije kada ga jednom dodate, čak i ako obrišete svn:externals osobinu takođe. Morate preuzeti svežu radnu kopiju da uklonite fajl.