Спољашње Ставке

Понекад је корисно да се изради радна копија која је од бројних различитих преузимања. На пример, можете желети различите фајлове или подфолдере да дођу са различитих локација у спремиште, или можда све заједно из различитих спремишта. Ако желите да сваки корисник има исти преглед можете дефинисати свн:спољашне особине да вучете специфичне ресурсе на локацију где су вам потребни.

Именици

Рецимо да преузимате радну копију /project1 у D:\dev\project1. Изаберите фолдер D:\dev\project1, десни клик и изаберите Виндоуз мениОсобине из контекст менија. Појавиће се дијалог особина. Тада идите на Субверзиони таб. Тада можете подесити особине. Кликните Особине.... У дијалогу особина или двоструки клик на svn:externals ако већ постоји, или кликните на Нов... дугме и изаберите externals из менија. Да додате нови екстернал кликните на Нов... и затим попуните тражену информацију у приказаном дијалогу.

Упозорење

УРЛови морају бити одговарајуће истакнути или они неће радити, нпр. морате заменити сваки размак са %20.

Ако желите да локална путања укључи размаке или друге специјалне карактере, можете их окружити двоструким наводницима, или можете користити \ (инверзна коса црта) карактер избегавања као у стилу Јуникс шкољке да претходи специјалном карактеру. Свакако ово такође значи да можете користити / (коса црта) као раздвајач путање. Приметимо да је ово понашање ново у Субверзији 1.6 и неће радити са старијим клијентима.

Користите експлицитне ревизионе бројеве

Морате чврсто да решите да користите експлицитно ревизионе бројеве у свим вашим екстерним дефиницијама, како је описано горе. Такав рад значи да сте одлучили када повући различите слике екстерних информација и тачно које слике повући. Поред заједничког осећаја да нема изненађења спремишта трећег-лица која могу да немају било какву контролу над тим, користећи експлицитне ревизионе бројеве такође значи то да ако уназад датирате вашу радну копију према претходној ревизији ваше екстерне дефиниције ће се вратити на начин како су изгледали у претходној ревизији, што значи да ћете екстерне радне копије ускладити са начином њихов по изгледу када је ваша радна копија имала претходну ревизију. За пројекат софтвера ово може бити разлика између успешне и неуспешне израде старије слике ваше комплексне основе кода.

Дијалог уређења за svn:externals особине омогућава вам да изаберете екстернал и аутоматски га подесите експлицитно на ГЛАВНУ ревизију.

Ако је спољашњи пројекат у истом спремишту, било која измена коју тамо направите биће укључена у листу за урезивање када урезујете главни пројекат.

Ако је екстернални пројекат у различитим спремиштима свака промена коју направите у екстерном пројекту биће приказан или ће индицирати када урезујете главни пројекат, али имаћете да урежете ове екстерне промене сепаратно.

Ако користите апсолутне УРЛове у свн:спољашње дефиниције и имате да релоцирате вашу радну копију (нпр. ако је УРЛ вашег спремишта измењен), тада ваши екстернали се не могу изменити нити уопште радити.

Да се избегну такви проблеми Субверзиони клијенти од верзије 1.5 подржавају релативне спољашње УРЛове. Четири различита метода специфицирања релативних УРЛова је подржано. У следећем примерима узмимо да имамо два спремишта: једно на http://example.com/svn/repos-1 и друго на http://example.com/svn/repos-2. Преузели смо http://example.com/svn/repos-1/project/trunkу C:\Working и свн:спољашње особине су подешене на дебло.

Релативно на предачки фолдер

Ови Урлови увек почињу стрингом../ на пример:

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

Ово ће екстратовати http://example.com/svn/repos-1/widgets/foo у C:\Working\common\foo-widget.

Приметимо да је УРЛ релативно у односу на УРЛ фолдера са свн:спољашње особине, није ка фолдеру где су спољшње особине уписане на диску.

Релативно на корен спремишта

Ови УРЛови увек почињу стрингом ^/ на пример:

^/widgets/foo  common/foo-widget
            

Ово ће екстратовати http://example.com/svn/repos-1/widgets/foo у C:\Working\common\foo-widget.

Можете се лако позвати на друго спремиште истим SVNParentPath (заједнички директоријум који садржи више спремишта). На пример:

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

Ово ће екстрактовити http://example.com/svn/repos-2/hammers/claw у C:\Working\common\claw-hammer.

Релативно на шему

Урлови који почињу стрингом // копирају само шема део УРЛа. Ово је корисно када исто име домаћина мора да буде у приступу разним шемама у зависности од локације мреже; нпр. клијент на интернету користи http:// док екстерни клијенти користе svn+ssh://. На пример:

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

Ово ће екстрактовати http://example.com/svn/repos-1/widgets/foo или svn+ssh://example.com/svn/repos-1/widgets/foo у зависности од тога који је метод коришћен за преузимање C:\Working.

Релативно до серверовог имена домаћина

УРЛови који почињу стрингом / копирају шему и домаћинов део УРЛа, на пример:

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

Ово ће екстрактовати http://example.com/svn/repos-1/widgets/foo у C:\Working\common\foo-widget. Али ако преузмете ваше радну копију са другог сервера са svn+ssh://another.mirror.net/svn/repos-1/project1/trunk тада ће екстернал екстраховати svn+ssh://another.mirror.net/svn/repos-1/widgets/foo.

Такође можете специфицирати пег и оперативну ревизију за УРЛ ако се тржи. Да научите више о пег и оперативним ревизијама, молил прочитајте одговарајућа поглавља у Субверзионој књизи.

Важно

Ако специфицирате циљни фолдер за екстернал као субфолдер као у горњем примеру, будите сигурни да ти сви фолдери између су такође верзионисани. Тако за горњи пример фолдер common треба да буде верзионисан!

Мада ће екстернали радити у већини ситуација исправно ако фолдери између нису верзионисани, има неких операција када неће радити како очекујете. И статус иконе прекривања у претраживачу такође неће приказати коректан статус.

Ако вам треба више информација како ТортоисеСВН рукује са Особинама прочитајте одељак под именом „Подешавање пројекта“.

Да бисте нашли више о разним методама приступа заједничким подпројектима читајте одељак под именом „Укључи сличан суб-пројекат“.

Спољашњи Фајлови

Као Субверзија 1.6 можете додати појединачни спољашњи фајл у вашу радну копију користећи исту синтаксу као за фолдере. Међутим, постоје неке рестрикције.

  • Путања до фајл екстернал мора бити директни потомак фолдера где је постављена svn:externals особина.

  • УРЛ за фајл екстернал мора бити у истом спремишту као УРЛ где ће фајл екстернали бити убачени; интер-спремиште фајл екстернали нису подржани.

Фајл екстернал постаје баш као било који други верзионисани фајл у много погледа, али не може бити померен или обрисан користећи нормалне команде; svn:externals особине се морају изменити уместо тога.

Креирање екстернала са вуци и пусти

Ако већ имате радну копију фајлова или фолдера које желите да укључите као екстернале у другој радној копији можете једноставно да их додате преко вуци и пусти у виндоус претраживачу.

Једноставно десно вуци фајла или фолдера из једне радне копије тамо где ви то желите да буде укључена као екстернал. Контекст мени се појављује када отпустите дугме миша: СВН додај као екстернал овде ако кликнете на улаз контекст менија особина свн:екстернали се аутоматски додаје. Све што треба да урадите је да урежете измене особине да би сте добили да су ови екстернали одговарајуће укључени у радну копију.