DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002

Relevanta dokument
CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås

Tfn Telephone Kontr Checked. Revisionshistoria Revision history Rev Namn Name Datum Date Ändring Change

Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Introduktion till git

UNIX. 2D1339 Programkonstruktion Hösten 2001 Datorintroduktion Laboration 1. Mål. Vad laborationen går ut på. Redovisning

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

Arbetsuppgift 1: På virtuell maskin med Ubuntuserver, skapa katalog och skapa Dockerfile. Skapa ny katalog i din hemmakatalog, med namnet webbserver.

Versionshantering med Git. Henrik Henriksson 17 april 2018

1 Vad är Versionshantering? 2 Git. 2.1 GitHub

Användarmanual för Pagero Kryptering

Linuxadministration I 1DV417 - Laboration 7 SSH-magi och systemtrolleri. Marcus Wilhelmsson 6 mars 2013

kommando -fl argument

Tfn Telephone. Kontr Checked. Skapa PDF-filer i Windows

ARX på Windows Vista, Windows 7 eller Windows 2008 server

Kort-kort om utdelade användarkonton och datormiljön på NADA

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

Laboration 2 Datorverktyg vid LiU

Handbok Cervisia. Bernd Gehrmann Carlos Woelz Översättare: Stefan Asserhäll

Kom igång med Topocad ArcGIS

Versionshantering. Jan Erik Moström

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Datorintro för elektro på Solaris

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Hur patchar man Entré?

Kort-kort om utdelade användarkonton och datormiljön på NADA

ALEPH ver. 16 Introduktion

Grupp Policys. Elektronikcentrum i Svängsta Utbildning AB

Författare Version Datum. Visi System AB

ETSF Routingprojektet JENS ANDERSSON

Objektorienterad programmering i Java I

UNIX verktyg. Användbara kommandon Fil och informationssökning Tags Versionshanteringssystem

FLEX Personalsystem. Uppdateringsanvisning

DATORINTRODUKTION 2010 LABORATION 1

Översättningsminnen laboration

Linuxadministration I 1DV417 - Laboration 1 Installation, användare och allmänt Linuxhandhavande

OBS! Figuren visar inte alla aspekter och objekt som är inblandade i säkerhetssystemet.

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Kör som root handbok. Geert Jansen Översättare: Stefan Asserhäll

Installationsmanual Onepix RSS Vatech SVENSK

Instruktioner för att installera och använda SpeedFeed. 1. Installation direkt på din dator.

Small Business Server 2011 SSL certifikat administration

Som student vid Linköpings Universitet får du tillgång till ett lisam-baserat e-postsystem.

SCI-A0000: Introduktion till Linux, hösten 2016

Programmering i C++ Kompilering från kommandoraden

Krypteringstjänster. LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober Joakim Nyberg ITS Umeå universitet

7 Mamut Client Manager

Välkommen till Dropbox!

Välkommen till Dropbox!

JUnit. Junit Unit Testing. JUnit 3. JUnit 3 forts. Villkorskontroller i test. Exempel JUnit3

Topologi. Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Beställning av Förlitandepart-certifikat Version

LEX INSTRUKTION LEX LDAP

Datorsystem och programmering

Tips: Titta på relevanta genomgångar på webbplatsen

LB-M-EX Innehåll

LABORATIONSRAPPORT Operativsystem 1 Linux

Linuxadministration I 1DV417 - Laboration 4 Nätverk, DHCP, säkerhetskopiering, processhantering, Samba och NFS

Linuxadministration I 1DV417 - Laboration 1 Installation, användare och allmänt Linuxhandhavande

Installation/Flytt av Rebus

Vid problem med programmet kontakta alltid C/W Cadware AB på telefon

Beställning av certifikat för anslutning till BankID (RP certificate) Version

Instruktion för klienten Djupkarta.se

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Linnéuniversitetet. Laboration 1. 1DV416 Windowsadministraion I. 12 november 2013

Att komma igång med ELDA

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

SF1672, Linjär Algebra med Matlab för F1 Lab0

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Övningar för del I av kursen

via webbgränssnittet. Du har även tystnadsplikt gällande dina identifikationsuppgifter.

Hur patchar man Entré?

Introduktion till datormiljön och Python

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

INNEHÅLLS FÖRTECKNING

Kom igång med Windows Phone

Unix-miljöer i större sammanhang

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

DD1310 Programmering för OPEN1 LAB1: Laborationer i Python läsåret 2011/2012

Föreläsning 1 Unix. Datorer och datoranvändning Föreläsningar 2018/19. Operativsystem. Unix

Konfigurering och driftsättning

På servern För att registrera och köra en Topocad 17 nätverkslicens krävs att man installerar den senaste Licensservern

Hogia Administration AB bedriver kontinuerlig utveckling av programmen och reserverar sig för avvikelse mellan program och handbok.

Att bygga enkel webbapplikation i Docker

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Operativsystem IS1350

Lab 7, 48 steg till ett bättre liv i Unix-labbet

LABBINTRODUKTION. Laboranter: Kurs: - Sonny Johansson, Sigurd Israelsson. Utskriftsdatum:

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

SNABBGUIDE TILL LÄRANÄRA

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, Raphael Corsoski, Erik Eliasson, Christian von Schultz, 2008.

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

DD1311 Programmeringsteknik för CL1 Laborationer läsåret

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Årsskiftesrutiner i HogiaLön Plus SQL

Instruktioner för uppdatering från Ethiris 5.x till 6.0

GitHub for Windows och GitShell

Filimport till Norstedts Byrå

Transkript:

CVS kurs laboration 1 Checka in, ut och uppdatera Marcus Rejås 17 november 2002

Innehåll 1 Inledning 1 2 Förberedelser (om du skall köra CVS på en remote server) 1 2.1 Installera CYGWIN...................................... 1 2.2 Ordna så att du kan logga in utan lösenord (med nycklar).................. 2 2.3 Verifiera att allt fungerar................................... 2 3 Ett kort arbetspass 2 3.1 Checka ut modulen cvstest.................................. 2 3.2 Editera koden......................................... 3 3.3 Uppdatera modulen...................................... 3 3.4 Checka in modulen (Commit)................................ 3 3.5 Släppa koden (release).................................... 4 1 Inledning I denna lab skall du öva de grundläggande operationerna i CVS. Lämpliga kapitel i Cederqvist är: 1.3, 2.1, 2.9, A1, 6 och de omkring dessa. 2 Förberedelser (om du skall köra CVS på en remote server) Finns inte cvsrepositoryt på den maskin du sitter så måste vissa konfigureringar göras för att du skall kunna komma åt repositoryt. Det vanligaste är att man kommer åt CVS via ssh. Det är denna metod som beskrivs här. Du måste naturligtvis också ha ett konto och rätt att använda CVS på servern. 2.1 Installera CYGWIN Denna, och efterföljande, labbar utgår från att du har en kommandorads baserad cvs klient. Har du bara tillgång till maskin med någon smak av Windows så kan du med fördel installera Cygwin. Då får du både CVS och ssh och en hel del andra trevligheter. Att installera Cygwin är enkelt. På http://sources.redhat.com/cygwin finns allt du behöver veta. 1

2.2 Ordna så att du kan logga in utan lösenord (med nycklar) Detta är egentligen inte nödvändigt. Men det underlättar avsevärt att slippa skriva lösenordet varje gång. Vissa grafiska CVS-klienter kräver att detta fungerar. Det som skall göras är att skapa ett nyckelpar till ssh. En hemlig och en publik. Den publika skall sedan läggas på servern och den hemliga kan användas istället för lösenord. Det som skall göras är följande: Generera nycklar ssh-keygen -t dsa skapar de nycklar du behöver. De sparas i katalogen.ssh i din hemmakatalog (du kommer till din hemmakatalog genom att ge kommandot cd). Flytta den publika nyckeln till servern Den publika nyckeln sparades i /.ssh/id_dsa.pub. Denna skall läggas till i filen /.ssh/authorized_keys2 på servern. Har du den skall denna nyckel läggas till i filen. Känner du inte till den filen har du den förmodligen inte. Då kan du helt enkelt kopiera filen till servern med följande kommando scp /.ssh/id_dsa.pub username@cvs.lab.rejas.net:.ssh/authorized_keys2 om du får ett felmeddelande att katalogen inte finns skapar du den med kommandot ssh -l user cvs.lab.rejas.net mkdir.ssh. 2.3 Verifiera att allt fungerar Kör kommandot ssh -l user cvs.lab.rejas.net cvs -v. Du skall då få en utskrift från cvsprogrammet på servern. OBS!! Nu är filen /.ssh/id_dsa allt som behövs för att komma in på ditt konto i labbet. Förvara den väl och använd den inte som nycket till flera system. 3 Ett kort arbetspass Okej! Nu skall allt vara klart att köra. Vi börjar med ett enkelt arbetspass. Oftast är det så här som CVS används. Man checkar ut, uppdaterar och commitar! Det kan vara bra att läsa avsnitten A1 och 6 i Cederqvist för att förstå hur cvs kommandot fungerar. 3.1 Checka ut modulen cvstest Innan du börjar att jobba måste du ha en arbetskopia. Då använder du cvs-kommandot checkout. Du kan, om du vill förkorta det till co. Det du checkar ut kommer att hamna i den katalog som är aktiv i en ny underkatalog med samma namn som modulen. För att checka ut modulen gör du en lämplig katalog till aktiv och checkar ut: mkdir cvslab cd cvslab cvs checkout cvstest CVS visar information om de filer som kopieras. 2

3.2 Editera koden Nu när du checkat ut din arbetskopia är det dags att editera koden. Starta din favoriteditor eller utvecklingsmiljö och sätt igång. Du kan editera precis som vanligt i din vanliga miljö. 3.3 Uppdatera modulen Nu när du ändrat koden så har säkert någon annan också gjort det. För att hämta andras andringar gör man en update av modulen. Då slås dina ändringar ihop med andras eventuella ändringar. Du skall ha den katalog som du vill updatera som aktuell och ge kommandot cvs update. Ta för vana att ofta göra update. På så sätt minimeras extraarbete vid eventuella konflikter. Om det blir konflikter för du en varning om detta. Den fil i vilken konflikten uppstod ändras i din arbetskopia. Denna måste du öppna i din editor och lösa konflikten. Kollisionen redovisas på följande sätt i din fil: <<<<<<< filens.namn Raden som du skrev den ======= Raden som någon annan skrev den >>>>>>> 1.6 1.6 är den revision som gäller i repositoryt. Din fil som den var då du körde update finns kvar oförändrad med namnet.#filens.namn.1.5. Där versionsnumret är den version du har checkat ut. Tycker du detta verkar krångligt så bör du tänka på att problemet detta löser inte är helt trivialt. Dessutom kan inga ändringar gå förlorade eftersom det alltid går att ta tillbaka alla versioner av en fil. 3.4 Checka in modulen (Commit) Nu när ändringar är gjorda och modulen är uppdaterad skall man göra sina ändringar tillgängliga för alla. Det gör man med kommandot cvs commit (kan förkortas cvs ci). Du presenteras då med din default editor. Nu kan du skriva ett logmeddelande som talar om vad du gjort. Som default i de flesta UNIX system är editorn vi. Vissa gillar den, andra gör det inte. Du kan välja vilken editor som skall startas med miljövariabeln $EDITOR. Får du upp vi och inte vet hur du gör så kan ku skriva :q! så avlutas vi utan att du skrivit något logmeddelande. Skriver du inget meddelande tror CVS att du vill avbryta den commit och frågar dig hur du vill göra. Gör du en commit i en katalog kommer alla filer i den katalogen som är ändrade att beraöras av commiten och få samma logmeddelande. Så fungerar de flesta kommandon i CVS. Det kan ofta vara bra at bara commita några filer i taget som berör samma ändring. Du kan då ange kommandot cvs commit fil1 fil2 fil3 du kommer då att commita filerna du anger samt skriva ett loggmeddelande som gäller de filerna. Detta fungerar även om andra filer i katalogen är uppdaterade. Vill du fortsätta att jobba med koden går du tillbaka till 3.2. Gör detta tills du känner dig konfortabel med de komandon som används. 3

3.5 Släppa koden (release) Som du vet vid det här laget så låser man inte kod i CVS. Det är dock möjligt att göra det. Därför bör man alltid ha för vana att släppa koden då man inte planerar att jobba med den på ett tag. Skall man inte jobba med den på ett längre tag eller lämna sin burk obevakad skall man även radera sin arbetskopia. Detta kan cvs göra automatiskt om man ger kommandot release med argumentet -d. Om man inte raderat koden och skall börja jobba med den efter en tid skall man alltid göra en update innan man börjar. Annars finns risken att man börjar jobba på en arbetskopia som är väldigt gammal. Det ställer till problem då man senare skall commita sin kod. 4