If you are importing into an existing repository which already contains some projects, then the repository structure will already have been decided. If you are importing data into a new repository, then it is worth taking the time to think about how it will be organised. Read “Postavitev skladišča” for further advice.
To podpoglavje opisuje ukaz Uvozi, katerega namen je uvažanje strukture map v skladišče v eni potezi. Čeprav opravi svoje delo, pa ima nekaj pomanjkljivosti:
Datotek in map, ki jih želite vključiti, ne morete izbrati, lahko pa si pomagate z nastavitvami splošnega vzorca prezrtih elemetov.
Uvožena mapa ne postane delovna kopija. Narediti morate prevzem datotek iz strežnika.
Povsem preprosto je uvoziti v napačno mapo znotraj hierarhije skladišča.
Zato priporočamo, da tega ukaza ne uporabljate, ampak uporabite postopek v dveh korakih, opisan v “Uvažanje na mestu”. Ker pa ste že ravno tukaj, si vseeno poglejmo, kako uvažanje deluje...
Preden projekt uvozite v skladišče, morate:
Odstraniti vse datoteke, ki niso potrebne za gradnjo projekta (začasne datoteke, datoteke, ki jih generira prevajalnik, n. pr. *.obj, prevedene dvojiške datoteke...).
Organizirajte datoteke v mape in podmape. Čeprav je možno preimenovanje/premikanje tudi kasneje, je zelo priporočljivo, da postavite strukturo projekta pred uvažanjem.
Sedaj izberite vrhnjo datoteko vašega projekta v Raziskovalcu in desno kliknite. S tem odprete kontekstni meni. Izberite ukaz → , ki prikaže naslednje okno:
V tem pogovornem oknu vpišete naslov URL skladišča, kamor želite uvoziti svoj projekt. Zavedati se morate, da krajevna mapa, ki jo uvažate, ne postane del skladišča; v skladišče se uvozi le njena vsebina. Primer: če imate naslednjo strukturo map:
C:\Projekti\Widget\source C:\Projekti\Widget\doc C:\Projekti\Widget\images
in uvozite C:\Projekti\Widget v http://mojadomena.com/svn/trunk, boste morda presenečeni ugotovili, da se vse vaše podmape nahajajo v podmapi trunk in ne v podmapi Widget. Podmapo morate navesti kot del naslova URL: http://mojadomena.com/svn/trunk/Widget-X. Uvažanje samodejno ustvari podmape znotraj skladišča, če le-te še ne obstajajo.
Sporočilo uvoza se uporabi kot sporočilo dnevniškega zapisa.
Po privzetih nastavitvah se datoteke in mape, ki ustrezajo splošnemu vzorcu prezrtih elementov, ne uvozijo. Če želite to pri posameznem uvozu spremeniti, potrdite potrditveno polje Vključi prezrte datoteke. Preberite “Splošne nastavitve” za več informacij o nastavljanju splošnih vzorcev prezrtih elementov.
Ko pritisnete gumb , TortoiseSVN uvozi celotno strukturo map, vključno z vsemi datotekami, v skladišče. Projekt je sedaj shranjen v skladišču pod nadzorom različic. Upoštevajte, da mapa, ki ste jo uvozili, NI pod nadzorom različic! Da bi dobili delovno kopijo datotek pod nadzorom, morate narediti prevzem verzije, ki ste jo pravkat uvozili. Ali pa berite naprej, da izveste, kako uvoziti mapo na mestu.
Ob predpostavki, da skladišče že imate in želite dodati vanj novo drevesno strukturo, naredite naslednje:
Uporabite brskalnik po skladišču, da ustvarite novo projektno mapo neposredno v skladišču.
Prevzemite novo mapo na mapi, ki jo želite uvoziti. Dobili boste obvestilo, da krajevna mapa ni prazna. Sedaj imate vrhnjo mapo pod nadzorom različic, medtem ko njena vsebina ni pod nadzorom.
Uporabite → na mapi pod nadzorom. S tem lahko dodate delno ali celotno vsebino, dodate ali odstranite datoteke, nastavite lastnosti svn:ignore na mapah in naredite vse ostale spremembe, ki so potrebne.
Objavite vrhnjo mapo in dobili ste novo drevo pod nadzorom in krajevno delovno kopijo, ustvarjeno iz obstoječe mape.
Včasih imate v sistemu različic datoteko, ki vsebuje podatke, specifične za uporabnika. To pomeni, da imate datoteko, ki jo mora vsak uporabnik urediti, da ustreza njegovi/njeni namestitvi. Imeti takšno datoteko pod nadzorom je težko, ker bi vsak uporabnik ob vsaki objavi objavil svoje spremembe te datoteke.
V takšnih primerih priporočamo uporabo predlog. Ustvarite datoteko, ki vsebuje vse podatke, ki jih razvijalci potrebujejo, jo dodajte v sistem nadzora različic in pustite, da jo razvijalci prevzamejo. Nato si vsak razvijalec naredi kopijo te datoteke in jo preimenuje. Po tem spreminjanje kopije ni več problematično.
Za primer si poglejte ukazno datoteko za gradnjo TortoiseSVN. Ta kliče datoteko TortoiseVars.bat, ki ne obstaja v skladišču. Obstaja le datoteka TortoiseVars.tmpl. TortoiseVars.tmpl je predloga datoteke. Vsak uporabnik si izdela svojo kopijo in jo preimenuje v TortoiseVars.bat. V datoteko smo dodali komentarje, da uporabniki vidijo, katere vrstice morajo spremeniti v skladu s svojo namestitvijo, da bo stvar delovala.
Da ne bi motili uporabnikov, smo dodali datoteko TortoiseVars.bat na listo prezrtih elementov v nadrejeni mapi, to pomeni, da smo nastavili lastnost svn:ignore, ki vsebuje to datoteko. Tako se ta datoteka ne bo pojavila v oknu za objave kot datoteka brez različic.