Wiki
Envoyer un projet existant
Mettre un projet Unreal déjà présent sur votre disque sous uVersion : initialiser le dossier en place, vérifier les exclusions, puis un checkin depuis l’onglet Pending. Avec les pièges du premier envoi.
Vous avez un projet Unreal sur votre disque et vous voulez le mettre sous uVersion. Cette page couvre ce cas précis : vos fichiers ne bougent pas, le dossier est relié au serveur sur place, puis envoyé.
Si vous partez au contraire d’un dépôt vide déjà créé sur le serveur, c’est un clone qu’il vous faut, pas cette page.
Avant de commencer
Vérifiez aussi que le dossier que vous allez déclarer est bien la
racine voulue du dépôt. Le fichier .uproject doit se
trouver au maximum trois niveaux sous cette racine, sinon le client ne reconnaîtra
pas le projet comme un projet Unreal et le panneau Unreal restera invisible.
Initialiser le dossier
1. Ouvrir la fenêtre Open Repository
Dans la barre latérale, ouvrez Workspace, puis cliquez Open Repository (ou le « + » de la barre d’onglets). La fenêtre qui s’ouvre sert d’abord à cloner un dépôt existant : ce n’est pas ce que vous voulez ici. Descendez tout en bas, sous la liste des dépôts et sous Open Local Repository..., et cliquez New Repository from a Project Folder...
admin, parce qu’il crée un dépôt sur le
serveur. Voir Créer un dépôt.
2. Choisir la racine du projet
Un sélecteur de dossier s’ouvre, intitulé
Select your project folder to create a new repository. Choisissez la
racine de votre projet, celle qui contient le .uproject ou le dossier
qui le contient. Rien n’est copié ni déplacé : ce dossier restera là où il est.
3. Nommer le dépôt et créer
Le formulaire s’affiche dans la fenêtre elle-même, à l’endroit du bouton que vous venez de cliquer, pas dans une nouvelle boîte de dialogue. Il rappelle le chemin retenu et propose un champ Repository name pré-rempli avec le nom du dossier. Ajustez-le si besoin, puis cliquez Create & Open. Le bouton reste inactif tant que le nom est vide, et ce nom doit être unique sur tout le serveur.
Le client fait alors quatre choses, et rien d’autre :
- il crée le dépôt sur le serveur ;
-
il écrit un dossier
.uversion/dans votre projet, qui mémorise le dépôt, l’adresse du serveur et le compte propriétaire du workspace ; -
il écrit un fichier
.uversionignore, seulement s’il n’en existe pas déjà un ; - il ne télécharge rien et ne touche à aucun de vos fichiers.
Vérifier les exclusions
C’est le bon moment, et c’est bien plus simple maintenant qu’après. Ouvrez le
fichier .uversionignore à la racine : il liste ce qui ne sera jamais
envoyé. Le modèle posé par défaut écarte déjà ce qu’un projet Unreal régénère
tout seul, notamment Binaries/, Build/,
DerivedDataCache/, Intermediate/,
Saved/ et Packages/, ainsi que les fichiers de projet
des environnements de développement.
Deux règles ne sont pas modifiables, et il vaut mieux les connaître :
-
Plugins/uVersionest toujours exclu. Le plugin Unreal n’est jamais versionné : chaque poste installe la version qui correspond à SON moteur, via le client desktop. Le voir absent du dépôt est normal. -
Un chemin contenant un dossier nommé exactement
ThirdPartyn’est jamais exclu, quelle que soit la règle que vous écrivez. Vos bibliothèques tierces partent donc toujours.
Packages/ étant exclu, un build empaqueté ne partira jamais dans le
dépôt : il se distribue par la fonction de publication de builds, pas par le
versionnement.
Envoyer
4. Constater l’état dans l’onglet Files
Tout votre projet y apparaît avec le statut untracked : présent chez vous, pas encore sur le serveur. C’est l’état normal d’un dossier qui vient d’être initialisé. La pastille de comptage au-dessus de l’arbre résume la même chose (N local only), la colonne Rev indique v0 partout, et l’onglet Pending porte déjà un badge avec le même nombre : le client a repéré vos fichiers tout seul, il n’y a rien à « ajouter » à la main.
5. Ouvrir l’onglet Pending
Tous vos fichiers y sont déjà, marqués add, rangés dans la
changelist Default. La colonne de gauche montre l’arborescence de
ce qui partira, le panneau de droite la liste à plat avec un
Diff et un Remove par ligne. Ne retirez ici que
ce que vous ne voulez jamais versionner : la bonne réponse à « ce dossier n’a rien
à faire là » est une règle dans .uversionignore, pas un Remove ligne
à ligne.
6. Décrire, puis Checkin all
Écrivez un message dans Describe your changes... : il est obligatoire, le bouton Checkin all reste inactif tant que la zone est vide. « Premier envoi du projet » suffit très bien. Puis cliquez Checkin all (N).
L’envoi se déroule ensuite tout seul, en plusieurs phases affichées dans la barre d’en-tête : découpage, vérification de ce que le serveur possède déjà, transfert, puis validation. Vous pouvez changer d’onglet pendant ce temps, la progression suit. Un transfert interrompu reprend là où il en était plutôt que de tout recommencer. À la fin, les fichiers envoyés passent en lecture seule : c’est le signe qu’ils sont sur le serveur et qu’il faudra les réserver pour les modifier.
Pièges du premier envoi
Je cherche le bouton d’envoi dans Files
Il n’y est pas. L’onglet Files montre l’état et sert aux actions ponctuelles ; l’envoi se fait depuis l’onglet Pending, où tout fichier non suivi ou modifié apparaît de lui-même. Si Pending affiche un badge, c’est qu’il y a quelque chose à envoyer.
« Failed to acquire locks for N file(s) »
Un ou plusieurs fichiers sont déjà réservés par quelqu’un d’autre, et l’envoi entier est annulé, pas seulement les fichiers concernés. Regardez l’onglet des réservations en attente pour savoir qui les détient, et demandez-lui de les libérer.
Un fichier que j’ai sélectionné est parti en suppression
Un chemin envoyé mais absent du disque au moment du transfert est interprété comme une suppression. Cela arrive si vous déplacez ou renommez des fichiers entre la sélection et l’envoi. Évitez de travailler dans le dossier pendant l’opération.
« This folder is already a uVersion repository »
Le dossier contient déjà un .uversion/. Utilisez
Open Local Repository... au lieu de le recréer.
Le dossier est refusé
Le client refuse délibérément certains emplacements : la racine d’un disque, un dossier système, un dossier de démarrage automatique, ou un chemin relatif. Choisissez un dossier de travail ordinaire.