Domanda

Sto utilizzando TortoiseSVN contro il repository SVN di SourceForge.Vorrei spostare un file da una cartella all'altra per mantenerne la cronologia delle revisioni.È possibile?Se così, come fai a farlo?

(La mia strategia attuale è stata quella di copiare il file nella nuova cartella, archiviarlo e quindi eliminare il file dalla cartella corrente.)

È stato utile?

Soluzione

Subversion ha il supporto nativo per lo spostamento dei file.

svn move SOURCE DESTINATION

Per ulteriori informazioni consultare la guida in linea (svn help move).

Altri suggerimenti

Consulta la sezione 5.14.2.Spostamento di file e cartelle (o controlla "sposta" nell'indice dell'aiuto) dell'aiuto di TortoiseSVN.Esegui una mossa trascinando verso destra.Menziona anche che è necessario eseguire il commit dalla cartella principale per renderla "una" revisione.Funziona per apportare la modifica in una copia di lavoro.

(Nota che gli elementi SVN nell'immagine seguente verranno visualizzati solo se la cartella di destinazione è già stata aggiunta al repository.)

tortoise move menu

Puoi anche eseguire lo spostamento tramite il Repo Browser (sezione 5.23.Il browser dell'archivio dell'aiuto).

Con TortoiseSVN sposto semplicemente il file su disco.

Quando arrivo a confermare le modifiche, seleziono il file mancante e quello nuovo e seleziono "Movimento di riparazione"dal menu contestuale:

enter image description here

Ciò significa che posso lasciare che il mio IDE sposti i file e utilizzi gli strumenti di refactoring senza perdere la cronologia.

In TortoiseSVN fai clic con il pulsante destro del mouse da qualche parte e vai TortoiseSVN > Repo Browser per aprire il repository.

Tutto quello che devi fare è trascinare e rilasciare il file da una cartella alla posizione desiderata.Ti chiederà di aggiungere un messaggio di commit e per impostazione predefinita è "File/cartella spostati in remoto"

Utilizzando TortoiseSVN faccio semplicemente clic con il pulsante destro del mouse e trascino la cartella da una posizione all'altra.Quando rilasci il clic destro avrai l'opzione per "SVN Move Version File". Tuttavia, credo che SVN non faccia nulla di "fantasia", ma elimina semplicemente il file nella posizione precedente e lo aggiunge alla nuova posizione.

Per il client TortoiseSVN:

  1. Seleziona i file che desideri spostare,
  2. Giusto fai clic e trascina i file nella cartella in cui desideri spostarli,
  3. Verrà visualizzata una finestra popup dopo aver rilasciato il trascinamento della selezione su una cartella.Clic "SVN Sposta qui gli elementi con versione",
  4. Dopo aver fatto clic su sopra, verrà visualizzata la finestra di messaggio della finestra di commit.Inserisci un messaggio e invia.

Ora hai finito.

Taglia il file tramite il menu contestuale del sistema operativo come fai di solito, quindi invece di incollare regolarmente, fai clic con il pulsante destro del mouse per visualizzare il menu contestuale, quindi scegli TortoiseSVN -> Paste (assicurati di eseguire il commit da root per includere sia i file vecchi che quelli nuovi nel commit).

penso che nel browser svn in tortoisesvn puoi semplicemente trascinarlo da un posto all'altro.

Dato che stai utilizzando Tortoise, potresti voler controllare questo collegamento su LosTechies.Dovrebbe essere quasi esattamente quello che stai cercando.

http://www.lostechies.com/blogs/joshua_lockwood/archive/2007/09/12/subversion-tip-of-the-day-moving-files.aspx

Può anche essere chiamato "rinomina" da tortoise, ma svn move è il comando nel client svn barebone.

Se non sbaglio a partire dalla versione 1.5 SVN può tenere traccia dei file\cartelle spostati.In TortoiseSVN è possibile spostare il file tramite drag&drop.

Se stai spostando le cartelle tramite il browser del repository, non è disponibile l'opzione Sposta facendo clic con il pulsante destro del mouse;l'unico modo è trascinare e rilasciare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top