Quando si lavora con il repository Subversion, le modifiche remote (quelle sul repository) sono modifiche in entrata (remote → local), mentre le modifiche locali sono modifiche in uscita (locale → remote).
Nelle viste che confrontano le copie locali e remote, le modifiche in entrata sono indicate con una freccia blu rivolta a sinistra, mentre le modifiche in uscita sono indicate con una freccia grigia rivolta a destra. Queste frecce possono essere decorate per indicare operazioni più specifiche.
La vista Package Explorer, d'altra parte, indica lo stato di un file con un diverso set di icone che rappresentano il suo stato locale. Queste icone sono quelle più comunemente viste, quindi iniziamo con loro:
- Un file ignorato dal controllo della versione. Puoi controllare quali risorse verranno ignorate andando su Finestra → Preferenze → Squadra → Risorse ignorate .
- Un file non sotto il controllo della versione. Questi sono in genere nuovi file che non hai ancora salvato nel repository.
- Un file con versione che deve essere aggiunto al repository remoto. In genere si tratta di file che sono stati rinominati o spostati in una directory diversa.
- Una cartella eliminata. Queste sono cartelle che hai eliminato localmente senza ancora confermare le modifiche al repository. Tieni presente che i file vengono solitamente rimossi dalla visualizzazione quando vengono eliminati localmente, quindi normalmente non vengono visualizzati con questa icona.
- Un file senza modifiche locali.
- Un file con modifiche locali non salvate.
- Afile bloccato .
- Un file che necessita di un blocco per essere modificato. Questi sono in genere file che non possono essere facilmente uniti (cioè file binari), ma possono avere molti editor. Un file necessita di un blocco quando la sua svn:needs-lock
proprietà è impostata e Subversion tenterà di rendere questi file di sola lettura nel file system per applicare una corretta negoziazione del blocco.
- Un file in conflitto. Si tratta in genere di file con un conflitto di commit / aggiornamento che hai contrassegnato per risolverlo in seguito.
- Un file che ha un conflitto albero. Si tratta in genere di file che presentano modifiche locali, ma da allora sono stati spostati, rimossi o rinominati nel repository dall'ultimo aggiornamento della copia locale.
- Un file esterno al progetto. I file esterni collegati non possono essere salvati nel repository. commutata
- Un file che è stato . Questi sono file che appartengono a una copia di lavoro diversa dalla loro directory principale locale.
In una vista di sincronizzazione (ad esempio tramite Synchronize with Repository o Commit ), come descritto in precedenza, sono presenti icone che indicano in quale direzione si sta verificando una modifica, nonché informazioni aggiuntive su tale modifica. Questi sono descritti di seguito:
In uscita
: un file il cui contenuto è stato modificato e verrà salvato nel repository.
- Un file che verrà aggiunto di recente al repository. Ciò può coincidere con la rimozione di un file nei casi in cui un file viene spostato o rinominato.
- Un file che verrà rimosso dal repository. Ciò può coincidere con l'aggiunta di un file nei casi in cui un file viene spostato o rinominato.
- Un file con modifiche alle proprietà , nella finestra di dialogo Commit. Nella scheda Sincronizza, le modifiche alle proprietà si riflettono attualmente come una normale modifica del file ( ).
in arrivo
: un file con modifiche al contenuto salvate nel repository che verranno applicate alla copia locale.
- Un nuovo file che verrà aggiunto alla copia locale dal repository. Come l'aggiunta del file in uscita, questo può essere il risultato di uno spostamento o di una ridenominazione.
- Un file che verrà rimosso dalla copia locale perché è stato rimosso dal repository. Come la rimozione del file in uscita, questo può essere il risultato di uno spostamento o di una ridenominazione.
Conflitto
: un file che è stato modificato sia nella copia locale che nel repository in modo indipendente, causando la necessità di risoluzione dei conflitti. La risoluzione di questa condizione implica l'apertura della visualizzazione del conflitto o la sovrascrittura forzata delle modifiche in locale o in remoto.
- Un file che ha un conflitto albero . Ciò può verificarsi quando sono presenti nuove modifiche a un file su un'estremità (locale o remota) e il file viene spostato, rimosso o rinominato dall'altra.
Infine, l' opzione Sincronizza con il repository apre la scheda Sincronizza ( ) con i seguenti pulsanti:
- Sincronizza la copia locale con il repository attualmente selezionato quando si fa clic. La selezione dall'elenco a discesa consente di passare da una base di codice remota a un'altra.
- Mostra solo le modifiche in arrivo (remoto → locale).
- Mostra solo le modifiche in uscita (locale → remoto).
- Mostra le modifiche in entrata e in uscita (remoto ↔ locale).
- Mostra modifiche in conflitto.
- Aggiorna tutte le risorse locali con le modifiche in arrivo dopo il prompt.
- Visualizza la finestra di dialogo di commit per salvare tutte le modifiche in uscita.
- Spezza gli elenchi di modifiche per revisioni.
Ci sono alcune altre visualizzazioni che non sono state trattate che hanno icone aggiuntive, ma si spera che questo dovrebbe essere un buon inizio. Fammi sapere se manca qualcosa di importante o qualcuna di queste descrizioni sembra differire dalla tua esperienza reale.