2013-05-20 25 views
11

Scrivo la configurazione del mio ambiente di costruzione. (Quindi il processo di compilazione può eseguire il boot se stesso se si trova in esecuzione su un'immagine pulita).Come configurare il proxy HTTP SVN dalla riga di comando?

Come parte di questo processo, determinate dipendenze vengono recuperate dai repository SVN pubblici.

Le macchine di generazione si trovano dietro un proxy, quindi ho bisogno di configurare SVN per utilizzare il proxy.

Molte delle opzioni che vengono subito in mente sono sgradevole per vari motivi:

  • ho potuto modificare manualmente il file ~/.subversion/server, ma io preferirei di gran lunga mantenere il processo di compilazione come auto contenuto e il più automatizzato possibile.
  • In alternativa, potrei "proxy" i vari repository di subversion pubblici con un repository interno di "dipendenze", ma questo si aggiunge al numero di parti mobili che devono essere mantenute.
  • Infine, potrei scrivere uno script per controllare il file di configurazione e modificarlo (se necessario), ma questo sembra eccessivo per ciò che dovrebbe essere una parte banale del processo di compilazione.

Idealmente, dovrei essere in grado di specificare il proxy dalla riga di comando, ma non è ovvio che ciò sia possibile. Qual è il modo giusto per affrontare questo problema?

+0

OK, così sembra che posso utilizzare i seguenti comandi per impostare il proxy (che ho ancora da testare): svn propset server --config-opzione: global: http-proxy-host = ; svn propset --config-option server: global: http-proxy-port = (Tuttavia: il proxy per i nostri browser è impostato automaticamente, quindi sto ancora lavorando se devo scaricare e analizzare lo script di configurazione del proxy). –

risposta

15

SVNBook per il salvataggio!

  1. Come hai già accennato, è possibile aggiungere le opzioni di configurazione di SVN svn client a riga di comando.

    Vedere SVNBook | --config-option command-line reference.

    Imposta, per la durata del comando, il valore di un'opzione di configurazione runtime . CONFSPEC è una stringa che specifica lo spazio dei nomi dell'opzione di configurazione , il nome e il valore che si desidera assegnare a , formattato come FILE: SEZIONE: OPZIONE = [VALUE]. In questa sintassi, FILE e SECTION sono il file di configurazione di runtime (sia config o server ) che la loro sezione, rispettivamente, che contengono l'opzione il cui valore si desidera modificare. OPZIONE è, naturalmente, l'opzione stessa e VALUE il valore (se esiste) che si desidera assegnare all'opzione . Ad esempio, per disattivare temporaneamente l'uso della funzione di impostazione delle proprietà automatica , utilizzare --config-option = config: miscellanea: enable-auto-props = no. È possibile utilizzare questa opzione più volte per modificare contemporaneamente più valori di opzione .

    Ecco l'esempio della riga di comando:

    svn checkout ^
    --config-option servers:global:http-proxy-host=<PROXY-HOST> ^
    --config-option servers:global:http-proxy-port=<PORT> <REPO-URL> <LWC-DIR>

  2. Oppure utilizzare --config-dir per puntare cliente svn riga di comando per file di configurazione personalizzata.

    --config-dir DIR

    incarica Subversion di leggere le informazioni di configurazione dalla directory specificata anziché il percorso predefinito (.subversion in directory home dell'utente).

+0

Bene, l'opzione di configurazione non sembra funzionare troppo bene, poiché ottengo i seguenti due errori: svn: opzione non valida --config-option server: globale: http-proxy-port = svn: opzione non valida --config -option server: global: http-proxy-host = .... Ora sto provando l'opzione --config-dir. –

+2

Mi ci è voluto un po 'per capire, ma il comando completo da usare è: svn checkout --config-option servers: global: http-proxy-host = --config-option servers: global: http-proxy- port =

+1

@WilliamPayne grazie per l'aggiornamento! Metterò questa linea di comando nella risposta come campione. – bahrep