UL/FRI/VSP-RI/RPS1/Vaje/2006-12-14:B-D
Iz E-študij, proste zakladnice študentskega znanja
|
Vaje z dne Napaka: neveljaven čas
Vodil: ni podatka glej podobne vaje |
Vaje iz uporabe sistem CVS - Concurrent Versions System
Naloga 1: Priprava skladišča
- Nastavite okoljsko spremenljivko CVSROOT, da bo vsebovala lokacijo vašega bodočega CVS skladišča. Lokacija skladišča naj bo poddirektorij z imenom CVS v direktoriju namenjenemu za vaje.
$ cd /home/bidi/cvs $ export CVSROOT=`pwd` $ echo $CVSROOT /home/bidi/cvs
- Ustvarite novo CVS skladišče.
cvs init
- Oglejte si vsebino direktorija, kjer se nahaja skladišče. Kateri direktoriji in datoteke ga sestavljajo? Oglejte si vsebino nekaterih datotek.
$ tree $CVSROOT
/home/bidi/cvs
`-- CVSROOT
|-- Emptydir
|-- checkoutlist
|-- checkoutlist,v
|-- commitinfo
|-- commitinfo,v
|-- config
|-- config,v
|-- cvswrappers
|-- cvswrappers,v
|-- history
|-- loginfo
|-- loginfo,v
|-- modules
|-- modules,v
|-- notify
|-- notify,v
|-- rcsinfo
|-- rcsinfo,v
|-- taginfo
|-- taginfo,v
|-- val-tags
|-- verifymsg
`-- verifymsg,v
Preden nadaljujete, si ustvarite še direktorij "programer1", v katerem izvajate spodnje naloge. Če je CVS skladišče v istem direktoriju kot vaši projekti, lahko zmedete delovanje nekaterih ukazov.
Naloga 2: Prvo shranjevanje novega projekta v skladišče
- Pripravite projekt, ki je sestavljen iz večih datotek. Za predlogo lahko vzamete preprost projekt iz domače strani predmeta.
$ mkdir programer1/ $ cd programer1/ $ wget -q http://lalg.fri.uni-lj.si/~jure/rps1/main.c $ wget -q http://lalg.fri.uni-lj.si/~jure/rps1/tools.c $ wget -q http://lalg.fri.uni-lj.si/~jure/rps1/tools.h
- Izvedite začetni prenos pripravljenega projekta v skladišče.
$ cvs import -m "Uvoz zacetne verzije." projekt1 test_avtor zacetna N projekt1/main.c N projekt1/tools.c N projekt1/tools.h No conflicts created by this import
- Oglejte si spremembe v direktoriju v katerem je shranjeno skladišče.
$ tree $CVSROOT
/home/bidi/cvs
|-- CVSROOT
| |-- Emptydir
| |-- checkoutlist
| |-- checkoutlist,v
| |-- commitinfo
| |-- commitinfo,v
| |-- config
| |-- config,v
| |-- cvswrappers
| |-- cvswrappers,v
| |-- history
| |-- loginfo
| |-- loginfo,v
| |-- modules
| |-- modules,v
| |-- notify
| |-- notify,v
| |-- rcsinfo
| |-- rcsinfo,v
| |-- taginfo
| |-- taginfo,v
| |-- val-tags
| |-- verifymsg
| `-- verifymsg,v
`-- projekt1
|-- main.c,v
|-- tools.c,v
`-- tools.h,v
- Če ste uspešno izvedli shranjevanje projekta v skladišče, lahko projekt pobrišete.
$ cd .. $ rm programer1/ -r
- Obnovite vaš projekt iz skladišča.
- Spremenite kako od datotek projekta.
- Poglejte status spremenjene datoteke.
- Shranite spremembe v skladišče.
- Oglejte si zgodovino sprememb za spremenjeno datoteko.
- Pobrišite projekt. Uporabite cvs.
Naloga 4: Preimenovanje datoteke.
Preimenujte eno izmed datotek vašega projekta.
Naloga 5: Sočasno urejanje datoteke s strani dveh programerjev.
- V vašem direktoriju za vaje naredite poddirektorij "programer2", v katerem izvajate opravila kot nek drug programer na projektu poleg vas.
- V imenu obeh programerjev izvedite obnavljanje projekta.
- V imenu obeh programerjev spremenite neko, vendar isto datoteko projekta. Ta korak predstavlja sočasno urejanje neke datoteke s strani večih programerjev.
- Izvedite shranjevanje sprememb za enega programerja.
- Nato pa še shranjevanje sprememb za drugega programerja.
Kaj se je zgodilo ob drugem shranjevanju? Je bilo potrebno ročno združevanje ali je je bilo združevanje avtomatsko? Ponovite poskus in pri tem naredite takšne spremembe datoteke, ki pripeljejo do ročnega/avtomatskega združevanja.