Commit Graph

4 Commits

Author SHA1 Message Date
ben marsh
79a25a6f7d Add support for setting passwords on the native client at creation time.
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 18113267 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)

[CL 18113359 by ben marsh in ue5-release-engine-test branch]
2021-11-09 16:43:52 -05:00
ben marsh
ac6ba4d10d Horde: Fix tagged output of some Perforce commands (eg. p4 dirs).
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17570617 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17570632 by ben marsh in ue5-release-engine-test branch]
2021-09-20 10:33:37 -04:00
ben marsh
560b46ac72 Horde: Add support for the "p4 dirs" command.
This requires special handling for the native Perforce connection, since it returns information as message records that the client formats as strings through an "Error" object. To work around this, the C++ library converts such messages into stat records that are more easily parsed by C# code.

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17526529 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17526572 by ben marsh in ue5-release-engine-test branch]
2021-09-15 16:51:56 -04:00
ben marsh
6b97579ea7 Add a native implementation of IPerforceConnection, which uses the Perforce C++ API (via a DLL called EpicGames.Perforce.Native) to output records to a buffer shared with managed code (which is double-buffered with the processing thread in managed code). Interaction with the API is lightweight and done on a background thread, with an async API overlaid on top. Prebuilt binaries for the native component are currently tested on Windows and Linux.
Performance has been tested against the P4 .NET API and the command line client by performing a fstat of non-deleted files in //UE5/Main.

EpicGames.Perforce (this library): 47s
Command line client piping to file: 59s
P4 .NET API: ~40 minutes

#ROBOMERGE-SOURCE: CL 17347502 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17347506 by ben marsh in ue5-release-engine-test branch]
2021-08-29 16:36:22 -04:00