際際滷

際際滷Share a Scribd company logo
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 nel tempo su un progetto
    software.
   Agevola lo sviluppo a pi湛 mani di codice


            http://svnbook.red-bean.com/
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
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.
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).
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
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
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
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.
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
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.
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.
TRAC
 un sistema per la gestione, monitoraggio e
documentazione di progetti software
     Wiki di progetto
     Milestones
     Ticket
     Roadmap
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).
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)
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.
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.
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
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
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.
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.
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
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.
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
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.
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
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
TRAC  Strumenti di monitoraggio  Roadmap

   Consente di tenere sotto controllo lo stato dei
    rilasci prianificati per il progetto
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.
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.

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.