Google web-hook

Share in top social networks!

Ebbene, dovrei aver terminato lo script PHP per gestire i web-hooks di google!

Dopo un po’ di sperimentazioni dovrei aver finito!

Lo script gestisce correttamente, aggiunta, modifica e rimozione di file sull’svn!
Le modifiche che farete verranno riportate sulla directory web in pochissimi secondi.

Il tutto è molto semplice:

  • Voi fate il commit dopo le modifiche.
  • Google riceve il commit, crea la nuova revisione ed invia una stringa di dati sul commit che avete fatto all’indirizzo da voi specificato.
  • Lo script riceve la stringa contenente i dati, rileva le modifiche ai files, scarica i file aggiornati dall’svn e sovrascrive totalmente i vecchi.
    Nel caso abbiate eliminato dei files questi verranno eliminati anche nella directory web.

La cosa interessante è che tutte le modifiche non vengono fatte se la stringa di dati non viene autenticata da una chiave univoca che vi viene fornita da google.
Il tutto è realizzato in maniera non troppo elegante, però funziona!
Nella prossima versione vorrei utilizzare le regexp per filtrare la stringa in maniera meno brutale… Ma già da ora funziona tutto (a quanto pare)

Mi sembra superfluo dire che la cartella di destinazione deve avere i permessi adeguati.

Lo script è molto utile perchè permette di usare in maniera MOLTO semplice un sistema di controllo di versione anche per la programmazione web e per chi non ha un hosting condiviso o non ha la possibilità di eseguire comandi, e perchè tutti i software hostati su google code o nei vari repository svn gratuiti (come sourceforge) devono essere open-source!

Se avete modifiche/migliorie/aggiornamenti sarò felice di apportarli allo script. Semplicemente commentate la sua pagina, qui

Buon controllo di versione a tutti!

Share in top social networks!
This entry was posted in Blog, dbsism, Open Source, Personale and tagged , , , , . Bookmark the permalink.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>