Convergence of messaging

Samankaltaiset tiedostot
CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Versionhallinta MIKSI?

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Versionhallinta MIKSI?

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Ohjelmistoprojektien johtaminen Projektissa käytettävät työkalut

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

1. Liikkuvat määreet

Capacity Utilization

Hajautettu versionhallinta Gitillä

anna minun kertoa let me tell you

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

Sisällysluettelo Table of contents

Choose Finland-Helsinki Valitse Finland-Helsinki

Versionhallinta. Matti Paksula ja Esko Luontola Syksy Tietojenkäsittelytieteen laitos Kuje Research Group

Versiohallinta ja Subversion Maunu Tuomainen

Security server v6 installation requirements

Salasanan vaihto uuteen / How to change password

Security server v6 installation requirements

MUSEOT KULTTUURIPALVELUINA

Versionhallintaa. Versionhallinnan käyttöönotto SAS ympäristössä

DS-tunnusten haku Outi Jäppinen CIMO

Efficiency change over time

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Results on the new polydrug use questions in the Finnish TDI data

Alueellinen yhteistoiminta

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine

The CCR Model and Production Correspondence

Ajettavat luokat: SM: S1 (25 aika-ajon nopeinta)

Miksi Suomi on Suomi (Finnish Edition)

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies

ALOITUSKESKUSTELU / FIRST CONVERSATION

EUROOPAN PARLAMENTTI

C++11 seminaari, kevät Johannes Koskinen

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Information on preparing Presentation

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

16. Allocation Models

Other approaches to restrict multipliers

Group 2 - Dentego PTH Korvake. Peer Testing Report

Kylänetti projektin sivustojen käyttöohjeita Dokumentin versio 2.10 Historia : 1.0, 1.2, 1.6 Tero Liljamo / Deserthouse, päivitetty 25.8.

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

SELL Student Games kansainvälinen opiskelijaurheilutapahtuma

Julkaiseminen verkossa

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies

MEETING PEOPLE COMMUNICATIVE QUESTIONS

EVALUATION FOR THE ERASMUS+-PROJECT, STUDENTSE

Mitä Master Class:ssa opittiin?

Mobility Tool. Demo CIMO

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) ( (Finnish Edition)

Vertaispalaute. Vertaispalaute, /9

Alternative DEA Models

SIMULINK S-funktiot. SIMULINK S-funktiot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Esimerkkinä - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Rekisteröiminen - FAQ

Exercise 1. (session: )

Matkustaminen Majoittuminen

Matkustaminen Majoittuminen

Jypelin käyttöohjeet» Ruutukentän luominen

1. Valitse käyttäjänimi 2. Kirjoita salasana 3. Anna sähköpostiosoitteesi 4. Keksi wikillesi nimi

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

Guidebook for Multicultural TUT Users

TIETEEN PÄIVÄT OULUSSA

Business Opening. Arvoisa Herra Presidentti Very formal, recipient has a special title that must be used in place of their name

812336A C++ -kielen perusteet,

RANTALA SARI: Sairaanhoitajan eettisten ohjeiden tunnettavuus ja niiden käyttö hoitotyön tukena sisätautien vuodeosastolla

Operatioanalyysi 2011, Harjoitus 3, viikko 39

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

Travel Accommodations

AYYE 9/ HOUSING POLICY

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

make and make and make ThinkMath 2017

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Curriculum. Gym card

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

Travel Getting Around

DOORS 7.1 Test Tracking Toolkit

Gap-filling methods for CH 4 data

Tässä ohjeessa käydään läpi sosiaalisen median verkkopalveluiden lisätoimintojen lisääminen verkkosivuillesi.

Käyttäjienhallintatyökalu

OP1. PreDP StudyPlan

amkbyod-tulostaminen Huittisten ja Kankaanpään kampuksilla / BYOD printing in Huittinen and Kankaanpää campuses

Bounds on non-surjective cellular automata

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

Hotel Sapiens (Finnish Edition)

OFFICE 365 OPISKELIJOILLE

Lataa SETI Revisited - Risto Isomäki. Lataa

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Transkriptio:

Convergence of messaging CVS The Converge Group, Olli Pettay Helsinki 10. syyskuuta 2002 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Sisältö 1 CVS 1 1.1 Käyttöönotto................................. 1 1.1.1 Alustus................................ 1 1.2 Käyttö.................................... 2 1.2.1 Modulit............................... 2 1.2.2 Tiedostot............................... 2 1.2.3 Esimerkki CVS:n käytöstä..................... 3 1.3 Binääritiedostot............................... 3 1.4 CVS:n raportointikirjaimet......................... 4

1 CVS <suora lainaus> (CVS-ohje ryhmälle Chromos) CVS on versionhallintajärjestelmä, eli ohjelmisto, jonka avulla voi arkistoida ja käsitellä ohjelmien tai muiden projektien eri versioita. Versionhallintaa voi tehdä käsinkin, yksinkertaisimmin siten, että jokainen versio talletetaan omaan hakemistoonsa, mutta tällöin muodostuu helposti ongelmaksi tilankäyttö, vaikka jokainen versio pakattaisiinkin. CVS tallettaa vain versioiden väliset muutokset, joten tilankäyttö on huomattavasti tehokkaampaa. CVS poistaa myös ryhmätyössä usein ongelmallisten samanaikaisten muutosten häviämisen. Usein samaa tiedostoa joutuu muuttamaan useampi ihminen; mikäli he muuttavat tiedostoa samanaikaisesti, aloittaen kumpikin versiosta A, voi toinen kirjoittaa omat muutoksensa, version C, toisen muutosten, version B, päälle, jolloin vain versio C jää jäljelle: Olli Ohjelmoija: emacs main.c [muuttaa hirveästi] [tallettaa tiedoston] Hanna Hakkeri: emacs main.c [muuttaa hirveästi] [muuttaa vielä lisää] [tallettaa tiedoston] Koska kumpikin käynnisti editorin samanaikaisesti, jää jäljelle vain sen muutokset, joka tallettaa myöhemmin. </suora lainaus> 1.1 Käyttöönotto Jotta CVS:n käyttö olisi yksinkertaisempaa, kannattaa.profile -tiedostoon laittaa seuraava määrittely: export CVSROOT=/home/group/converge/cvsroot Näin CVS:lle kerrotaan missä sen keskusvarasto sijaitsee. Mikäli määrittelyä ei tehdä, täytyy jokaisen CVS-komennon yhteydessä kertoa -d -optiolla, missä keskusvarasto sijaitsee. 1.1.1 Alustus Ennen käyttöönottoa keskusvarasto täytyy alustaa komennolla cvs init. Alustus tehdään vain kerran. (Eli koska minä olen sen jo tehnyt, ei muiden tarvitse tästä välittää.) 1

1.2 Käyttö Tarkemmat ohjeet ks. info cvs man cvs 1.2.1 Modulit CVS säilyttää tiedostoja moduleittain. Käytännössä moduli vastaa alihakemistoja ja niinpä modulin luominenkin tapahtuu seuraavanlaisesti: mkdir moduli cd moduli cvs import modulinnimi vendortag releasetag Modulin nimen valinnan merkitys on siinä, että moduleja ulos otettaessa CVS luo nimeä vastaavan hakemistorakenteen työhakemistoon. VerdorTag on jonkinlainen projektin tunnus, jonka paikalla voisi siis käyttää converge -sanaa. ReleaseTag on ensimmäisen version nimi ja sen paikalla käytettäköön sanaa start. Import -komento pyytää käyttäjältä lokimerkintää (sitä pyytää myös moni muu CVS:n komento). Jos merkintää ei anna option -m avulla (esim. cvs import -m Uusi moduli testimoduli converge start), käynnistyy jokin editori, jossa käyttäjä voi lokimerkinnän antaa. Käytettävä editori on määritelty ympäristömuuttujissa EDITOR, CVSEDITOR tai VISUAL. Kun työskentely modulin tiedostoilla halutaan lopettaa, siirrytään hakemistopuussa yksi ylöspäin (cd..) ja annetaan komento cvs release -d modulinnimi. Tällöin CVS tutkii onko hakemistossa vielä muutoksia, joille ei commit -käskyä ole ajettu. Mikäli ongelmia löytyy CVS valittaa niistä käyttäjälle. 1.2.2 Tiedostot Modulin tiedostojen käsittely onnistuu komennolla cvs checkout modulinnimi, jolloin työhakemistoon syntyy alihakemisto modulinnimi, joka sisältää kaikki modulin tiedostot. Tiedostoja lisätään komennolla cvs add tiedostonnimi, ja jotta lisäys näkyisi myös keskusvarastossa, tulee lisäksi antaa komento cvs commit tiedostonnimi. Commit -käskyllä päivitetään myös tiedostoihin tehdyt muutokset, mutta ennen sitä kannattaa ajaa komento cvs -n update, joka tutkii onko joku muu tehnyt muutoksia keskusvaraston tiedostoon. Mikäli muutoksia on tehty, tulee käyttää edellistä komentoa ilman -n -optiota, jolloin muuokset päivittyvät myös työhakemiston tiedostoihin. cvs remove tiedostonnimi + cvs commit tiedostonnimi poistaa tiedoston keskusvarastosta. cvs diff tiedostonnimi vertaa työhakemiston tiedostoa keskusvaraston tiedostoon ja näyttää tehdyt muutokset. 2

1.2.3 Esimerkki CVS:n käytöstä Tässä esimerkissä käyttäjä haluaa muokata projektin dokumentteja, jotka sijaitsevat docsmodulissa. Ensiksi siirrytään johonkin sopivaan työhakemistoon (,joka ei missään nimessä ole cvsroothakemiston alla). Tämän jälkeen vaihdetaan ryhmätunnus: newgrp converge Tuodaan moduli CVS:stä työhakemistoon: cvs checkout docs cd docs Nyt voidaan tiedostoja muokata. (CVS-hakemistoon ei yleensä kosketa!) Uusia tiedostoja ja hakemistoja voidaan lisätä ja poistaa komennolla cvs add tiedostonnimi cvs remove tiedostonnimi Silloin tällöin kannattaa verrata omia tiedostoja CVS-varaston tiedostoihin: cvs -n update tiedostonnimi ja jos joku muu on myös tehnyt muutoksia täytyy ajaa edellinen komento ilman -n -optiota. Tällöin cvs yrittää yhdistää muutokset, mutta mikäli se ei onnistu, cvs tekee #tiedosto.versio -nimisen kopion käyttäjän tiedostosta ja varsinaisessa tiedostossa on <<<<<<<, ======= ja >>>>>>> -merkinnöillä kuvattu, missä kohtaa ongelma sijaitsee. Kun tarvittavat muutokset/korjaukset on tehty annetaan komento cvs commit -m "tähän tulee lokitietoa tarvittaessa" tiedostonnimi CVS-istunnon lopetus: cd.. cvs release -d docs ja jos haluaa vielä vanhan ryhmätunnuksenkin päälle newgrp 1.3 Binääritiedostot CVS:ään ei yleensä laiteta binääritiedostoja, vaan vain ohjelmien lähdekoodit. Toisinaan binääritiedostoja täytyy kuitenkin käyttää, ja tällöin tiedoston lisääminen tapahtuu komennolla: cvs add -kb tiedostonnimi 3

1.4 CVS:n raportointikirjaimet update output ------------- update and checkout keep you informed of their progress by printing a line for each file, preceded by one character indicating the status of the file: U FILE The file was brought up to date with respect to the repository. This is done for any file that exists in the repository but not in your source, and for files that you haven t changed but are not the most recent versions available in the repository. P FILE Like U, but the CVS server sends a patch instead of an entire file. These two things accomplish the same thing. A FILE The file has been added to your private copy of the sources, and will be added to the source repository when you run commit on the file. This is a reminder to you that the file needs to be committed. R FILE The file has been removed from your private copy of the sources, and will be removed from the source repository when you run commit on the file. This is a reminder to you that the file needs to be committed. M FILE The file is modified in your working directory. C FILE M can indicate one of two states for a file you re working on: either there were no modifications to the same file in the repository, so that your file remains as you last saw it; or there were modifications in the repository as well as in your copy, but they were merged successfully, without conflict, in your working directory. CVS will print some messages if it merges your work, and a backup copy of your working file (as it looked before you ran update ) will be made. The exact name of that file is printed while update runs. 4

A conflict was detected while trying to merge your changes to FILE with changes from the source repository. FILE (the copy in your working directory) is now the result of attempting to merge the two revisions; an unmodified copy of your file is also in your working directory, with the name.#file.revision where REVISION is the revision that your modified file started from. Resolve the conflict as described in *Note Conflicts example::. (Note that some systems automatically purge files that begin with.# if they have not been accessed for a few days. If you intend to keep a copy of your original file, it is a very good idea to rename it.) Under VMS, the file name starts with rather than.#.? FILE FILE is in your working directory, but does not correspond to anything in the source repository, and is not in the list of files for CVS to ignore (see the description of the -I option, and *note cvsignore::). 5