Clearcase Cleartool April 28, 2011 08:20 about 1 year ago
I en tidligere blog kom jeg til at skrive om cleartool som er den linje baserede version af versionstyringssystemet ClearCase. Efterfølgende har jeg noteret mig flere mails med sjove og underholdende kommentare om ClearCase.
ClearCase er versionstyringssystemerens svar på Dansk Folkeparti, de får skylden for alt ondt. Men det synes jeg ikke altid er helt fair. Efter min mening kommer den væsentligste del af kritikken mod ClearCase fra mennesker der enten ikke interssere sig for kode versionering eller fra mennesker hvis arbejdeproces er autonom. Hvis man læser Fowler’s blog om versionskontrol systemer er ClearCase klart det mest krævende versionstyringssystem når det gælder skills. Det betyder jo helt reelt at det teniske fundament bør være højt hvis man vil bruge ClearCase. Hvorvidt dette er en fordel eller ulempe kan man så tænke over.
the basics
I ClearCase udføres alt arbejde i et view. Et view er en udviklers syn på det samlede system i en version. ClearCase er et server baseret system hvilket vil sige at man må være i kontakt med en server instans. View’et er en version af mange baselines der er bundet på en intergrationsstrøm hvor mange udviklere har et eller flere views. Et view kan have flere aktiviter der kan aflevere udafhængigt. En aktivitet er i størrelse lig med en defekt eller en udviklingsopgave på 2 til 3 dage. Det er muligt at checke filer ud og ind under en aktivitet. Alle filer der checkes ud bliver en del af aktivitetens changeset. Man aflevere en aktivitet ved at lave en baseline og deliver den til intergrationsstømmen. Man kan rekommende en baseline hvorefter alle får den med når de rebase deres view. Der findes flere typer af metoder til at styre kode kvalitet i ct. Man kan fx “lable” sin kode med forskellige defineret prefixed som fx Main Baseline der tagger at alle branch’ed er merge tilbage i hovedsporet. Der er også en “Release-Line Baseline” der er en baseline klartgjort til release.
cleartool
Alt dette og en masse mere kan styres gennem den grafiske brugergrænseflade men under huden findes kernesystemet der gør det muligt. cleartool.
Her er de mest almindelige cleartool commands jeg bruger.. Men først bør du sætte et alias
alias ct='cleartool' ct rebase -recommended # rebase last baseline ct rebase -complete # complete rebase ct ls -r | grep hijacked # find hijacked files ct co file # checkout file ct unco file # undo checkout ct lsbl # list baseline's ct lsactivity # list activity ct pwv # print working view ct catcs # config specs ct lsco # list checkout's ct lsco -me # list my checkout's ct lsco -me -recurse # list checkout's directory ct lsco -user FVI # list checkout from user fvi ct lsco -cview # list checkout's from here ct describe file # file information ct co -c "Comment" file # check out element ct ci -ide -c "Comment" file # Checkin element, override if ide'tical ct lsh file # file change history ct lsvtree [-g] file # file version tree ct diff -pred file # differences between this and pred version ct setact -none # clear activity ct lsact # list activties ct rmact -f activity # remove a activity ct setact activity # set an activity ct lsact -cac -s # info current activity ct lsco -me -cview -all # list files by me in the current view. ct find ./ -branch 'brtype(branch-name)' -print # list files of the specified branch name. ct lsprivate # list private files in current view
grep -rl "implements Validatable " * | xargs cleartool co
grep -rl "implements Validatable " * | xargs sed -i ‘s/implements Validatable /implements Validatable, java.io.Serializable /g’
grep -rl “, java.io.Serializable” * | xargs cleartool ci -c “Added Serializable”
cl lsview -long -cview # list current uuid
cl rmview -uuid 30:c5:a4 -avobs # lease bad view
cl deliver -status
ct mkact -headline "PO-2385: Defect "
find . -print | xargs cleartool mkelem -mkpath -nc # recursively add all files and directories
ct find . -exec ‘cleartool ci -nc $CLEARCASE_PN’ # recursively checkin all files (and directories) in the current directory.
There can be only one “source”, the rest is just like more Agent Smith’s
By Frank Vilhelmsen - 1 tag: clearcase - Add comment