uVersion
Español
Descargar →

Wiki

Subir un proyecto existente

Poner bajo uVersion un proyecto Unreal que ya está en tu disco: inicializar la carpeta en su sitio, comprobar las exclusiones y luego un checkin desde la pestaña Pending. Con las trampas de la primera subida.

Tienes un proyecto Unreal en tu disco y quieres ponerlo bajo uVersion. Esta página cubre ese caso concreto: tus archivos no se mueven, la carpeta se enlaza al servidor en su sitio y luego se sube.

Si, por el contrario, partes de un repositorio vacío ya creado en el servidor, lo que necesitas es un clon, no esta página.

Antes de empezar

Cierra el editor Unreal Al final de una subida, los archivos subidos vuelven a ser de solo lectura en el disco. Ahora bien, el plugin uVersion, al abrir el editor, reserva automáticamente todo asset que haya quedado modificable: si el editor está abierto durante la operación, vuelve a tomar de inmediato bloqueos sobre lo que acabas de subir. Como los bloqueos nunca expiran por sí solos, los conservarías sin saberlo.

Comprueba también que la carpeta que vas a declarar es realmente la raíz deseada del repositorio. El archivo .uproject debe encontrarse como máximo tres niveles por debajo de esa raíz, de lo contrario el cliente no reconocerá el proyecto como un proyecto Unreal y el panel Unreal permanecerá invisible.

Inicializar la carpeta

1. Abrir la ventana Open Repository

En la barra lateral, abre Workspace y luego haz clic en Open Repository (o el «+» de la barra de pestañas). La ventana que se abre sirve primero para clonar un repositorio existente: no es lo que quieres aquí. Baja hasta el final, debajo de la lista de repositorios y debajo de Open Local Repository..., y haz clic en New Repository from a Project Folder...

¿No ves este botón? Solo aparece para el rol admin, porque crea un repositorio en el servidor. Consulta Crear un repositorio.
La parte inferior de la ventana Open Repository: la casilla Download files after clone, el botón Open Local Repository y debajo el botón New Repository from a Project Folder.

2. Elegir la raíz del proyecto

Se abre un selector de carpetas, titulado Select your project folder to create a new repository. Elige la raíz de tu proyecto, la que contiene el .uproject o la carpeta que lo contiene. No se copia ni se mueve nada: esta carpeta se quedará donde está.

3. Nombrar el repositorio y crear

El formulario aparece en la ventana misma, en el lugar del botón que acabas de pulsar, no en un nuevo cuadro de diálogo. Recuerda la ruta elegida y ofrece un campo Repository name prerrellenado con el nombre de la carpeta. Ajústalo si hace falta y luego haz clic en Create & Open. El botón permanece inactivo mientras el nombre esté vacío, y ese nombre debe ser único en todo el servidor.

El formulario de creación en su sitio, en la ventana Open Repository: la ruta de la carpeta elegida en una línea, el campo Repository name prerrellenado con el nombre de la carpeta, los botones Create and Open y Cancel.

El cliente hace entonces cuatro cosas, y nada más:

  • crea el repositorio en el servidor;
  • escribe una carpeta .uversion/ en tu proyecto, que memoriza el repositorio, la dirección del servidor y la cuenta propietaria del workspace;
  • escribe un archivo .uversionignore, solo si no existe ya uno;
  • no descarga nada y no toca ninguno de tus archivos.
Esta carpeta pasa a ser tuya La cuenta que inicializa la carpeta se convierte en su propietaria, y es bajo esa identidad como la línea de comandos actuará después en esta carpeta. Un colega no debe copiar tu carpeta: debe clonar el repositorio por su lado, de lo contrario obtendrá el mensaje This workspace belongs to ....

Comprobar las exclusiones

Es el momento oportuno, y es mucho más sencillo ahora que después. Abre el archivo .uversionignore en la raíz: enumera lo que nunca se subirá. La plantilla puesta por defecto ya descarta lo que un proyecto Unreal regenera por sí solo, en particular Binaries/, Build/, DerivedDataCache/, Intermediate/, Saved/ y Packages/, así como los archivos de proyecto de los entornos de desarrollo.

Dos reglas no son modificables, y conviene conocerlas:

  • Plugins/uVersion está siempre excluido. El plugin Unreal nunca se versiona: cada equipo instala la versión que corresponde a SU motor, mediante el cliente de escritorio. Verlo ausente del repositorio es normal.
  • Una ruta que contiene una carpeta llamada exactamente ThirdParty nunca se excluye, sea cual sea la regla que escribas. Tus bibliotecas de terceros suben, pues, siempre.

Al estar excluido Packages/, una compilación empaquetada nunca irá al repositorio: se distribuye mediante la función de publicación de builds, no mediante el versionado.

Subir

4. Constatar el estado en la pestaña Files

Todo tu proyecto aparece ahí con el estado untracked: presente en tu equipo, todavía no en el servidor. Es el estado normal de una carpeta que acaba de inicializarse. La insignia de recuento sobre el árbol resume lo mismo (N local only), la columna Rev indica v0 en todas partes, y la pestaña Pending ya lleva una insignia con el mismo número: el cliente ha detectado tus archivos por sí solo, no hay nada que «añadir» a mano.

La pestaña Files justo después de la inicialización: la insignia N local only sobre el árbol, el estado untracked en cada fila, la columna Rev en v0 y la insignia del mismo número en la pestaña Pending.

5. Abrir la pestaña Pending

Todos tus archivos ya están ahí, marcados como add, ordenados en la changelist Default. La columna de la izquierda muestra el árbol de lo que subirá, el panel de la derecha la lista plana con un Diff y un Remove por fila. Aquí solo quita lo que nunca quieras versionar: la buena respuesta a «esta carpeta no pinta nada aquí» es una regla en .uversionignore, no un Remove fila a fila.

La pestaña Pending en la primera subida: el árbol de archivos a la izquierda, la changelist Default a la derecha con cada archivo marcado add, los botones Diff y Remove por fila, la zona Describe your changes y el botón Checkin all.

6. Describir y luego Checkin all

Escribe un mensaje en Describe your changes...: es obligatorio, el botón Checkin all permanece inactivo mientras la zona esté vacía. «Primera subida del proyecto» basta de sobra. Luego haz clic en Checkin all (N).

El panel de la changelist Default: la zona Describe your changes rellenada con un mensaje de primera subida, el botón Checkin all activo con el número de archivos.
La subida reserva para ti El checkin pone él mismo los bloqueos de los archivos que sube y luego los libera una vez validada la revisión. En una primera subida no tiene consecuencia, estás solo en esos archivos. En un repositorio ya compartido, un archivo reservado por otra persona hace fracasar la subida: consulta las trampas más abajo.

La subida se desarrolla luego por sí sola, en varias fases mostradas en la barra de encabezado: troceado, verificación de lo que el servidor ya posee, transferencia, y luego validación. Puedes cambiar de pestaña durante ese tiempo, el progreso sigue. Una transferencia interrumpida se reanuda donde estaba en lugar de empezar todo de nuevo. Al final, los archivos subidos pasan a solo lectura: es la señal de que están en el servidor y de que habrá que reservarlos para modificarlos.

Trampas de la primera subida

Busco el botón de subida en Files

No está ahí. La pestaña Files muestra el estado y sirve para acciones puntuales; la subida se hace desde la pestaña Pending, donde todo archivo no seguido o modificado aparece por sí solo. Si Pending muestra una insignia, es que hay algo que subir.

«Failed to acquire locks for N file(s)»

Uno o varios archivos ya están reservados por otra persona, y la subida entera se cancela, no solo los archivos afectados. Mira la pestaña de reservas pendientes para saber quién los tiene, y pídele que los libere.

Un archivo que seleccioné se fue como eliminación

Una ruta subida pero ausente del disco en el momento de la transferencia se interpreta como una eliminación. Eso ocurre si mueves o renombras archivos entre la selección y la subida. Evita trabajar en la carpeta durante la operación.

«This folder is already a uVersion repository»

La carpeta ya contiene un .uversion/. Usa Open Local Repository... en lugar de recrearlo.

La carpeta es rechazada

El cliente rechaza deliberadamente ciertas ubicaciones: la raíz de un disco, una carpeta del sistema, una carpeta de inicio automático o una ruta relativa. Elige una carpeta de trabajo corriente.

Y después