Alma Mater Studiorum Università di Bologna. Controllo di versione. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 1 / 18



Documenti analoghi
Prova Finale Controllo delle versioni

III.2 Come condividere risultati

Server Galileo.

Contribuire ad un progetto Open Source con i Distributed Version Control Systems

Posta Elettronica: corso base

Luca Ottaviano. Everyday Git

Programmazione Java Avanzata

Gestione della configurazione del software

INSTALLARE L AMBIENTE DI SVILUPPO PER JOOMLA 2.5

Terza lezione: Directory e File system di Linux

Le distrubuzioni GNU/Linux

Iniziamo la panoramica sul funzionamento dell'svn sulla suite S.A.

Manuale LiveBox APPLICAZIONE ANDROID.

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

GRAFICA TEMPLATE n. 008

MODEM USB MDC525UP Guida Rapida LINUX

Note sull uso di Speedy

Manuale LiveBox APPLICAZIONE WINDOWS PHONE V (465)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Strumenti di gestione del ciclo di vita del software

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Ingegneria del Software 1: Eclipse

Organizzazione dell'interfaccia utente su Android

IngEstate. Sistema di telegestione

Punto Print Il programma per stampare. Documentazione Tecnica

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

Tale attività non è descritta in questa dispensa

GRAFICA TEMPLATE n. 009

GRAFICA TEMPLATE n. 003

Il Sistema Operativo: il File System

Visual basic base Lezione 01. L'ambiente di sviluppo

GSP+ Customer Relationship Manager V 7.0. Manuale utente

Gestione Manutenzioni Immobiliari.

Manuale LiveBox APPLICAZIONE ANDROID.

MagiCum S.r.l. Progetto Inno-School

Installazione e caratteristiche generali 1

GRAFICA TEMPLATE n. 012

GRAFICA TEMPLATE n. 002

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

DRUPAL CONTINUOUS INTEGRATION. Parte I - Introduzione

Eclipse e Subversion

GRAFICA TEMPLATE n. 001B

Il Web Server e il protocollo HTTP

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27

Manuale Gestore. STWS Web Energy Control - Servizio di telelettura sul WEB

Regole redazionali per la creazione di per il personale

GRAFICA TEMPLATE n. 004A

GestVetrine 1.1 versione novembre 2014

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Corso sul pacchetto R

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Strumenti per la gestione della configurazione del software

Configurazione dei Windows Media Services in Windows Server di Nicola Ferrini MCT MCSA MCSE MCTS MCITP

GRAFICA TEMPLATE n. 006

Guida di Installazione GCC

Il File System. Il file system

Indice. Indice V. Introduzione... XI

VMware. Gestione dello shutdown con UPS MetaSystem

Linee guida per il Comitato Tecnico Operativo 1

Manuale d uso Lexun Area Riservata proprietà di logos engineering - Sistema Qualità certificato ISO 9001 Det Norske Veritas Italia

Cos è Infinity Project

INSTALLAZIONE E CONFIGURAZIONE DURC CLIENT PEC E FIRMA DIGITALE

Studi di Settore. Nota Operativa 22/4/2013

Gruppi, Condivisioni e Permessi. Orazio Battaglia

Manuale servizio ScambioDati

GESTIONE INCASSI SAGRA. Ver. 2.21

Linguaggi dinamici. Giacomo Cabri Mauro Andreolini

OwnCloud Guida all installazione e all uso

Società Italiana di Radiologia Medica Procedura di impostazione Caselle di con il nuovo provider SIRM.

Laboratorio virtuale Progetto dei dipartimenti di Astronomia, Fisica, Matematica e Scienze dell Informazione

Manuale Utente Amministrazione Trasparente GA

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

GUIDA ALLA CONFIGURAZIONE E ALL UTILIZZO

Esercitazione 2 Certificati

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Sito web parrocchiale: STRUMENTI E PROGRAMMI

Sommario. 1. Cos è SecureDrive Caratteristiche Privacy dei dati: SecureVault... 4

Harvesting delle tesi di dottorato delle Biblioteche Nazionali tramite DSpace

WorkFLow (Gestione del flusso pratiche)

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Approfondimenti. Contenuti

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Corso di Alfabetizzazione Informatica

SVILUPPO DEL BLOG Autori: Ilari Michele, Cimini Oscar, Zaleski Dawid

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Corso Git Riccardo Binetti 22 Ottobre Riccardo Binetti Corso Git Ottobre / 38

Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti smonti@deis.unibo.it

lem logic enterprise manager

OE-TL100 SOFTWARE PER RACCOLTA ORDINI MAGAZZINO

Capitolo 4 Pianificazione e Sviluppo di Web Part

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

PORTALE CLIENTI Manuale utente

Dynamic 07 -Software per la lettura ottica e data capture. G.Q.S. Srl Global Quality Service Via Bernini, 5/7 Corsico (MILANO)

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Entrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1

Corso di PHP. Prerequisiti. 1 - Introduzione

GateManager. 1 Indice. tecnico@gate-manager.it

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

Transcript:

Alma Mater Studiorum Università di Bologna Controllo di versione 2015 S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 1 / 18

Sviluppo collaborativo Organizzazione del processo di sviluppo Per realizzare un buon prodotto software non è sufficiente scrivere il codice, ma è altresì importante la gestione del processo di sviluppo. Organizzare un processo software vuol dire occuparsi di diverse problematiche: Comunicazione tra i partecipanti Gestione delle attività Gestione del codice sorgente Controllo di versione Semplificazione della collaborazione Gestione di diverse varianti (branch) del progetto S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 2 / 18

Sistemi di controllo di versione Centralizzati Sistemi di controllo di versione Locali Centralizzati SVN CVS Figura: Sistemi di controllo di versione centralizzati S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 3 / 18

Sistemi di controllo di versione Distribuiti Sistemi di controllo di versione Distribuiti Git Mercurial Bazaar Figura: Sistemi di controllo di versione distribuiti S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 4 / 18

Git Creato da Linus Torvalds per fornire supporto al processo di sviluppo del kernel Linux Caratteristiche Sviluppo distribuito Orientato allo sviluppo non lineare Flessibilità ed efficienza, soprattutto per team numerosi S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 5 / 18

Git installazione INSTALLAZIONE Debian apt-get install git Arch pacman -S git Fedora yum install git Gentoo emerge ask verbose dev-vcs/git Windows http://msysgit.github.io/ EGit Client Git per Eclipse IDE é basato su libreria JGit. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 6 / 18

Configurazione tipica S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 7 / 18

Workspace, Index, Repository Working directory directory con i file Index(Staging Area) spazio per creare il commit successivo prima di registrarlo nel repository Repository database su file che conserva i vari commit S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 8 / 18

Esempio d utilizzo S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 9 / 18

Branch killer feature Permette di lavorare su divese versioni in parallelo Funzionalitá piú potente di Git che lo differenzia dagli altri SCM. Git permette di avere molteplici branch completamente indipendenti. Le operazioni di creazione, unione e cancellazione sono veloci e facili da eseguire. branch che contiene tutte le versioni stabili branch per sviluppare una nuova funzionalitá branch per testare Non é obbligatorio condividere tutti i branch con il repository remoto. E possibile associare ogni branch locale ai branch dei diversi repository remoti. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 10 / 18

Modello di Dominio S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 11 / 18

Branch S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 12 / 18

Eclipse Git View Window > Show View > Other... > Git > Git Staging Git Repositories Git History S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 13 / 18

Repository Git sul server del corso Gitolite «git hosting on a central server, with fine-grained access control and many more powerful features.» https://github.com/sitaramc/gitolite Accessibile con il protocollo SSH basato sulla crittografia asimmetrica, utilizzando una coppia di chiavi. Indirizzi ssh://isslm2014@137.204.107.21:80/<repo> ssh://isslm2014@infolab.ingce.unibo.it:80/<repo> S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 14 / 18

Best Practice Raccomandazioni per i commit puliti Ogni commit deve avere un autore - Nome Cognome, email dell università. Il testo dei commit deve contenere la descrizione breve dei cambiamenti. Il commit non deve contenere i file che non corrispondono ai cambiamenti, per esempio i file che vengono creati da strumenti esterni. I file indesiderati possono essere aggiunti in.gitignore. Il commit non deve aggiungere o rimuovere le righe vuote o gli spazi, ad esclusione dei casi che corrispondono alla logica di commit (refactoring, pulizia del codice). Lo stile dei cambiamenti deve essere mantenuto uniforme. Per esempio se per l allineamento del codice vengono utilizzati i tab, il codice aggiuntivo deve seguire lo stesso modello. Il codice deve essere scritto in modo da minimizzare i conflitti dovuti a eventuali modifiche. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 15 / 18

Demo Eclipse, EGit S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 16 / 18

Esercizio Lavoro in gruppo attraverso server centrale Impostazione dell ambiente di lavoro Importazione dei contenuti dal repository remoto Invio/recensione delle modifiche dal repository remoto del gruppo Risoluzione dei conflitti S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 17 / 18

Link utili http://git-scm.com/book http://wiki.eclipse.org/egit/user_guide http://pcottle.github.io/learngitbranching/ http://get-git.rtfd.org http://vogella.com/tutorials/git/article.html http://vogella.com/tutorials/eclipsegit/article.html http://githowto.com/ S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE 2015 18 / 18