Commit Graph

411 Commits

Author SHA1 Message Date
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
d0d0efdcd0 UGS: Add a warning when attempting to add the same file to the sync filter more than once.
#preflight none

[CL 18577183 by Ben Marsh in ue5-main branch]
2022-01-11 16:48:34 -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
62c1da28c1 UGS: Fix path to shell on non-Windows platforms.
#preflight none

[CL 18573478 by Ben Marsh in ue5-main branch]
2022-01-11 12:04:10 -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
575d8e7cb9 UGS: Fix null reference exception when running filter command on new workspace.
#preflight none

[CL 18571689 by Ben Marsh in ue5-main branch]
2022-01-11 09:53:34 -05:00
Ben Marsh
4bdff1df3b UGS: Fix runtime identifier for MacOS.
#preflight none

[CL 18567017 by Ben Marsh in ue5-main branch]
2022-01-10 18:50:40 -05:00
Ben Marsh
5910d6f801 UGS: Include Linux and Mac CLI clients in publish command.
#preflight none

[CL 18566889 by Ben Marsh in ue5-main branch]
2022-01-10 18:35:28 -05:00
Ben Marsh
7a8560162c UGS: Build fixes for GUI client.
#preflight none

[CL 18566623 by Ben Marsh in ue5-main branch]
2022-01-10 18:11:27 -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
4e031e96e0 UGS: Disable implicit using option for UGS CLI. Prevents building on Windows.
#preflight none

[CL 18554904 by Ben Marsh in ue5-main branch]
2022-01-08 15:53:43 -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
Ben Marsh
da89c7bb5f UGS: Keep cached project info in the workspace state file, and move background task management into the workspace object in the GUI app.
#preflight none

[CL 18549070 by Ben Marsh in ue5-main branch]
2022-01-07 14:16:19 -05:00
Ben Marsh
7d26f16d3e UGS: Compute build steps and environment variables for custom commands as part of the sync process. This ensures that we always use the latest values, and moves a lot of business logic out of the WinForms implementation.
#preflight none

[CL 18546984 by Ben Marsh in ue5-main branch]
2022-01-07 12:30:41 -05:00
UnrealBot
c47e81b2cb Branch snapshot for CL 18531810
[CL 18531810 in ue5-main branch]
2022-01-06 16:44:09 +00:00
Ben Marsh
24a782f272 UGS: Move WorkspaceSettings into the shared library.
#preflight none

[CL 18531020 by Ben Marsh in ue5-main branch]
2022-01-06 09:52:32 -05:00
Ben Marsh
ac92544d9c UGS: Save connection information into workspace settings file, stored in the per-workspace config directory. Fix support for clients containing multiple branches and standardize/validate format of project and branch paths.
#preflight none

[CL 18530994 by Ben Marsh in ue5-main branch]
2022-01-06 09:50:45 -05:00
UnrealBot
2987349d36 Branch snapshot for CL 18514113
[CL 18514113 in ue5-main branch]
2022-01-05 20:41:17 +00:00