Wiki
Caricare un progetto esistente
Mettere sotto uVersion un progetto Unreal già presente sul disco: inizializzare la cartella sul posto, verificare le esclusioni, poi un checkin dalla scheda Pending. Con le insidie del primo invio.
Hai un progetto Unreal sul disco e vuoi metterlo sotto uVersion. Questa pagina copre proprio questo caso: i tuoi file non si spostano, la cartella viene collegata al server sul posto e poi inviata.
Se invece parti da un repository vuoto già creato sul server, ciò che ti serve è un clone, non questa pagina.
Prima di iniziare
Verifica anche che la cartella che stai per dichiarare sia davvero la
radice voluta del repository. Il file .uproject deve trovarsi
al massimo tre livelli sotto questa radice, altrimenti il client non riconoscerà
il progetto come un progetto Unreal e il pannello Unreal resterà invisibile.
Inizializzare la cartella
1. Aprire la finestra Open Repository
Nella barra laterale, apri Workspace, poi clicca Open Repository (o il «+» della barra delle schede). La finestra che si apre serve prima a clonare un repository esistente: non è ciò che vuoi qui. Scendi fino in fondo, sotto l'elenco dei repository e sotto Open Local Repository..., e clicca New Repository from a Project Folder...
admin, perché crea un repository sul
server. Vedi Creare un repository.
2. Scegliere la radice del progetto
Si apre un selettore di cartelle, intitolato
Select your project folder to create a new repository. Scegli la
radice del tuo progetto, quella che contiene il .uproject o la cartella
che lo contiene. Nulla viene copiato o spostato: questa cartella resterà dov'è.
3. Dare un nome al repository e creare
Il modulo compare nella finestra stessa, al posto del pulsante che hai appena cliccato, non in una nuova finestra di dialogo. Ricorda il percorso scelto e propone un campo Repository name precompilato con il nome della cartella. Regolalo se serve, poi clicca Create & Open. Il pulsante resta inattivo finché il nome è vuoto, e questo nome deve essere unico su tutto il server.
Il client fa allora quattro cose, e nient'altro:
- crea il repository sul server;
-
scrive una cartella
.uversion/nel tuo progetto, che memorizza il repository, l'indirizzo del server e l'account proprietario del workspace; -
scrive un file
.uversionignore, solo se non ne esiste già uno; - non scarica nulla e non tocca nessuno dei tuoi file.
Verificare le esclusioni
È il momento giusto, ed è molto più semplice ora che dopo. Apri il
file .uversionignore nella radice: elenca ciò che non sarà mai
inviato. Il modello posto per impostazione predefinita scarta già ciò che un progetto Unreal rigenera
da solo, in particolare Binaries/, Build/,
DerivedDataCache/, Intermediate/,
Saved/ e Packages/, oltre ai file di progetto
degli ambienti di sviluppo.
Due regole non sono modificabili, ed è meglio conoscerle:
-
Plugins/uVersionè sempre escluso. Il plugin Unreal non è mai versionato: ogni postazione installa la versione che corrisponde al SUO motore, tramite il client desktop. Vederlo assente dal repository è normale. -
Un percorso che contiene una cartella chiamata esattamente
ThirdPartynon è mai escluso, qualunque regola tu scriva. Le tue librerie di terze parti partono quindi sempre.
Essendo Packages/ escluso, una build impacchettata non andrà mai nel
repository: si distribuisce tramite la funzione di pubblicazione delle build, non tramite il
versionamento.
Inviare
4. Constatare lo stato nella scheda Files
Tutto il tuo progetto vi compare con lo stato untracked: presente da te, non ancora sul server. È lo stato normale di una cartella appena inizializzata. Il badge di conteggio sopra l'albero riassume la stessa cosa (N local only), la colonna Rev indica v0 ovunque, e la scheda Pending porta già un badge con lo stesso numero: il client ha individuato i tuoi file da solo, non c'è nulla da «aggiungere» a mano.
5. Aprire la scheda Pending
Tutti i tuoi file sono già lì, marcati add, sistemati nella
changelist Default. La colonna di sinistra mostra l'albero di
ciò che partirà, il pannello di destra l'elenco piatto con un
Diff e un Remove per riga. Qui rimuovi solo
ciò che non vuoi mai versionare: la buona risposta a «questa cartella non ci ha
nulla da fare» è una regola in .uversionignore, non un Remove riga
per riga.
6. Descrivere, poi Checkin all
Scrivi un messaggio in Describe your changes...: è obbligatorio, il pulsante Checkin all resta inattivo finché l'area è vuota. «Primo invio del progetto» va benissimo. Poi clicca Checkin all (N).
L'invio si svolge poi da solo, in più fasi mostrate nella barra di intestazione: suddivisione, verifica di ciò che il server possiede già, trasferimento, poi convalida. Puoi cambiare scheda nel frattempo, l' avanzamento segue. Un trasferimento interrotto riprende da dove era invece di ricominciare tutto. Alla fine, i file inviati passano in sola lettura: è il segno che sono sul server e che occorrerà riservarli per modificarli.
Insidie del primo invio
Cerco il pulsante di invio in Files
Non è lì. La scheda Files mostra lo stato e serve per azioni puntuali; l'invio si fa dalla scheda Pending, dove ogni file non tracciato o modificato compare da solo. Se Pending mostra un badge, c'è qualcosa da inviare.
«Failed to acquire locks for N file(s)»
Uno o più file sono già riservati da qualcun altro, e l'intero invio viene annullato, non solo i file interessati. Guarda la scheda delle riserve in attesa per sapere chi li detiene, e chiedigli di liberarli.
Un file che ho selezionato è partito come eliminazione
Un percorso inviato ma assente dal disco al momento del trasferimento è interpretato come un'eliminazione. Ciò accade se sposti o rinomini file tra la selezione e l'invio. Evita di lavorare nella cartella durante l'operazione.
«This folder is already a uVersion repository»
La cartella contiene già un .uversion/. Usa
Open Local Repository... invece di ricrearlo.
La cartella viene rifiutata
Il client rifiuta deliberatamente certe posizioni: la radice di un disco, una cartella di sistema, una cartella di avvio automatico o un percorso relativo. Scegli una normale cartella di lavoro.