Spoljašnje Stavke

Ponekad je korisno da se izradi radna kopija koja je od brojnih različitih preuzimanja. Na primer, možete želeti različite fajlove ili podfoldere 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.

Imenici

Recimo da preuzimate radnu kopiju /project1 u D:\dev\project1. Izaberite folder D:\dev\project1, desni klik i izaberite Vindouz meniOsobine iz kontekst menija. Pojaviće se dijalog osobina. Tada idite na Subverzioni tab. Tada možete podesiti osobine. Kliknite Osobine.... U dijalogu osobina ili dvostruki klik na svn:externals ako već postoji, ili kliknite na Nov... dugme i izaberite externals iz menija. Da dodate novi eksternal kliknite na Nov... i zatim popunite traženu informaciju u prikazanom dijalogu.

Upozorenje

URLovi moraju biti odgovarajuće istaknuti ili oni neće raditi, npr. morate zameniti svaki razmak sa %20.

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.

Koristite eksplicitne revizione brojeve

Morate čvrsto da rešite da koristite eksplicitno revizione brojeve u svim vašim eksternim definicijama, kako je opisano gore. Takav rad znači da ste odlučili kada povući različite slike eksternih informacija i tačno koje slike povući. Pored zajedničkog osećaja da nema iznenađenja spremišta trećeg-lica koja mogu da nemaju bilo kakvu kontrolu nad tim, koristeći eksplicitne revizione brojeve takođe znači to da ako unazad datirate vašu radnu kopiju prema prethodnoj reviziji vaše eksterne definicije će se vratiti na način kako su izgledali u prethodnoj reviziji, što znači da ćete eksterne radne kopije uskladiti sa načinom njihov po izgledu kada je vaša radna kopija imala prethodnu reviziju. Za projekat softvera ovo može biti razlika između uspešne i neuspešne izrade starije slike vaše kompleksne osnove koda.

Dijalog uređenja za svn:externals osobine omogućava vam da izaberete eksternal i automatski ga podesite eksplicitno na GLAVNU reviziju.

Ako je spoljašnji projekat u istom spremištu, bilo koja izmena koju tamo napravite biće uključena u listu za urezivanje kada urezujete glavni projekat.

Ako je eksternalni projekat u različitim spremištima svaka promena koju napravite u eksternom projektu biće prikazan ili će indicirati kada urezujete glavni projekat, ali imaćete da urežete ove eksterne promene separatno.

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.

Relativno na predački folder

Ovi Urlovi uvek počinju stringom../ na primer:

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

Ovo će ekstratovati http://example.com/svn/repos-1/widgets/foo u C:\Working\common\foo-widget.

Primetimo da je URL relativno u odnosu na URL foldera sa svn:spoljašnje osobine, nije ka folderu gde su spoljšnje osobine upisane na disku.

Relativno na koren spremišta

Ovi URLovi uvek počinju stringom ^/ na primer:

^/widgets/foo  common/foo-widget
            

Ovo će ekstratovati http://example.com/svn/repos-1/widgets/foo u C:\Working\common\foo-widget.

Možete se lako pozvati na drugo spremište istim SVNParentPath (zajednički direktorijum koji sadrži više spremišta). Na primer:

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

Ovo će ekstraktoviti http://example.com/svn/repos-2/hammers/claw u C:\Working\common\claw-hammer.

Relativno na šemu

Urlovi koji počinju stringom // kopiraju samo šema deo URLa. Ovo je korisno kada isto ime domaćina mora da bude u pristupu raznim šemama u zavisnosti od lokacije mreže; npr. klijent na internetu koristi http:// dok eksterni klijenti koriste svn+ssh://. Na primer:

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

Ovo će ekstraktovati http://example.com/svn/repos-1/widgets/foo ili svn+ssh://example.com/svn/repos-1/widgets/foo u zavisnosti od toga koji je metod korišćen za preuzimanje C:\Working.

Relativno do serverovog imena domaćina

URLovi koji počinju stringom / kopiraju šemu i domaćinov deo URLa, na primer:

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

Ovo će ekstraktovati http://example.com/svn/repos-1/widgets/foo u C:\Working\common\foo-widget. Ali ako preuzmete vaše radnu kopiju sa drugog servera sa svn+ssh://another.mirror.net/svn/repos-1/project1/trunk tada će eksternal ekstrahovati svn+ssh://another.mirror.net/svn/repos-1/widgets/foo.

Takođe možete specificirati peg i operativnu reviziju za URL ako se trži. Da naučite više o peg i operativnim revizijama, molil pročitajte odgovarajuća poglavlja u Subverzionoj knjizi.

Važno

Ako specificirate ciljni folder za eksternal kao subfolder kao u gornjem primeru, budite sigurni da ti svi folderi između su takođe verzionisani. Tako za gornji primer folder common treba da bude verzionisan!

Mada će eksternali raditi u većini situacija ispravno ako folderi između nisu verzionisani, ima nekih operacija kada neće raditi kako očekujete. I status ikone prekrivanja u pretraživaču takođe neće prikazati korektan status.

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“.

Spoljašnji Fajlovi

Kao Subverzija 1.6 možete dodati pojedinačni spoljašnji fajl u vašu radnu kopiju koristeći istu sintaksu kao za foldere. Međutim, postoje neke restrikcije.

  • Putanja do fajl eksternal mora biti direktni potomak foldera gde je postavljena svn:externals osobina.

  • 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.

Kreiranje eksternala sa vuci i pusti

Ako već imate radnu kopiju fajlova ili foldera koje želite da uključite kao eksternale u drugoj radnoj kopiji možete jednostavno da ih dodate preko vuci i pusti u vindous pretraživaču.

Jednostavno desno vuci fajla ili foldera iz jedne radne kopije tamo gde vi to želite da bude uključena kao eksternal. Kontekst meni se pojavljuje kada otpustite dugme miša: SVN dodaj kao eksternal ovde ako kliknete na ulaz kontekst menija osobina svn:eksternali se automatski dodaje. Sve što treba da uradite je da urežete izmene osobine da bi ste dobili da su ovi eksternali odgovarajuće uključeni u radnu kopiju.