Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Update: aggiornare la copia locale

Tenere aggiornata la copia di lavoro, e cancellarla quando non serve più
Tenere aggiornata la copia di lavoro, e cancellarla quando non serve più
Link copiato negli appunti

Come abbiamo già visto, il checkout va effettuato solo per la prima estrazione. In seguito, per aggiornare la propria una copia di lavoro locale all'ultima versione presente sul repository si usa il comando:

svn update

Questo comando confronta il repository con la copia locale, ed effettua di conseguenze le seguenti operazioni:

  • applica ai file locali eventuali modifiche effettuate agli stessi file sul repository
  • aggiunge alla copia locale eventuali nuovi file e cartelle presenti sul repository;
  • rimuove dalla copia locale eventuali file o cartelle rimossi dal repository;

L'aggiornamento viene lanciato tipicamente all'inizio della propria sessione di lavoro, per garantirsi di avere a disposizione le ultime versioni di tutti i file. Va inoltre lanciato prima di effettuare un commit, per evitare l'errore out-of-date: questo messaggio indica che qualcun altro ha modificato e caricato sul server un file dopo che noi l'abbiamo scaricato l'ultima volta sul nostro PC, per cui la nostra copia “originale” (quella nascosta) non è più aggiornata. Con un update portiamo in locale le ultime modifiche (verificando anche eventuali conflitti) e poi potremo procedere al commit.

Nota: nonostante vengano effettuate in rapida sequenza, le azioni di update e di commit sono nettamente separate e non influiscono l'una sull'altra. In altre parole, quando si caricano le proprie modifiche, non vengono automaticamente scaricate le modifiche presenti sul repository; e al contrario, quando scarichiamo le ultime versioni dei file, non vengono caricate le proprie modifiche (e anzi, potremmo decidere di buttarle quando ci accorgessimo che qualcun altro le ha già fatte meglio di noi).

In ciascuna copia di lavoro, possono essere presenti file in stato "unversioned". Si tratta di file temporanei creati dagli editor, oppure di note personali o configurazioni locali del progetto, che non devono essere trasportate sul repository. E' anche lo stato in cui si trovano eventuali nuovi file creati a mano prima di essere "ufficialmente" aggiunti al progetto con il comando svn add

Tali file non impediscono la normale operatività, ma per il client SVN rimangono delle anomalie da segnalare. E' possibile invece specificare una lista di file o di pattern (usando caratteri jolly) per indicare al client SVN che siamo coscienti dell'esistenza di tali file e che ci va bene così.

Cancellazione di una copia di lavoro locale

Se una copia di lavoro locale non ci serve più, magari perchè frutto di un test di estrazione, perchè volevamo solo verificare un file, o perchè l'abbiamo involontariamente pasticciata e quindi dobbiamo ricrearla, possiamo eliminarla semplicemente cancellando la cartella corrispondente.

Ovviamente eventuali modifiche locali andranno perse, quindi è opportuno farlo solo per una buona ragione, come quelle sopraelencate.

Soprattutto è importante non cancellare una copia di lavoro solo perchè è un po' che non la
guardiamo e non abbiamo idea di quanto sia aggiornata e di cosa contenga. Per questo lasciamo fare a SubVersion, altrimenti cosa l'abbiamo installato a fare?

Con pochi semplici comandi siamo in grado rapidamente di sapere quali sono le modifiche locali di qualsiasi copia di lavoro, nonché di aggiornarla all'ultima versione e di avere un rapporto dettagliato degli eventuali conflitti.


Ti consigliamo anche