uVersion
Türkçe
İndir →

Wiki

Masaüstü istemcisi

Windows, macOS ve Linux için uVersion masaüstü istemcisi: kurulum, workspace, sekmeler, ayarlar.

Kurulum

Masaüstü istemcisi Windows, macOS (Apple Silicon) ve Linux için sunulan yerel bir uygulamadır. Windows, macOS ve Linux yükleyicileri ayrıca uversion CLI'yi de içinde barındırır ve erişilebilir hale getirir. /downloads adresinden indirin.

Windows

uVersion_x.y.z_x64-setup.exe dosyasını indirin (imzalı NSIS yükleyici, ~25 MB). Çalıştırıldığında yükleyici:

  • İstemciyi %LOCALAPPDATA%\uVersion içine kurar (kullanıcı bazında, yönetici gerekmez)
  • Kurulum klasörünü kullanıcı PATH'ine ekler (uversion.exe CLI orada gömülüdür)
  • Başlat menüsünde bir kısayol oluşturur
  • Tauri updater aracılığıyla otomatik güncellemeyi etkinleştirir

macOS (Apple Silicon)

uVersion_x.y.z_macos-arm64.app.zip dosyasını indirin (~32 MB, Developer ID ile imzalı ve Apple tarafından noter onaylı). Sıkıştırmayı açmak için çift tıklayın, ardından uVersion.app uygulamasını /Applications klasörüne sürükleyin. İlk başlatmada Gatekeeper, noter onayını otomatik olarak doğrular, hiçbir uyarı çıkmaz.

uversion CLI uygulamanın içine gömülüdür. İlk başlatmada istemci, ~/.local/bin/uversion için otomatik olarak bir sembolik bağlantı oluşturur ve ~/.zprofile aracılığıyla ~/.local/bin dizinini PATH'inize ekler: hiçbir manuel işlem gerekmez. Yeni bir terminal açın ve uversion kullanıma hazırdır.

Not: yalnızca Apple Silicon (M1/M2/M3/M4) desteklenir. Intel ikili dosyası yoktur.

Linux

x86_64 için iki biçim:

  • AppImage (uVersion_x.y.z_amd64.AppImage, ~76 MB): taşınabilirdir, tüm bağımlılıkları (libwebkit2gtk, libgtk, libsoup vb.) içinde barındırır. Sistem kurulumu olmadan herhangi bir Linux dağıtımında çalışır:
    chmod +x uVersion_x.y.z_amd64.AppImage
    ./uVersion_x.y.z_amd64.AppImage
  • .deb paketi (uVersion_x.y.z_amd64.deb, ~5 MB): Ubuntu / Debian / türevleri için. apt, sistem bağımlılıklarını çözer:
    sudo apt install ./uVersion_x.y.z_amd64.deb
    Uygulama /usr/bin/uVersion içine kurulur.

Not: uversion CLI, Linux paketlerinin içine gömülüdür. İlk başlatmada istemci, ikili dosyayı ~/.local/bin/uversion konumuna kopyalar ve ~/.profile aracılığıyla ~/.local/bin dizinini PATH'inize ekler (hiçbir manuel işlem gerekmez).

İlk başlatma

İlk başlatmada giriş sayfası: Sunucu adresi, Kullanıcı adı, Parola alanları.

İlk başlatmada istemci giriş sayfasını gösterir. Şunları girin:

  • Sunucu adresi: stüdyonuzun adresi (örn. https://uversion.mygamestudio.com)
  • Kullanıcı adı ve parola

Bağlandıktan sonra istemci oturumunuzu güvenli bir şekilde hatırlar. uversion CLI ve editör eklentileri (Unreal, Rider) aynı kimlik bilgilerini otomatik olarak yeniden kullanır: parolanızı başka hiçbir yerde tekrar girmezsiniz.

Workspace

Üstteki workspace sekme çubuğu, aynı anda birden fazla workspace açık.

Bir workspace, bir sunucu repository'sine bağlı yerel bir klasördür. İstemci birden fazla workspace'i aynı anda yönetebilir; bunlar üstteki sekme çubuğunda gösterilir. Her workspace, meta verilerini yerel klasörün kökündeki .uversion/ içinde saklar:

  • .uversion/config.toml: owner, repo_id, server URL, workspace UUID
  • .uversion/checkouts_<workspace_id>.json: bu workspace'te SİZİN tuttuğunuz locks
  • .uversion/changelists_<workspace_id>.json: yerel changelists
  • .uversion/.last_sync: son synced edilen revizyon (artımlı sync'ler için)

Files sekmesi

Durum filtreleri (Synced, Modified, Local only, Locked…) ve arama çubuğuyla dosya ağacı.

Workspace dosyalarının durumlarıyla birlikte ağaç görünümü. Kullanılabilir filtreler:

  • Search: path içinde alt dize ile arama (büyük/küçük harfe duyarsız)
  • Status filters: Synced, Modified, Local only, Server only, Locked, Deleted

Görünüm, on binlerce dosyalı projelerde bile akıcı kalır.

Çoklu seçim + eylemler

Birden fazla dosya seçin (tıklama + shift veya onay kutularını işaretleyin) ardından:

  • Checkout: locks alır (idempotent; zaten locked olan bir dosyayı yeniden checkout etmek no-op'tur)
  • Sync: seçilenleri yeniden indirir (bir dosya yerel olarak bozulmuşsa faydalıdır)
  • Revert: lock'u release eder, sunucu sürümünü geri yükler

Pending sekmesi

Pending sekmesi: Your locks ve Other users' locks bölümleri, Request release ve Force unlock düğmeleriyle.

Şu anda checked-out olan, sizin VEYA başka bir kullanıcı tarafından locked edilmiş dosyalar. İki bölüm:

  • Your locks: tek tek checkin, revert veya release yapabilirsiniz
  • Other users' locks: lock'u kimin tuttuğunu görürsünüz, ayrıca Production panosunda bir request kartı (request rozeti) oluşturan Request release düğmesi bulunur

Yöneticiler ayrıca üçüncü taraf locks üzerinde, lock'u sahibinin onayı olmadan release eden bir Force unlock düğmesi görür. Tüm force unlock işlemleri denetim kaydına alınır.

History sekmesi

Dosya listesi ve commit'in Get all düğmesiyle genişletilmiş bir commit.

Repository commits'lerinin sayfalanmış listesi; yazar, tarih, mesaj ve değiştirilen dosyalarla birlikte. Bir commit'e tıklamak ayrıntıyı açar: commit'in dosyalarının revizyonlarıyla birlikte tam listesi.

Her commit üzerindeki Get all düğmesi, o revizyondaki tüm dosyaların yerel bir kopyasını indirir (kararlı bir durumu geri almak için faydalıdır).

Production

Production alanı (kenar çubuğunda özel bir giriş) proje takibini depo bazında bir araya getirir. Workspace'in eski Activity ve Requests sekmelerinin yerini aldı: Workspace artık dosyalara (Files, Pending, History) odaklanır.

My tasks

Tüm projelerde size atanan görevler.

Size atanan kartların listesi, erişiminiz olan tüm depolar genelinde toplanır.

Board

kanban: To Do / In Progress / Review / Done sütunları, öncelik, etiketler, atananlar, kapaklarla kartlar.

Depo bazında kanban panosu, sütunlar yapılandırılabilir (varsayılan To Do, In Progress, Review, Done). Her kart bir öncelik (low / normal / high / urgent), etiketler, atananlar, bir son tarih, yorumlar, asset veya commit'lere bağlantılar ve bir kapak görseli taşır.

İstekler pano kartlarıdır Eski modification requests (örneğin Pending sekmesinde başka birinin tuttuğu bir lock üzerindeki 'Request release') artık request rozeti taşıyan pano kartlarıdır. Artık ayrı bir Requests sekmesi yok.
Açık bir kart: açıklama, atananlar, son tarih, yorumlar, asset/commit bağlantıları, kapak.
📷 Screenshot · production-request-cards
Review sütunundaki request türü kartlar (rozet).

Activity

Activity panosu: 24 saat KPI'ları, etkinlik takvimi, Recent Checkins, Commit History.

Birleşik gösterge paneli:

  • 24 saat KPI'ları: commits, aktif gönderenler, aktif locks
  • Etkinlik takvimi: birkaç ay boyunca günlük commits (heatmap)
  • Recent Checkins ve Most Modified Directories
  • Commit History: kullanıcıya ve yola göre filtrelerle sayfalanmış commits

Watchlist

Yola göre izlemeler.

Yolları (glob desenleri) izleyerek onlara dokunan check-in'ler hakkında bildirim alın. Her giriş, izlenen yolu ve takip edilen olayları belirtir.

Games

Games sayfası: yayımlanan playtest build'leri, platforma göre indirme.

Games alanı, proje için yayımlanan dahili playtest build'lerini listeler. Her build sürümünü, yapılandırmasını (DebugGame / Development / Shipping), platformunu (Win64 / Mac / Linux), boyutunu ve sürüm notlarını gösterir ve platforma uygun bir indirme düğmesi içerir.

Bu, playtester'ların erişim noktasıdır: playtester rolüne sahip bir hesap yalnızca bu sayfayı görür (ne Workspace ne de Production) ve yalnızca kendisine açılan projelerin build'lerine erişir.

Yerel Changelists

📷 Screenshot · client-changelists
İki yerel changelists'e (örneğin 'default' ve 'review') dağıtılmış checked-out dosyalar.

checked-out dosyalarınızı birden fazla bağımsız commit içinde gruplayın. Changelists, workspace'inize özeldir (asla sunucuya gönderilmez). Şunlar için faydalıdır:

  • Kritik bir fix'i devam eden bir çalışmadan ayırmak
  • Her şeyi karıştırmadan birden fazla gönderimi paralel olarak hazırlamak
  • WIP için bir "default" changelist ve checkin'e gidecekler için bir "review" tutmak

Settings

Settings paneli: tema, otomatik sync aralığı, paralel yüklemeler, varsayılan repo klasörü.

İstemcinin genel tercihleri (%APPDATA%/uversion/uVersion/config/config.toml içinde kaydedilir):

SeçenekAçıklama
Default server URLGiriş sayfasında önceden doldurulur
UsernameGiriş sayfasında önceden doldurulur
ThemeSystem / Light / Dark
Show hidden filesFiles sekmesinde . ile başlayan dosyaları göster
Auto-sync intervalDevre dışı / 5 dk / 15 dk / 30 dk: otomatik artımlı bir sync tetikler
Parallel uploadsconcurrency üst sınırı (1-32, varsayılan 16)
Default repos pathclone sırasında varsayılan olarak önerilen klasör

Unreal paneli

📷 Screenshot · client-unreal-panel
Eylem düğmeleriyle Unreal paneli: Open Editor, Compile, Package Game ve config seçimi, Publish Build, Stop.

İstemci workspace içinde bir Unreal projesi algıladığında (bir .uproject dosyasının varlığı), özel bir panel görünür. Motoru doğrudan istemciden yönetir: editörü açma, derleme, paketleme, bir IDE'ye uğramadan. İşlemlerin çoğu yalnızca C++ projelerini ilgilendirir (saf bir Blueprint projesinin derlenmesi gerekmez).

Engine path

Unreal sürümü, .uproject dosyasının EngineAssociation alanından otomatik olarak algılanır (Windows kayıt defteri, LauncherInstalled.dat veya kaynaktan derleme). Algılama başarısız olursa bunu elle geçersiz kılabilirsiniz. Bu yol, aşağıdaki tüm işlemler için gereklidir.

Open Editor

Unreal editörünü (UnrealEditor) workspace projesinde başlatır. Düğme idempotenttir: editörün penceresini göstermesi birkaç on saniye sürebilir (özellikle macOS / Linux'ta), bu nedenle bu süre içinde ikinci bir tıklama ikinci bir örnek açmaz. Editör başlarken düğmede «Opening…» görünür. Yerelde hiç derlenmemiş bir C++ projesi için, editörü açmak önce bir proje dosyaları oluşturma, ardından bir derleme tetikler (bkz. Otomatik işlemler).

Compile

📷 Screenshot · client-compile-console
Unreal Build Tool derleme çıktısını gerçek zamanlı gösteren gömülü konsol.

Projeyi derler (Unreal Build Tool). Çıktı, gömülü bir konsolda gerçek zamanlı olarak görüntülenir. Bir C++ projesinin editör tarafından açılabilmesi ve kod değişikliklerini yansıtabilmesi için derlenmesi gerekir.

Generate Project Files

IDE proje dosyalarını yeniden oluşturur (Visual Studio, Rider). Kaynak dosya ekledikten veya kaldırdıktan sonra ya da bir clone sonrasında yararlıdır. Panelin «…» (daha fazla işlem) menüsünde bulunur.

Package Game

Oyunu RunUAT BuildCookRun ile paketler ve sonucu workspace kökündeki Packages/{config}/ içine arşivler. Seçilebilecek üç yapılandırma:

ConfigKullanım
DebugGameHata ayıklama derlemesi (tam semboller, optimize edilmemiş).
DevelopmentGeliştirme derlemesi (varsayılan): optimize edilmiş ancak dev araçlarıyla.
ShippingDağıtım derlemesi: optimize edilmiş, dev araçları olmadan.

Packages/ klasörü varsayılan olarak yok sayılır (.uversionignore): paketlenmiş çıktılar sürümlenmez, Publish Build ile dağıtılır.

Publish Build

Paketlenmiş bir build'i dahili bir playtest sürümü olarak yayımlar. Ekibiniz bunu istemcinin Games sayfasından indirebilir hale gelir (playtester rolü veya verilmiş build erişimi). İstemci Packages/{config}/ dizinini tarar, dosyaları gönderir (sunucu tarafında yinelenenler ayıklanır) ve ardından manifesti kaydeder.

Open project folder

Workspace klasörünü sistemin dosya gezgininde açar (Windows Gezgini, Finder veya Linux'ta xdg-open).

Stop

Devam eden tüm build'leri temiz bir şekilde durdurur: derleme ve paketleme. Düğme, kaç build'in durdurulduğunu gösterir (arka planda başlatılan otomatik bir derleme de sayılabilir).

Otomatik işlemler

Düğmelerin yanı sıra istemci, bir C++ projesinin her zaman güncel ve derlenebilir kalması için bazı Unreal işlemlerini kendiliğinden tetikler:

  • Bir check-in öncesi: kod dosyaları değiştiyse önce proje derlenir. Derleme başarısız olursa check-in engellenir (derlenmeyen kod gönderilmez).
  • Bir sync sonrası: sync kod indirdiyse istemci proje dosyalarını yeniden oluşturur ve ardından yeniden derler.
  • Bir clone sonrası ilk başlatmada (C++ projesi): editörü açabilmeden önce proje dosyalarının oluşturulması ve ardından derleme.

Bu otomatik build'ler motor kilidi (Unreal Build Tool -WaitMutex) üzerinde sıralanır: birbirini reddetmez, art arda çalışır. Stop düğmesi bunları da durdurur.