Commit Graph

15 Commits

Author SHA1 Message Date
Ben Marsh
4d90207905 UGS: Use a separate config file for newer builds of UGS (UnrealGameSyncV2.ini), to avoid invalidating old configs if we have to revert. Config will still be read from old location if a new config file is not present.
#preflight none

[CL 20302516 by Ben Marsh in ue5-main branch]
2022-05-20 16:37:48 -04:00
Ben Marsh
bc7983845d UGS: Fix build error.
#preflight none

[CL 19766382 by Ben Marsh in ue5-main branch]
2022-04-14 19:51:54 -04:00
Ben Marsh
65cc6db968 Horde: Fix build error in UnrealGameSyncCmd.
#preflight none

[CL 19191752 by Ben Marsh in ue5-main branch]
2022-02-28 21:15:22 -05:00
Ben Marsh
d07e5a5274 UGS-CLI: Add an option to force the filtered files to be synced with the have table (-refilter).
#preflight none

[CL 18618227 by Ben Marsh in ue5-main branch]
2022-01-14 11:00:17 -05:00
Ben Marsh
eddef12371 UGS-CLI: Various improvements/fixes.
* Support for creating workspaces using native P4 client, so "ugs init" now works correctly.
* Output a list of files which need to be clobbered when syncing, and add a -Clobber option to confirm intent.
* Fix exception accessing folders that user does not have permissions to when detecting a new workspace.

#preflight none

[CL 18618091 by Ben Marsh in ue5-main branch]
2022-01-14 10:51:47 -05:00
Ben Marsh
58909473fd UGS: Add a command to list all clients and their root directories on the current host ("ugs clients") and a command to launch the editor ("ugs run"). Also bypass prompt for removing files from the workspace when running through CLI.
#preflight none

[CL 18576374 by Ben Marsh in ue5-main branch]
2022-01-11 15:39:30 -05:00
Ben Marsh
6b746ef904 UGS: Fix some Windows-isms in cross-platform UGS library.
#preflight none

[CL 18574223 by Ben Marsh in ue5-main branch]
2022-01-11 12:54:38 -05:00
Ben Marsh
06872fc1ae UGS: Fix missing error output when syncing.
#preflight none

[CL 18573408 by Ben Marsh in ue5-main branch]
2022-01-11 12:00:10 -05:00
Ben Marsh
4cc55182e9 UGS: Add a filter command to allow adding and remove categories to sync.
#preflight none

[CL 18562812 by Ben Marsh in ue5-main branch]
2022-01-10 13:44:32 -05:00
Ben Marsh
d37f8d5a01 UGS: Move global settings common to the CLI/GUI apps into a separate JSON file, making it easier to edit on Mac/Linux.
#preflight none

[CL 18560200 by Ben Marsh in ue5-main branch]
2022-01-10 10:58:21 -05:00
Ben Marsh
4974dfe934 UGS: Add a command for listing submitted changes ("ugs changes -count=123 -lines=3")
#preflight none

[CL 18559173 by Ben Marsh in ue5-main branch]
2022-01-10 09:33:30 -05:00
Ben Marsh
68769b3848 UGS: Use standard paths on Mac and Linux for config files and log files.
Logs:

Mac: ~/Library/Logs/Unreal Engine/UnrealGameSync
Linux: ~/

Config files:

Both: ~/.config/UnrealGameSync

#preflight none

[CL 18556422 by Ben Marsh in ue5-main branch]
2022-01-09 19:54:09 -05:00
Ben Marsh
de8fe36b53 UGS: Fix exception initializing workspace on Mac. MacOS does not have concept of hidden directories, and the runtime throws an exception when trying to execute Windows code trying to update the attributes.
#preflight none

[CL 18554890 by Ben Marsh in ue5-main branch]
2022-01-08 15:45:12 -05:00
Ben Marsh
a40c4c2c8b UGS: Support for running UGS CLI on Mac.
#preflight none

[CL 18554839 by Ben Marsh in ue5-main branch]
2022-01-08 15:04:19 -05:00
Ben Marsh
7c8ff49331 UGS: Initial version of command-line UGS client.
Currently only tested on Windows; Mac/Linux ports to follow. Workspace state and core implementation is shared with the WinForms application, allowing switching between command line and GUI as needed.

Currently implemented commands are:

  ugs init [stream-path] [-client=..] [-server=..] [-user=..] [-branch=..] [-project=..]
    Create a client for the given stream, or initializes an existing client for use by UGS.

  ugs switch [project name|project path|stream]
    Changes the active project to the one in the workspace with the given name, or switches to a new stream.

  ugs config
    Updates the configuration for the current workspace.

  ugs sync [change|'latest'] [-build] [-only]
    Syncs the current workspace to the given changelist, optionally removing all local state.

  ugs build [id] [-list]
    Runs the default build steps for the current project, or a particular step referenced by id.

  ugs status [-update]
    Shows the status of the currently synced branch.

#preflight none

[CL 18550725 by Ben Marsh in ue5-main branch]
2022-01-07 16:21:08 -05:00