2010-01-21 17 views
10

Sto utilizzando la sovversione per ospitare il mio repository per un'installazione di WordPress. L'ho configurato in modo che tutti i principali file WordPress si trovino nella loro stessa directory (denominata wordpress) e configurati per utilizzare svn: esterni per il collegamento al repository di WordPress. Poi ho la mia copia della directory del wp-content (che si trova al di fuori della directory wordpress) che non usa svn: esterni. Funziona tutto bene.Come richiamare SVN per ignorare una directory all'interno di una definizione esterna

Quando aggiorno il mio repository, il core di WordPress viene aggiornato. Poiché il repository di WordPress contiene la propria directory di wp-content, aggiorna anche quella directory. Così la mia struttura del file finisce per guardare qualcosa di simile:

/ 
--/wordpress/ (wordpress repo) 
-----/wp-admin/ 
-----/wp-content/ 
--/wp-content/ (my local repo) 

ho finiscono per avere due versioni separate della cartella wp-content (uno dal mio repo e uno dalla repo di WordPress). Non voglio quello dal repo WordPress (o almeno non in quella posizione). C'è un modo per me di impostare svn per ignorare la directory wordpress/wp-content mentre si usa ancora la definizione di esterni?

+0

Non lo so, ma suppongo che si possa provare a impostare una proprietà 'svn: ignore' nella directory root e vedere cosa succede. È probabile che non funzionerà, comunque. –

+0

Questo non sembra funzionare. Appena aggiorno la mia copia di lavoro, va a scaricare di nuovo i file di wp-content. – NerdStarGamer

+0

Sono un po 'in ritardo per questo - ma non penso che sia un problema con il contenuto duplicato di wp. Supponendo che tu abbia definito il 'WP_CONTENT_DIR' in qualcosa come' define ('WP_CONTENT_DIR', dirname (__FILE__). '/ Wp-content'); 'quindi WordPress ignorerà la propria directory di wp-content. – icc97

risposta

10

Quello che ’ re realmente chiedendo è, “ Puoi specificare --depth per svn:externals ” e la risposta è no. Attualmente gli esterni sono completamente ricorsivi nella directory specificata.

Issue 3216 richiede questa funzionalità, ma non lo fa ’ t assomiglia a ’ s in qualsiasi momento presto.

+0

Hmm, ok. Ho pensato che non potevi fare quello che volevo ma speravo di aver perso qualcosa. Grazie. – NerdStarGamer

0

Si può fare questo con sparse directories (noto anche come casse poco profonde). Non sono sicuro al 100% che funzioni con gli esterni, ma non vedo perché non lo faccia.

+1

Non penso che le directory sparse siano ciò che voglio. Voglio essere in grado di impostare il mio svn repo per ignorare sempre questo particolare file (all'interno della definizione esterna) e poi dimenticarlo. Non voglio dover scrivere cose extra ogni volta che apporto delle modifiche. – NerdStarGamer

2

È possibile creare estensioni separate per ogni sottocartella all'interno del repository di riferimento. Quindi se il tuo esterno è in un repository con i progetti A, B e C e vuoi solo A e B, allora puoi creare due riferimenti esterni separati alle sottocartelle per A e B individualmente.

Attualmente sto facendo questo con un progetto ma è possibile incontrare problemi se si stanno effettivamente apportando modifiche agli esterni e commettendoli poiché i cambiamenti in due parti esterne separate non possono essere commessi atomicamente. Questo problema esiste anche se i due esterni in realtà puntano allo stesso repository che ha senso ma è importante notare quando si utilizza questa tecnica.

Inoltre, se si è responsabili del secondo repository, un'opzione è anche quella di inserire test, documentazione e altre cartelle correlate in un altro repository separato con esternal del codice sorgente per separarli dal repository di codice principale. In questo modo queste cartelle non verranno richiamate quando si effettua un riferimento esterno a causa delle dipendenze del codice.

-1

Cosa succede se si tenta di rimuovere la directory del contenuto wp locale, ma tramite SVN? vale a dire.

svn rm /wordpress/wp-content 

In questo modo SVN dovrebbe ricordare le modifiche, e presumo che non stanno spingendo roba da repo Wordpress, quindi non c'è bisogno di preoccuparsi di commettere accidentalmente.

+1

questo non funziona. 'svn up' riporterà la cartella rimossa – user1406062

Problemi correlati