2010-03-12 12 views
5

Sto utilizzando SVN e ho un repository su una macchina remota. A volte, quando lavoro sul mio computer locale mi rendo conto che ho bisogno di aggiungere alcuni nuovi file al repository. La procedura usuale che conosco sarebbe allora:Importare i file direttamente nel repository SVN senza prima verificare

  1. alla cartella corrente sulla mia cassa macchina locale l'intero SVN repo
  2. vi entrano
  3. copiare il file interessante
  4. commettere

Ma questo può essere un po 'noioso. Mi chiedo se in qualche modo, posso omettere i passaggi da 1 a 3 e importare direttamente il file "interessante" in SVN senza la necessità di controllare prima il repository?

risposta

10

Forse svn import è quello che vuoi? Controlla la documentazione per i dettagli.

+0

+1 l'unica cosa è che deve importare svn per ogni file separatamente se si trovano in posizioni diverse. Grazie –

+0

Ciao HPM, scusa se la mia spiegazione non è stata chiara. Se non eseguo il check-out del repo, come posso importare il file nel repository? Ho provato svn import new_file http: ..... repo, ma non funziona, dice che non trova le variabili svn environemtn – flow

+0

È possibile passare quelle variabili ambientali sulla riga di comando, controllare l'utilizzo. Probabilmente sta cercando l'host e la porta svn e il nome utente e la password. 'svn help import' –

2

È possibile eseguire il checkout solo della cartella in cui si trovano i nuovi file, aggiungere i nuovi file e confermare.

Mi sembra che quello che stai facendo sia pericoloso. Se non si aggiorna da SVN per la prima volta e si ricompila il codice, è possibile che si introducano bug o si interrompa la compilazione. Forse l'interfaccia di quella classe che stai usando è cambiata nel repository!

+0

Io lavoro con file di testo indipendenti, non con il codice sorgente di un programma – flow

+1

L'aggiunta di un file al repository non interromperà la compilazione ... è un caso d'uso comune e c'è un comando specifico, 'svn import ', per farlo. –

+0

In real puoi eseguire il checkout della revisione 0, aggiungere il file necessario e commetterlo. – Znik

1

In seguito ha lavorato splendidamente per me:

  1. Accedere macchina Linux con l'utente che contiene l'accesso al repository svn.
  2. Creare una nuova directory, ad es. "cwo_tracking" che deve essere aggiunto in svn
  3. Ora basta assicurarsi che lo strumento svn sia installato e che abbia l'opzione "importa". Run

    svn import --help

  4. Ora controllare l'URL completo HTTPS della directory SVN sotto il quale si desidera aggiungere il nuovo file/cartelle per esempio https://SVN_HOST/REPO/PROJECTS/PARENT. Per noi è GENITORE che dovrebbe avere la cartella "cwo_tracking", ha aggiunto dopo abbiamo finito il check-in.

  5. Nella directory di lavoro attuale contenente "cwo_tracking" di nome cartella vuota, eseguire

    svn import cwo_tracking https://SVN_HOST/REPO/PROJECTS/PARENT/cwo_tracking

  6. Questo dovrebbe aprire un editor per inserire un commento. Inserisci un commento pertinente, ad es. "Aggiunta di una nuova dir per il progetto di tracciamento di cwo", salvare e uscire.

  7. Una volta salvato il commento, potrebbe chiederti la password. Se lo fa, inseriscilo e se ti chiede di salvare la tua password, digita no.

  8. Dovrebbe mostrare qualcosa di simile -

    revisione Committed 735.

  9. Ora aprire un Web browser e andare all'URL digitato nel comando di importazione

    https://SVN_HOST/REPO/PROJECTS/PARENT/cwo_tracking

Questo dovrebbe aprire una pagina. Questo è quello che hai aggiunto!

+1

(Ottimo post! Tieni presente che i post non devono essere indirizzati a persone specifiche, poiché sono per tutti. Se desideri ringraziare un particolare utente, aumenta la risposta pertinente). – halfer

+0

Ricorderà quel signore. Ho fatto davvero il upvote! – nitinr708

Problemi correlati