Scopo del documento 竪 fornire una panoramica su:
Utilizzo di Subversion e TRAC
risoluzione di piccoli problemi
Best practice
1 of 30
More Related Content
SVN/TRAC
1. SVN / TRAC
Utilizzo di Subversion e TRAC
risoluzione di piccoli problemi
Best practice
2. 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/
3. SVN da linea di comando - checkout
Il checkout consente di creare una copia in locale del
progetto software agganciata al repository.
diego@my-pc:~$ svn checkout <repository> <local>
<repository> 竪 l'url del repository remoto.
<local> 竪 la directory locale nel quale importare il progetto.
diego@my-pc:~$ svn checkout http://software/test my-test-dir
Al posto di checkout 竪 possibile utilizzare l'alias co
4. 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.
5. 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).
6. SVN da linea di comando - add
Il comando add, consente di aggiungere risorse al repository
remoto partendo da file contenuti nel repository locale.
diego@my-pc:~/my-test-dir$ svn add trunk/*
> A trunk/my-script.php
> A trunk/my-document.txt
NOTA: Le risorse non vengono caricate sul repository remoto ma
sono pronte per esservi depositate
7. SVN da linea di comando - commit
Il comando commit, rende effettive le modifiche effettuate in
locale aggiungendole al repository remoto.
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.
message 竪 il messaggio di testo che verr riportato nel
repository come descrizione dell'aggiornamento eseguito.
Al posto di commit 竪 possibile utilizzare l'alias ci
8. SVN da linea di comando - update
Il comando update (alias: up), riporta nel repository
locale le modifiche presenti sul repository remoto.
diego@my-pc:~/my-test-dir$ svn update
> At revision 2.
Nel caso ci fossero differenze con il repository remoto
verrebbero elencati tutti i file in locale che risultano
obsoleti e quindi sostituiti
9. SVN da linea di comando - stat
Il comando stat, mostra quali file saranno trasmessi al
repository remoto in caso di commit.
diego@my-pc:~/my-test-dir$ svn stat
> M trunk/my-script.php
> A trunk/my-new-script.php
Nell'esempio sopra si presuppone che sia stato creato un
nuovo file e aggiunto al repository tramite il comando add.
10. 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
11. 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.
12. 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.
13. TRAC
un sistema per la gestione, monitoraggio e
documentazione di progetti software
Wiki di progetto
Milestones
Ticket
Roadmap
14. 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).
15. 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)
16. 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.
17. 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.
18. 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
19. 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
20. 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.
21. 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.
22. 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
23. 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.
24. 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
25. 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.
26. 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
27. 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
28. TRAC Strumenti di monitoraggio Roadmap
Consente di tenere sotto controllo lo stato dei
rilasci prianificati per il progetto
29. 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.
30. Contatti
Web: http://diegolamonica.info
Twitter: @jast
Email: me@diegolamonica.info
Skype: diego.la.monica
Gtalk: diego.lamonica@gmail.com
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.