Gestiamo una vasta gamma di siti client creati in Wordpress e Joomla e questi richiedono aggiornamenti regolari per il CMS e le estensioni principali. Manteniamo questi siti in sovversione e posizioniamo gli aggiornamenti in sovversione. Cerchiamo di utilizzare una singola revisione per questo.
Affrontiamo alcune difficoltà nel rendere questo processo efficiente, nel tempo vorremmo automatizzarlo, quindi possiamo offrire il processo a prezzo fisso
Il processo è attualmente come segue
-
crea una copia dell'intera cartella
-
stato di svn | grep '^!' | sed 's / ^! \ s * / svn cancella "/ g' | sed 's / $ /" / g' | sh
-
svn update
-
stato di svn | grep '^?' | sed 's / ^? \ s * / svn aggiungi "/ g' | sed 's / $ /" / g' | sh
-
svn ci -m "Messaggio di conferma"
-
svn remove -m "rimuovi temporaneamente" link
I passaggi 5-6 vengono solitamente ripetuti più volte.
Che cosa sto cercando aiuto con
-
stiamo usando subversion versione 1.6 e 1.7, perché non ci sono cartelle .svn in 1.7 nelle sottodirectory, mi chiedo se il processo è molto più semplice su 1.7?
-
abbiamo aggiunto il passaggio 3 perché riduce il numero di ripetizioni nei passaggi 5-6. Tuttavia questo è stato solo un tentativo ed errore e non riesco a capire perché questo sia
-
A quanto ho capito, il problema nel passaggio 5-6 è che quando un'estensione viene aggiornata, può eliminare un'intera cartella e quindi reinserire quella cartella con i file modificati. In subversion 1.6, questo rimuoverebbe la cartella .svn, che causa un errore 405 Access negato (la cartella viene aggiunta, ma già esiste in svn). Quello di cui ho bisogno è qualcosa che inserisca tutte le cartelle .svn nella mia copia di lavoro se la cartella esiste già in svn. C'è un modo per farlo?
-
Ogni altro miglioramento è stato apprezzato.