martedì 11 gennaio 2011

Aggiungere il supporto SourceSafe a PhpED

Deciso! Metto tutto su SourceSafe cosi' non mi rompo piu' le scatole a sincronizzare le modifiche dei sorgenti php. Il problema e' riuscire ad integrare SS con PhpED, l'ide che al momento e' in cima ai miei preferiti, anche se c'e' stato qualche vano tentativo di passare ad Eclipse.

Accedere alle variabili di ambiente di Windows e aggiungere alla PATH delle "Enviroment Variables -> System Variable" il percorso di installazione di SourceSafe, dove all'interno del folder dovra' essere presente il comando ss.exe:
C:\Program Files (x86)\Microsoft Visual SourceSafe;

Sempre nelle "Enviroment Variables -> System Variable" di Windows creare la voce SSDIR ed assegnarvi il percorso del file "srcsafe.ini", nel mio caso si trovava su un server in rete, quindi nel mio caso ho fovuto assegnarvi un indirizzo di questo tipo:
\\server_sourcesafe\Progetti\VSS

NB: e' possibile che prima di utilizzare PhpED per fare il CheckOut/CheckIn dei file di progetto si debba accedere alla cartella (SSDIR) via file system inserendo le credenziali se richieste.

Una volta preparate le due variabili di ambiente non ci rimane che aggiungere le voci di menu all'interno di PhpED:
- Selezionare Tools -> Settings -> Integration
- Premere il pulsante Add Menu, quindi editare il nome che si vuole dare alla nuova voce di menu contestuale. Per il checkout ho utilizzato "Check Out".
- Selezionare la voce di menu "Check Out" e premere Edit, quindi selezionare la voce Shell nella 'Execute with' e inserire come command line:
ss Checkout "$/SourceSafeProjectPath@RelFName@" -GL@Path@, dove '$/SourceSafeProjectPath' si riferisce al path del progetto in SS (valore adiacente alla label 'name' nelle proprieta' del progetto SS)
- Infine nelle opzioni selezionare 'Show this command in Workplace popup' e 'for files'

Proseguire aggiungendo le altre voci di menu "Check In" e "Undo Check Out" ripetendo i passi precedenti e evendo cura di modificare il comando di shell a seconda dei casi.
Qui sotto sono brevemente elencati i comandi SourceSafe in base alle funzionalita':

Check Out
ss Checkout "$/SourceSafeProjectPath@RelFName@" -GL@Path@

Check In
ss Checkin "$/SourceSafeProjectPath@RelFName@" -GL@Path@ -C

Undo Check Out
ss Undocheckout "$/SourceSafeProjectPath@RelFName@" -GL@Path@


Per conoscere i comandi riconosciuti da ss.exe fare riferimento al seguente link:
http://msdn.microsoft.com/en-us/library/003ssz4z%28v=vs.80%29.aspx

Mentre per le variabili contestuali utilizzabili nelle macro di PhpED, aprire l'help e andare alla seguente pagina:
Contents -> Customized PhpED -> Type of handlers and macros