Robert Manuszewski
8841a31595
Merging //UE4/Dev-Main @ 4448303 to Dev-Core (//UE4/Dev-Core)
...
#rb none
[CL 4450493 by Robert Manuszewski in Dev-Core branch]
2018-10-11 08:14:26 -04:00
Ben Marsh
e5da914f62
WorkspaceTool: Add a revert command, which reverts all open files in a workspaces and deletes any changelists and shelved files.
...
#rb none
#rnx
[CL 4254559 by Ben Marsh in Dev-Core branch]
2018-08-02 11:17:11 -04:00
Ben Marsh
f17ba9de41
WorkspaceTool: Include the full command line in the log for any P4 commands.
...
#rb none
#rnx
[CL 4240800 by Ben Marsh in Dev-Core branch]
2018-07-30 12:05:17 -04:00
Ben Marsh
8b6f19c5ed
Add the Delete command to Perforce wrapper in DotNETUtilities.
...
#rb none
#rnx
[CL 4234193 by Ben Marsh in Dev-Core branch]
2018-07-26 10:04:07 -04:00
Ben Marsh
15bde3f1c8
UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion.
...
#rb none
[CL 4234176 by Ben Marsh in Dev-Core branch]
2018-07-26 09:58:23 -04:00
Ben Marsh
cbea6d0d05
WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes.
...
#rb none
[CL 4231014 by Ben Marsh in Dev-Core branch]
2018-07-25 10:02:31 -04:00
Ben Marsh
fb92e99a30
UAT: Consolidate list of all confidential folders in one place. FileFilter now uses the RestrictedFolders class, which has been moved out from UBT.
...
#rb none
#rnx
[CL 4230549 by Ben Marsh in Dev-Core branch]
2018-07-24 21:31:10 -04:00
Ben Marsh
28b3323dc5
UAT: Remove the FileSystemName class, now that we don't need to normalize strings before comparison.
...
#rb none
#rnx
[CL 4230539 by Ben Marsh in Dev-Core branch]
2018-07-24 21:18:02 -04:00
Ben Marsh
bd61fc6100
UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message)
...
#rb none
#rnx
[CL 4230521 by Ben Marsh in Dev-Core branch]
2018-07-24 20:53:38 -04:00
Ben Marsh
29794b7ea4
Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too).
...
#rb none
[CL 4189617 by Ben Marsh in Dev-Core branch]
2018-07-06 13:23:14 -04:00
Ben Marsh
49c7fe4749
WorkspaceTool: Use readonly clients for build machines.
...
#rb none
[CL 4157960 by Ben Marsh in Dev-Core branch]
2018-06-25 07:45:37 -04:00
Ben Marsh
bc6d38fae4
WorkspaceTool: Use the correct path to p4 on Mac.
...
#rb none
#rnx
[CL 4135591 by Ben Marsh in Dev-Core branch]
2018-06-18 12:57:28 -04:00
Ben Marsh
544172ade8
Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)
...
#rb none
#rnx
[CL 4135449 by Ben Marsh in Dev-Core branch]
2018-06-18 12:06:08 -04:00
Ben Marsh
80055450ec
WorkspaceTool: Use ManagedProcess to execute Perforce, and add a default implementation of it for non-Win32 platforms.
...
#rb none
#rnx
[CL 4135441 by Ben Marsh in Dev-Core branch]
2018-06-18 12:04:19 -04:00
Ben Marsh
dd6f3b0c59
WorkspaceTool: Improve resilience when long-running actions are interrupted.
...
* Before moving a large number of files, the workspace state is saved with information about files in the source and target locations, allowing recovery of files in either location.
* The workspace state can be tagged as dirty, meaning that some cache or workspace items may not be correct. If a workspace is loaded with this flag, we check integrity of all files in each category before continuing.
* Gathering files to add and remove is done in a two separate operations.
* Workspace state is captured after every 256mb is synced, to avoid large resyncs if an error occurs.
* If any attempt to move a file from the cache, or copy a file within the workspace fails, we fall back to re-syncing the item from Perforce.
Also other minor improvements:
* Always write out log file, and keep old log files for 3 days.
* Added dump command, to list contents of workspace and cache.
#rb none
[CL 4133164 by Ben Marsh in Dev-Core branch]
2018-06-15 14:30:23 -04:00
Ben Marsh
8211b33877
WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected.
...
#rb none
#rnx
[CL 4127932 by Ben Marsh in Dev-Core branch]
2018-06-13 14:43:33 -04:00
Ben Marsh
b45cddbc7f
UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor.
...
#rb none
[CL 4126132 by Ben Marsh in Dev-Core branch]
2018-06-12 17:05:39 -04:00
Ben Marsh
15f7cf42a7
Prevent doubled-up lines when writing status updates with console log verbosity.
...
#rb none
#rnx
[CL 4117091 by Ben Marsh in Dev-Core branch]
2018-06-06 18:40:48 -04:00
Robert Manuszewski
bf397b2e1f
Merging //UE4/Dev-Main @ 4114877 to Dev-Core (//UE4/Dev-Core)
...
#rb none
[CL 4115001 by Robert Manuszewski in Dev-Core branch]
2018-06-06 00:53:29 -04:00
Ben Marsh
627e4bba50
WorkspaceTool: Utility to perform fast switches between workspaces using a local cache of files (moving files to/from the cache rather than copying), and allow quickly cleaning a workspace based on timestamps.
...
#rb none
[CL 4113379 by Ben Marsh in Dev-Core branch]
2018-06-05 13:27:00 -04:00
Ben Marsh
adef91feea
UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block.
...
As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners.
#rb none
[CL 4111304 by Ben Marsh in Dev-Core branch]
2018-06-04 17:23:16 -04:00
Ben Marsh
587cd6e902
Merging CL 4109567 from 4.20 branch (fix to console colors on Mac after a warning or error)
...
#rb none
#rnx
[CL 4109606 by Ben Marsh in Dev-Core branch]
2018-06-04 12:16:20 -04:00
Ben Marsh
507a10459c
Missing project file for DotNETUtilities.
...
#rb none
#rnx
[CL 4109595 by Ben Marsh in Dev-Core branch]
2018-06-04 12:13:33 -04:00
Ben Marsh
ccb7e87303
UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter.
...
#rb none
#rnx
[CL 4109588 by Ben Marsh in Dev-Core branch]
2018-06-04 12:11:30 -04:00
Ben Marsh
cb54450213
Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing.
...
#rb none
[CL 4109031 by Ben Marsh in Dev-Core branch]
2018-06-04 09:25:26 -04:00