SVN / TRAC●   Utilizzo di Subversion e TRAC●   risoluzione di piccoli problemi●   Best practice
SVN●   È un sistema per il versionamento del software.●   Consente di mantenere traccia di tutte le    modifiche occorse n...
SVN da linea di comando - checkoutIl checkout consente di creare una copia in locale delprogetto software “agganciata” al ...
SVN da linea di comando - checkoutdiego@my-pc:~$ svn co http://software/test my-test-dir> A   my-test-dir/trunk> A   my-te...
SVN – le directory fondamentali●   trunk: directory dove tipicamente è presente    la working copy del progetto.●   tags: ...
SVN da linea di comando - addIl comando add, consente di aggiungere risorse al repositoryremoto partendo da file contenuti...
SVN da linea di comando - commitIl comando commit, rende effettive le modifiche effettuate inlocale aggiungendole al repos...
SVN da linea di comando - updateIl comando update (alias: up), riporta nel repositorylocale le modifiche presenti sul repo...
SVN da linea di comando - statIl comando stat, mostra quali file saranno trasmessi alrepository remoto in caso di commit. ...
SVN da linea di comando - diffIl comando diff, mostra le differenze tra i file modificati in locale equelli disponbili sul...
SVN da linea di comando – svn cpUsare il comando cp (copy) di svn per copiareuna risorsa locale garantendne lintegrità con...
SVN – gestione dei tagI tag sono utili per gestire più versioni di unprogetto. diego@my-pc:~/my-test-dir$ svn cp trunk tag...
TRACÈ un sistema per la gestione, monitoraggio edocumentazione di progetti software  ●   Wiki di progetto  ●   Milestones ...
TRAC – Configurazione – Basic Settings●   consente di definire il nome del progetto●   Un url di riferimento (per esempio ...
TRAC – Configurazione – Permissions●   consente di definire le autorizzazioni daccesso per    persone e gruppi (sez. Grant...
TRAC – Configurazione – Plugins●   Consente di attivare o disattivare i plugin installati●   Consente linstallazione di nu...
TRAC – Configurazione – Ticket System●   Components: un prodotto suddiviso in moduli    potrebbe avere diversi components ...
TRAC – Configurazione – Ticket System●   Milestones: Le scadenze del progetto e la    pianificazione dei rilasci viene ges...
TRAC – Configurazione – Ticket System●   Priorities: Per la corretta gestione dei ticket è necessario    determinare parti...
TRAC – Configurazione – Ticket System●   Resolutions: Consente di definire un semplice    workflow per i ticket indicando ...
TRAC – Configurazione – Ticket System●   Ticket types: Di default esistono 3 tipi di ticket:    ●   defect: per segnalare ...
TRAC – Configurazione – Ticket System●   Versions: in questa sezione vengono    configurate le versioni del software in us...
TRAC – Configurazione – Version Control●   Repositories: Questa sezione serve per    configurare un repository SVN al qual...
TRAC – Wiki●   Area per la produzione della documentazione tecnica    ●   Documentazione di progetto        –   Strutturaz...
TRAC – Ticket●   Consente agli utilizzatori di notificare al team di    sviluppo eventuali anomalie occorse sul    softwar...
TRAC – Browse Source●   Tale sezione è disponibile solo se TRAC è collegato    a un sistema di versionamento del Software ...
TRAC – Strumenti di monitoraggio – Timeline●   Fonde cronologicamente le informazioni su:    ●   commit occorsi sul reposi...
TRAC – Strumenti di monitoraggio – Roadmap●   Consente di tenere sotto controllo lo stato dei    rilasci prianificati per ...
TRAC – Strumenti di monitoraggio – View tickets●   Consente di tenere sotto controllo il completo    svolgimento delle att...
ContattiWeb:             http://diegolamonica.infoTwitter:         @jastEmail:           me@diegolamonica.infoSkype:      ...
Upcoming SlideShare
Loading in …5
×

SVN/TRAC

1,176 views
1,072 views

Published on

Scopo del documento è fornire una panoramica su:
● Utilizzo di Subversion e TRAC
● risoluzione di piccoli problemi
● Best practice

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,176
On SlideShare
0
From Embeds
0
Number of Embeds
89
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SVN/TRAC

  1. 1. SVN / TRAC● Utilizzo di Subversion e TRAC● risoluzione di piccoli problemi● Best practice
  2. 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. 3. SVN da linea di comando - checkoutIl checkout consente di creare una copia in locale delprogetto software “agganciata” al repository. diego@my-pc:~$ svn checkout <repository> <local><repository> è lurl del repository remoto.<local> è la directory locale nel quale importare il progetto. diego@my-pc:~$ svn checkout http://software/test my-test-dirAl posto di checkout è possibile utilizzare lalias co
  4. 4. SVN da linea di comando - checkoutdiego@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.Nellesempio si nota che SVN ha copiato dalrepository remoto le directory trunk, branches etags al repository nel repository locale.
  5. 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. 6. SVN da linea di comando - addIl comando add, consente di aggiungere risorse al repositoryremoto 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.txtNOTA: Le risorse non vengono caricate sul repository remoto masono pronte per esservi depositate
  7. 7. SVN da linea di comando - commitIl comando commit, rende effettive le modifiche effettuate inlocale 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 nelrepository come descrizione dellaggiornamento eseguito.Al posto di commit è possibile utilizzare lalias ci
  8. 8. SVN da linea di comando - updateIl comando update (alias: up), riporta nel repositorylocale 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 remotoverrebbero elencati tutti i file in locale che risultanoobsoleti e quindi sostituiti
  9. 9. SVN da linea di comando - statIl comando stat, mostra quali file saranno trasmessi alrepository remoto in caso di commit. diego@my-pc:~/my-test-dir$ svn stat > M trunk/my-script.php > A trunk/my-new-script.phpNellesempio sopra si presuppone che sia stato creato unnuovo file e aggiunto al repository tramite il comando add.
  10. 10. SVN da linea di comando - diffIl comando diff, mostra le differenze tra i file modificati in locale equelli 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. 11. SVN da linea di comando – svn cpUsare il comando cp (copy) di svn per copiareuna risorsa locale garantendne lintegrità con ilrepository 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. 12. SVN – gestione dei tagI tag sono utili per gestire più versioni di unprogetto. 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. 13. TRACÈ un sistema per la gestione, monitoraggio edocumentazione di progetti software ● Wiki di progetto ● Milestones ● Ticket ● Roadmap
  14. 14. TRAC – Configurazione – Basic Settings● consente di definire il nome del progetto● Un url di riferimento (per esempio lurl dellapplicazione in ambiente produzione o in collaudo)● Una descrizione dettagliata del progetto (compare come suggerimento sul titolo del progetto nellelenco dei progetti).
  15. 15. TRAC – Configurazione – Permissions● consente di definire le autorizzazioni daccesso 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. 16. TRAC – Configurazione – Plugins● Consente di attivare o disattivare i plugin installati● Consente linstallazione 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. 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. 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. 19. TRAC – Configurazione – Ticket System● Priorities: Per la corretta gestione dei ticket è necessario determinare particolari priorità alle segnalazioni dellutente. 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à nelluso 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. 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 limportanza/gravità da assegnare allattività.
  21. 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. 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, … ) ● Leventuale data di effettivo o previsto rilascio ● Descrizione della versione
  23. 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. 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. 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 dellutente collegato saranno disponibili determinate aree e funzioni.
  26. 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. 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. 28. TRAC – Strumenti di monitoraggio – Roadmap● Consente di tenere sotto controllo lo stato dei rilasci prianificati per il progetto
  29. 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. 30. ContattiWeb: http://diegolamonica.infoTwitter: @jastEmail: me@diegolamonica.infoSkype: diego.la.monicaGtalk: diego.lamonica@gmail.comFacebook: 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.

×