2011-10-06 25 views
14

Ho deciso che la modifica dei file direttamente nel blocco note è probabilmente pericolosa ed era giunto il momento di disporre di un adeguato controllo del codice sorgente (sono abbastanza nuovo per il controllo del codice sorgente). Ho installato il server VisualSVN sul mio server e TortoiseSVN sul mio computer client. Posso creare nuove cartelle fini, controllarle ecc. Tuttavia, sul mio server, ho una struttura di cartelle esistente in atto per IIS e ci sono collegamenti basati su questa posizione ovunque. Come posso far funzionare l'intera cartella con SVN senza spostare i file?Creare una cartella esistente in un repository

+1

Non si desidera eseguire il backup anche di questi file? (Quelli che si trovano oltre i collegamenti) –

risposta

33

C'è una soluzione semplice per il check-in una struttura di directory esistente:

  1. Aprire il browser repository di TortoiseSVN e creare una nuova directory per il progetto che si desidera effettuare il check-in.
  2. Controllare questa directory vuota appena creata da SVN da qualche parte
  3. Aprire la directory estratta e spostare la directory nascosta contenuta .svn nella directory principale del progetto. Questo abilita i menu contestuali di TortoiseSVN per tutti i file e le sottocartelle.
  4. Aggiungere ogni file e cartella che si desidera effettuare il check-in (contesto comando di menu Aggiungi ...)
  5. Esegui SVN Commit ... nella cartella principale del progetto
+2

Nota: il passaggio 1 presuppone che la struttura del repository sia configurata per avere più progetti in un singolo repository (ad esempio, [opzione uno nel libro SVN] (http: //svnbook.red- bean.com/en/1.0/ch05s04.html)). Se invece si inserisce ciascun progetto in repository separati (ad esempio, l'opzione due), non sarà possibile farlo dal browser del repository. Sarà necessario creare il nuovo repository sul server svn stesso. – kmote

1

Vorrei anche aggiungere un passaggio tra 3 e 4:

3.5. Ignora i file generati automaticamente (comando del menu contestuale Aggiungi alla lista ignora ...)

7

Un modo ancora più semplice di Robert's Answer (anche se il sollevamento da esso):

  1. Aprire il browser repository di TortoiseSVN e creare un nuova directory per il progetto che si desidera effettuare il check-in.

  2. Controllare questa directory vuota appena creata da SVN come directory che si desidera aggiungere (ignorare l'avviso relativo al check out in una directory non vuota).

  3. Esegui "SVN Conferma ..." nella directory che si desidera salvare, selezionando i file che si desidera aggiungere dalla finestra di commit.

0

Si può fare quello che gli altri hanno detto sopra, tuttavia, se si desidera utilizzare solo per quello che hai, invece di aggiungere e commettendo, si può semplicemente ingannare i svnserve.

Per questo esempio la nostra repo esistente è "TEST_REPO"

Vai alla riga di comando.

Creare una nuova directory denominata "nuovo". CD in esso.

L'indice "nuovo" eseguire il seguente:

C:\new\mkdir TEST_REPO 
C:\new\svnadmin create TEST_REPO 

Ora si avrà un pronti contro termine nella directory "TEST_REPO".

Run:

C:\new\cd TEST_REPO 
C:\new\TEST_REPO\del *.* /S /Q 

(rd per rimuovere le directory, se necessario, mi dispiace, non una persona finestre)

Ora, spostare i file dal vostro esistente "TEST_REPO" in "C: \ new Cartella \ TEST_REPO \ ". Quindi eseguire:

C:\new\TEST_REPO\svnadmin verify . 

si dovrebbe vedere SVN verificare tutte della sorgente nel repository. Vai tranquillo.

Problemi correlati