1.25.1.0
The 1.25.1.0 release is a minor update containing bug fixes and a few new features. A primary motivation for this release has been to support a new reconfig
command. We currently require this command to help quickly switch existing placeholder files in a workspace to use a new P4PORT, such as replica or broker server, instead of the commit server. It also supports modifying the P4CLIENT, and/or P4USER referenced by the placeholder files.
Version [1.25.1.0]
- Addition of new "hydrate" command as synonym for "resident -x". Moved the implementation into
C++ and now using a single fstat command instead of a files & where command. - Moving native thread pool utilites for system limits into shared location
- Addition of native parallel directory traversal utility and new TestIterateDirectoryParallel
unit test to verify correctness. Implementation allows both the directory traversal, as well
as the visitation, to be done across multiple threads. This will be used for sweeping operations
including hydrating and reconfiguring files recursively. - Addition of new service setting "PoolDefaultNumberOfThreads" to customize the default number
of thread pool threads for concurrent operations, such as a virtual sync. - Native test factory now displays both skipped and executed tests, similar to Managed factory.
- Major refactor to managed interface for native SettingManager which fixes missing new
properties being serialized in configuration files, and reported in 'p4vfs set'. Managed property
code generation now moved into C++ to remove duplication. - Addition of service tick thread for performing garbage collection on cached DepotClient
connections. Two new settings GarbageCollectPeriodMs & DepotClientCacheIdleTimeoutMs can be
configured to remove lingering (cached) connections at a certain frequency and life-time. - Addition of user settings file locations for allowing incremental overrides of installed settings.
Settings files are now loaded in order (with UserSettingsFilePath loaded last)- InstalledSettingsFilePath -
C:\Program Files\P4VFS\P4VFS.Settings.xml
This is most common installed settings file - AssemblySettingsFilePath -
<directory of p4vfs.exe or P4VFS.Service.exe>\P4VFS.Settings.xml
Primarily used for custom unit test run settings - PublicSettingsFilePath -
%PUBLIC%\P4VFS.Settings.xml
Shared user location for both p4vfs and service - UserSettingsFilePath -
%USERPROFILE%\P4VFS.Settings.xml
Different for p4vfs.exe and non-impersonated service
- InstalledSettingsFilePath -
- Addition of DepotClientCacheIdleTimeoutTest which verifies correct operation of service
garbage collection frequency and behavior - Adding timestamps to version headers in release notes P4VFS.Notes.txt
- Addition of
p4vfs reconfig
command to modify the perforce configuration of local
placeholder files. Includes options for limiting which configuration variable to apply.
This is commonly used to change files in an existing workspace to use a different
perforce server endpoint (ie, a different broker or proxy server) without requiring a
force sync #have - Fixing bug where resident command doesn't correctly support quiet logging (#23). Additional
unit test to verify -q option works correctly for commands that support it.