+ All Categories
Home > Technology > SVN/TRAC

SVN/TRAC

Date post: 07-Dec-2014
Category:
Upload: diego-la-monica
View: 1,193 times
Download: 0 times
Share this document with a friend
Description:
Scopo del documento è fornire una panoramica su: ● Utilizzo di Subversion e TRAC ● risoluzione di piccoli problemi ● Best practice
30
SVN / TRAC Utilizzo di Subversion e TRAC risoluzione di piccoli problemi Best practice
Transcript
Page 1: SVN/TRAC

SVN / TRAC

● Utilizzo di Subversion e TRAC

● risoluzione di piccoli problemi

● Best practice

Page 2: SVN/TRAC

SVN

● È un sistema per il versionamento del software.● Consente di mantenere traccia di tutte le

modifiche occorse nel tempo su un progetto software.

● Agevola lo sviluppo a più mani di codice

http://svnbook.red-bean.com/

Page 3: SVN/TRAC

SVN da linea di comando - checkout

Il checkout consente di creare una copia in locale del progetto software “agganciata” al repository.

<repository> è l'url del repository remoto.

<local> è la directory locale nel quale importare il progetto.

Al posto di checkout è possibile utilizzare l'alias co

diego@my-pc:~$ svn checkout <repository> <local>

diego@my-pc:~$ svn checkout http://software/test my-test-dir

Page 4: SVN/TRAC

SVN da linea di comando - checkout

diego@my-pc:~$ svn co http://software/test my-test-dir

> A my-test-dir/trunk

> A my-test-dir/branches

> A my-test-dir/tags

> Checked out revision 1.

Nell'esempio si nota che SVN ha copiato dal

repository remoto le directory trunk, branches e

tags al repository nel repository locale.

Page 5: SVN/TRAC

SVN – le directory fondamentali

● trunk: directory dove tipicamente è presente la working copy del progetto.

● tags: directory in cui si creano copie etichettate del progetto (es. 1.0, 1.4, …)

● branches: directory in cui ci sono parti di progetto che derivano dal progetto originale (es. modifiche ad-hoc per determinati contesti).

Page 6: SVN/TRAC

SVN da linea di comando - add

Il comando add, consente di aggiungere risorse al repository

remoto partendo da file contenuti nel repository locale.

NOTA: Le risorse non vengono caricate sul repository remoto ma

sono pronte per esservi depositate

diego@my-pc:~/my-test-dir$ svn add trunk/*

> A trunk/my-script.php

> A trunk/my-document.txt

Page 7: SVN/TRAC

SVN da linea di comando - commit

Il comando commit, rende effettive le modifiche effettuate in

locale aggiungendole al repository remoto.

message è il messaggio di testo che verrà riportato nel

repository come descrizione dell'aggiornamento eseguito.

Al posto di commit è possibile utilizzare l'alias ci

diego@my-pc:~/my-test-dir$ svn commit -m "message"

> Adding trunk/my-script.php

> Adding trunk/my-document.txt

> Transmitting file data .

> Committed revision 2.

Page 8: SVN/TRAC

SVN da linea di comando - update

Il comando update (alias: up), riporta nel repository

locale le modifiche presenti sul repository remoto.

Nel caso ci fossero differenze con il repository remoto

verrebbero elencati tutti i file in locale che risultano

obsoleti e quindi sostituiti

diego@my-pc:~/my-test-dir$ svn update

> At revision 2.

Page 9: SVN/TRAC

SVN da linea di comando - stat

Il comando stat, mostra quali file saranno trasmessi al

repository remoto in caso di commit.

Nell'esempio sopra si presuppone che sia stato creato un

nuovo file e aggiunto al repository tramite il comando add.

diego@my-pc:~/my-test-dir$ svn stat

> M trunk/my-script.php

> A trunk/my-new-script.php

Page 10: SVN/TRAC

SVN da linea di comando - diff

Il comando diff, mostra le differenze tra i file modificati in locale e

quelli disponbili sul repository remoto.diego@my-pc:~/my-test-dir$ svn diff

Index: my-script.php

====================================================

--- my-script.php (revisione 2)

+++ my-script.php (working copy)

@@ -1,6 +1,6 @@

// This is a comment

-

+ // this is the line that replaces the above

// This is another comment

Page 11: SVN/TRAC

SVN da linea di comando – svn cp

Usare il comando cp (copy) di svn per copiare

una risorsa locale garantendne l'integrità con il

repository remoto.

diego@my-pc:~/my-test-dir/trunk$ svn cp my-script.php another-script.php

> A another-script.php

diego@my-pc:~/my-test-dir/trunk$ svn ci -m "Added new script to repos"

> Adding another-script.php

Committed Revision 3.

Page 12: SVN/TRAC

SVN – gestione dei tag

I tag sono utili per gestire più versioni di un

progetto.

diego@my-pc:~/my-test-dir$ svn cp trunk tags/1.0

> A tags/1.0

diego@my-pc:~/my-test-dir$ svn commit -m "Release 1.0"

> Adding tags/1.0/my-script.php

> Adding tags/1.0/another-script.php

> Adding tags/1.0/my-document.txt

> Transmitting file data .

> Committed revision 4.

Page 13: SVN/TRAC

TRAC

È un sistema per la gestione, monitoraggio e

documentazione di progetti software

● Wiki di progetto

● Milestones

● Ticket

● Roadmap

Page 14: SVN/TRAC

TRAC – Configurazione – Basic Settings

● consente di definire il nome del progetto

● Un url di riferimento (per esempio l'url

dell'applicazione in ambiente produzione o in

collaudo)

● Una descrizione dettagliata del progetto

(compare come suggerimento sul titolo del

progetto nell'elenco dei progetti).

Page 15: SVN/TRAC

TRAC – Configurazione – Permissions

● consente di definire le autorizzazioni d'accesso per

persone e gruppi (sez. Grant Permission) alle

diverse aree del trac di progetto.

● consente di creare gruppi logici ai quali assegnare

specifiche risorse (Add Subject to Group).

● Consente di revocare i permessi per le persone e i

gruppi (tabella Manage Permissions)

Page 16: SVN/TRAC

TRAC – Configurazione – Plugins

● Consente di attivare o disattivare i plugin installati

● Consente l'installazione di nuovi plugin (avendo gli opportuni diritti sul trac di

progetto) partendo da un file locale.

● Plugin interessanti per i progetti software:

● EnscriptRenderer — Syntax highlighter using GNU Enscript.

● PHPRenderer — Syntax highlighter using the PHP executable.

● Plugin utili per la gestione dei ticket:

● NotificationSystem

● SendmailEmailSender — E-mail sender using a locally-installed sendmail program.

● SmtpEmailSender — E-mail sender connecting to an SMTP server.

Page 17: SVN/TRAC

TRAC – Configurazione – Ticket System

● Components: un prodotto suddiviso in moduli

potrebbe avere diversi components (es. Modulo

Contabilità, Modulo Fatturazione, …)

● Può esistere un solo component predefinito

● Ciascun component può avere un proprietario e

una propria descrizione dettagliata.

Page 18: SVN/TRAC

TRAC – Configurazione – Ticket System

● Milestones: Le scadenze del progetto e la

pianificazione dei rilasci viene gestita tramite le

milestones.

● Per ciascuna milestone è possibile definire:

● Titolo

● Data previsto rilascio

● Data di rilascio

● Descrizione

Page 19: SVN/TRAC

TRAC – Configurazione – Ticket System

● Priorities: Per la corretta gestione dei ticket è necessario

determinare particolari priorità alle segnalazioni dell'utente. Di

default, TRAC offre i seguenti valori:

● blocker: problemi che rendono il software non utilizzabile

● critical: problemi che rendono il software instabile

● major: problemi che causano difficoltà nell'uso del software

● minor: associato a problemi che si presentano in casi sporadici o in

funzionalità di uso raro

● trivial: tipicamente associato a questioni più di riflessione sulla modalità

di risoluzione di un problema

Page 20: SVN/TRAC

TRAC – Configurazione – Ticket System

● Resolutions: Consente di definire un semplice

workflow per i ticket indicando gli stati che un

ticket può assumere.

● Severities: Di default non è valorizzata questo

elenco, ma consente di specificare

l'importanza/gravità da assegnare all'attività.

Page 21: SVN/TRAC

TRAC – Configurazione – Ticket System

● Ticket types: Di default esistono 3 tipi di ticket:

● defect: per segnalare un problema nel software

● enhancement: per segnalare un evoluzione

● task: per indicare quelle attivitià da svolgere non

necessariamente collegate a modifiche del

software.

Page 22: SVN/TRAC

TRAC – Configurazione – Ticket System

● Versions: in questa sezione vengono

configurate le versioni del software in uso.

● Per ogni versione è possibile specificare:

● Il nome della versione (per esempio 1.0,

2.0.0-nightlybuild, 2.0.1-beta, … )

● L'eventuale data di effettivo o previsto rilascio

● Descrizione della versione

Page 23: SVN/TRAC

TRAC – Configurazione – Version Control

● Repositories: Questa sezione serve per

configurare un repository SVN al quale

agganciare il TRAC. In questo modo utilizzando

una particolare sintassi nel wiki e nei ticket è

possibile riferirsi a specifici commit.

Page 24: SVN/TRAC

TRAC – Wiki

● Area per la produzione della documentazione tecnica

● Documentazione di progetto

– Strutturazione del progetto

– Architettura

– Prerequisiti hardware e/o software

● Informazioni sulle modalità di configurazione del software

– Eventuali rimandi a pacchetti software di terze parti necessari al buon funzionamento

del nostro software

● Documentazione di sviluppo

– Convenzioni di sviluppo

– Scopo dei file

Page 25: SVN/TRAC

TRAC – Ticket

● Consente agli utilizzatori di notificare al team di

sviluppo eventuali anomalie occorse sul

software.

● In dipendenza di come è stato configurato

TRAC e dalle autorizzazioni in possesso

dell'utente collegato saranno disponibili

determinate aree e funzioni.

Page 26: SVN/TRAC

TRAC – Browse Source

● Tale sezione è disponibile solo se TRAC è collegato

a un sistema di versionamento del Software SVN.

● Consente di navigare tra i file del progetto software e

consultarne la storia:

● file appartenenti allo stesso rilascio

● differenze del file rispetto a una versione precedente

Page 27: SVN/TRAC

TRAC – Strumenti di monitoraggio – Timeline

● Fonde cronologicamente le informazioni su:

● commit occorsi sul repository svn

● ticket segnalati dagli utenti e eventuale storia

● Variazioni/aggiunte alle pagine del wiki

Page 28: SVN/TRAC

TRAC – Strumenti di monitoraggio – Roadmap

● Consente di tenere sotto controllo lo stato dei

rilasci prianificati per il progetto

Page 29: SVN/TRAC

TRAC – Strumenti di monitoraggio – View tickets

● Consente di tenere sotto controllo il completo

svolgimento delle attività secondo delle

interrogazioni preimpostate.

● È possibile impostare nuove ricerche più

congeniali alle proprie necessità o al progetto

tramite delle semplici interrogazioni SQL.

Page 30: SVN/TRAC

Contatti

Web: http://diegolamonica.info

Twitter: @jast

Email: [email protected]

Skype: diego.la.monica

Gtalk: [email protected]

Facebook: http://www.facebook.com/DiegoLaMonica.FanPage

Licenza Creative Commons

SVN/Trac by Diego La Monica is licensed under a

Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Italia License.


Recommended