Subversion Pre-Commit Check [chiuso]

1

In un file di configurazione per un progetto PHP, ho alcune impostazioni che non dovrebbero andare in produzione. Qualcuno può offrire alcuni esempi specifici o un aiuto su come controllare automaticamente questi campi e assicurarsi che i loro valori non siano le impostazioni di sviluppo / demo prima che i file vengano commessi in sovversione?

Il nostro IDE è JetBrains PHP Storm, e usiamo l'ultima versione di subversion. Alcuni di noi si sviluppano su Linux, mentre altri su Windows.

    
posta Amy Anuszewski 09.06.2011 - 21:48
fonte

4 risposte

7

Questo non dovrebbe essere gestito da SubVersion ma dallo script di compilazione .

Questo script dovrebbe modificare o sostituire le impostazioni di sviluppo in produzione uno durante il processo di rilascio (se automatizzato).

    
risposta data 09.06.2011 - 22:19
fonte
1

Usiamo un file di configurazione di esempio che viene aggiunto al repository. Il file di configurazione usato viene ignorato da subversion e può / può essere modificato da ogni sviluppatore. Se lo sviluppatore aggiunge qualcosa, deve aggiungere anche il valore predefinito all'esempio.

Le modifiche al file di configurazione utilizzato nel sistema produttivo devono essere eseguite a mano. Per far sì che la configurazione di produzione ottenga le modifiche necessarie, abbiamo creato una checklist per il processo di implementazione che deve essere seguito. La distribuzione è fatta da un paio di sviluppatori, solo per essere sicuri di avere 4 occhi sul processo ...

    
risposta data 09.06.2011 - 21:56
fonte
0

Ho una directory di configurazione con una sottodirectory per ogni tipo di installazione, ad es. sviluppo, demo, produzione, test, ecc. La distribuzione di una nuova versione avviene in tre passaggi:

  1. Checkout

    svn co ...

  2. Configura e crea

    ant configure -Dconfiguration = production

    Copia i file dalla sottodirectory di configurazione nella posizione appropriata e crea l'applicazione

  3. Installa

    cp myapp ...

risposta data 10.06.2011 - 00:53
fonte
0

Bene, questa risposta è corretta , questo non è un lavoro per SCM.

Ma in realtà tutti noi sopportiamo cose che non sono ideali quindi ... quello che vuoi è mettere una chiamata a grep nel tuo hook pre-commit (o uno script perl che fa un'espressione regolare). Devi prestare particolare attenzione a rendere la tua regex univoca per i file di configurazione, fino al punto di controllare solo quei file con i nomi pertinenti. (altrimenti potresti finire per rifiutare un file perfettamente funzionante, ad esempio una documentazione)

Se la regex corrisponde a linee che esistono solo nei tuoi file di configurazione demo / demo, scrivi un messaggio di errore rapido su stderr e restituisci 1. SVN gestirà il resto per te.

    
risposta data 10.06.2011 - 01:07
fonte

Leggi altre domande sui tag