uVersion
Русский
Скачать →

Wiki

Настольный клиент

Настольный клиент uVersion для Windows, macOS и Linux: установка, workspace, вкладки, настройки.

Установка

Настольный клиент: нативное приложение, доступное для Windows, macOS (Apple Silicon) и Linux. Установщики для Windows, macOS и Linux также содержат CLI uversion и делают его доступным. Скачайте его на странице /downloads.

Windows

Скачайте uVersion_x.y.z_x64-setup.exe (подписанный установщик NSIS, ~25 МБ). При запуске установщик:

  • Устанавливает клиент в %LOCALAPPDATA%\uVersion (для пользователя, без прав администратора)
  • Добавляет папку установки в пользовательский PATH (CLI uversion.exe встроен туда)
  • Создаёт ярлык в меню «Пуск»
  • Включает автообновление через Tauri updater

macOS (Apple Silicon)

Скачайте uVersion_x.y.z_macos-arm64.app.zip (~32 МБ, подписано Developer ID и нотаризовано Apple). Дважды щёлкните для распаковки, затем перетащите uVersion.app в /Applications. При первом запуске Gatekeeper автоматически проверяет нотаризацию, без каких-либо предупреждений.

CLI uversion встроен в приложение. При первом запуске клиент автоматически создаёт символическую ссылку на ~/.local/bin/uversion и добавляет ~/.local/bin в ваш PATH через ~/.zprofile: никаких ручных действий не требуется. Откройте новый терминал, и uversion будет доступен.

Примечание: поддерживается только Apple Silicon (M1/M2/M3/M4). Бинарного файла для Intel нет.

Linux

Два формата для x86_64:

  • AppImage (uVersion_x.y.z_amd64.AppImage, ~76 МБ): портативный, содержит все зависимости (libwebkit2gtk, libgtk, libsoup и т. д.). Работает на любом дистрибутиве Linux без установки в систему:
    chmod +x uVersion_x.y.z_amd64.AppImage
    ./uVersion_x.y.z_amd64.AppImage
  • Пакет .deb (uVersion_x.y.z_amd64.deb, ~5 МБ): для Ubuntu / Debian / производных. apt разрешает системные зависимости:
    sudo apt install ./uVersion_x.y.z_amd64.deb
    Приложение устанавливается в /usr/bin/uVersion.

Примечание: CLI uversion встроен в пакеты Linux. При первом запуске клиент копирует бинарный файл в ~/.local/bin/uversion и добавляет ~/.local/bin в ваш PATH через ~/.profile (никаких ручных действий не требуется).

Первый запуск

Страница входа при первом запуске: поля Адрес сервера, Имя пользователя, Пароль.

При первом запуске клиент показывает страницу входа. Введите:

  • Адрес сервера: адрес вашей студии (например, https://uversion.mygamestudio.com)
  • Имя пользователя и пароль

После подключения клиент безопасно запоминает вашу сессию. CLI uversion и плагины редакторов (Unreal, Rider) автоматически используют те же учётные данные: вы больше нигде не вводите пароль повторно.

Workspace

Панель вкладок workspace вверху, с несколькими одновременно открытыми workspace.

workspace: локальная папка, связанная с серверным repository. Клиент может управлять несколькими workspace одновременно, они отображаются на панели вкладок вверху. Каждый workspace хранит свои метаданные в .uversion/ в корне локальной папки:

  • .uversion/config.toml: owner, repo_id, server URL, workspace UUID
  • .uversion/checkouts_<workspace_id>.json: locks, которые ВЫ удерживаете в этом workspace
  • .uversion/changelists_<workspace_id>.json: локальные changelists
  • .uversion/.last_sync: последняя synced-ревизия (для инкрементальных sync)

Вкладка Files

Дерево файлов с фильтрами статуса (Synced, Modified, Local only, Locked…) и строкой поиска.

Древовидное представление файлов workspace с их статусом. Доступные фильтры:

  • Search: поиск по подстроке в path (без учёта регистра)
  • Status filters: Synced, Modified, Local only, Server only, Locked, Deleted

Представление остаётся плавным даже в проектах с десятками тысяч файлов.

Множественный выбор + действия

Выберите несколько файлов (клик + shift или отметьте флажки), затем:

  • Checkout: получает locks (идемпотентно; повторный checkout уже locked-файла, это no-op)
  • Sync: заново загружает выбранные (полезно, если файл повреждён локально)
  • Revert: снимает lock, восстанавливает серверную версию

Вкладка Pending

Вкладка Pending: разделы Your locks и Other users' locks, с кнопками Request release и Force unlock.

Файлы, которые сейчас checked-out, locked вами ИЛИ другим пользователем. Два раздела:

  • Your locks: вы можете сделать checkin, revert или release по отдельности
  • Other users' locks: вы видите, кто удерживает lock, плюс кнопку Request release, которая создаёт карточку запроса на доске Production (значок request)

Администраторы также видят кнопку Force unlock на чужих locks, которая снимает lock без согласия владельца. Все force unlock фиксируются в аудите.

Вкладка History

Развёрнутый commit со списком его файлов и кнопкой Get all этого commit.

Постраничный список commits репозитория с автором, датой, сообщением и изменёнными файлами. Клик по commit открывает детали: полный список файлов commit с их ревизиями.

Кнопка Get all на каждом commit загружает локальную копию всех файлов на этой ревизии (полезно для восстановления стабильного состояния).

Production

Зона Production (отдельный пункт в боковой панели) собирает отслеживание проекта, по репозиториям. Она заменила прежние вкладки Activity и Requests в Workspace: Workspace теперь сосредоточен на файлах (Files, Pending, History).

My tasks

Задачи, назначенные вам, по всем проектам.

Список карточек, назначенных вам, агрегированный по всем репозиториям, к которым у вас есть доступ.

Board

Kanban: колонки To Do / In Progress / Review / Done, карточки с приоритетом, метками, исполнителями, обложками.

Доска kanban по репозиториям, с настраиваемыми колонками (по умолчанию To Do, In Progress, Review, Done). Каждая карточка несёт приоритет (low / normal / high / urgent), метки, исполнителей, срок, комментарии, ссылки на assets или commits и изображение обложки.

Запросы теперь карточки доски Прежние modification requests (например, 'Request release' на lock, удерживаемом кем-то другим, во вкладке Pending) теперь являются карточками доски со значком request. Отдельной вкладки Requests больше нет.
Открытая карточка: описание, исполнители, срок, комментарии, ссылки asset/commit, обложка.
📷 Screenshot · production-request-cards
Карточки типа request (значок) в колонке Review.

Activity

Панель Activity: KPI за 24 ч, календарь активности, Recent Checkins, Commit History.

Единая панель мониторинга:

  • KPI за 24 ч: commits, активные отправители, активные locks
  • Календарь активности: commits по дням за несколько месяцев (heatmap)
  • Recent Checkins и Most Modified Directories
  • Commit History: постраничные commits с фильтрами по пользователю и по пути

Watchlist

Наблюдения по пути.

Наблюдайте за путями (glob-шаблоны), чтобы получать уведомления о check-in, которые их затрагивают. Каждая запись указывает наблюдаемый путь и отслеживаемые события.

Games

Страница Games: опубликованные сборки для playtest, с загрузкой в зависимости от платформы.

Зона Games перечисляет внутренние сборки для playtest, опубликованные для проекта. Каждая сборка указывает свою версию, конфигурацию (DebugGame / Development / Shipping), платформу (Win64 / Mac / Linux), размер и примечания к выпуску, с кнопкой загрузки, подходящей для платформы.

Это точка доступа для playtester: учётная запись с ролью playtester видит только эту страницу (ни Workspace, ни Production) и имеет доступ только к сборкам открытых для неё проектов.

Локальные Changelists

📷 Screenshot · client-changelists
Файлы checked-out, распределённые по двум локальным changelists (например, 'default' и 'review').

Группируйте свои checked-out files в несколько независимых commits. Changelists локальны для вашего workspace (никогда не отправляются на сервер). Полезно для того, чтобы:

  • Отделить критический fix от работы в процессе
  • Подготовить несколько отправок параллельно, ничего не смешивая
  • Держать changelist "default" для WIP и "review" для того, что идёт в checkin

Settings

Панель Settings: тема, интервал авто-sync, параллельные загрузки, папка репозиториев по умолчанию.

Глобальные настройки клиента (сохраняются в %APPDATA%/uversion/uVersion/config/config.toml):

ОпцияОписание
Default server URLПредзаполняется на странице входа
UsernameПредзаполняется на странице входа
ThemeSystem / Light / Dark
Show hidden filesПоказывать файлы, начинающиеся с ., на вкладке Files
Auto-sync intervalОтключено / 5 мин / 15 мин / 30 мин: запускает автоматический инкрементальный sync
Parallel uploadsПредел concurrency (1-32, по умолчанию 16)
Default repos pathПапка, предлагаемая по умолчанию при clone

Панель Unreal

📷 Screenshot · client-unreal-panel
Панель Unreal с её кнопками действий: Open Editor, Compile, Package Game и выбор его config, Publish Build, Stop.

Когда клиент обнаруживает проект Unreal в workspace (наличие файла .uproject), появляется отдельная панель. Она управляет движком напрямую из клиента: открыть редактор, скомпилировать, собрать пакет, минуя IDE. Большинство действий касаются только проектов C++ (чистому проекту на Blueprint компиляция не нужна).

Engine path

Версия Unreal определяется автоматически по полю EngineAssociation из .uproject (реестр Windows, LauncherInstalled.dat или сборка из исходников). Вы можете переопределить её вручную, если определение не удалось. Этот путь требуется для всех действий ниже.

Open Editor

Запускает редактор Unreal (UnrealEditor) для проекта workspace. Кнопка идемпотентна: редактору может потребоваться несколько десятков секунд, чтобы показать окно (особенно на macOS / Linux), поэтому второй щелчок в это время не открывает второй экземпляр. Пока редактор запускается, на кнопке отображается «Opening…». Для проекта C++, ни разу не собранного локально, открытие редактора сначала запускает генерацию файлов проекта, а затем компиляцию (см. Автоматические действия).

Compile

📷 Screenshot · client-compile-console
Встроенная консоль, показывающая вывод компиляции Unreal Build Tool в реальном времени.

Компилирует проект (Unreal Build Tool). Вывод отображается в реальном времени во встроенной консоли. Проект C++ должен быть скомпилирован, чтобы редактор мог его открыть и чтобы отразить изменения в коде.

Generate Project Files

Заново создаёт файлы проекта IDE (Visual Studio, Rider). Полезно после добавления или удаления исходных файлов либо после clone. Находится в меню «…» (дополнительные действия) панели.

Package Game

Собирает пакет игры через RunUAT BuildCookRun и архивирует результат в Packages/{config}/ в корне workspace. Три конфигурации на выбор:

ConfigНазначение
DebugGameОтладочная сборка (полные символы, без оптимизации).
DevelopmentСборка для разработки (по умолчанию): оптимизирована, но с инструментами разработчика.
ShippingСборка для распространения: оптимизирована, без инструментов разработчика.

Папка Packages/ игнорируется по умолчанию (.uversionignore): собранные пакеты не версионируются, они распространяются через Publish Build.

Publish Build

Публикует собранный пакет как внутреннюю версию для playtest. Она становится доступна для скачивания вашей команде со страницы Games в клиенте (роль playtester или предоставленный доступ к сборке). Клиент сканирует Packages/{config}/, отправляет файлы (дедупликация на стороне сервера), затем регистрирует манифест.

Open project folder

Открывает папку workspace в файловом менеджере системы (Проводник Windows, Finder или xdg-open в Linux).

Stop

Аккуратно прерывает все текущие сборки: компиляцию и сборку пакета. Кнопка показывает, сколько сборок было остановлено (автоматическая компиляция, запущенная в фоне, может быть учтена).

Автоматические действия

Помимо кнопок, клиент сам запускает некоторые действия Unreal, чтобы проект C++ всегда оставался актуальным и компилируемым:

  • Перед check-in: если файлы кода изменились, проект сначала компилируется. Если компиляция не удалась, check-in блокируется (код, который не компилируется, не отправляется).
  • После sync: если sync загрузил код, клиент заново создаёт файлы проекта, затем повторно компилирует.
  • При первом запуске после clone (проект C++): генерация файлов проекта, затем компиляция, прежде чем можно будет открыть редактор.

Эти автоматические сборки сериализуются на блокировке движка (Unreal Build Tool -WaitMutex): они не отклоняют друг друга, а выстраиваются в очередь. Кнопка Stop прерывает и их.