Releases: danbrakeley/p4harmonize
v0.7.1 - GitHub Release builds now use Go 1.22
There should be no noticeable difference in functionality or performance from the v0.7.0 builds.
I have added more targets to the release building scripts, in case anyone on mac or linux wanted a pre-built binary.
v0.7.0 - allow setting different P4CHARSET for both source and destination servers
Thanks to @kalihman for pointing out the fact that p4harmonize wasn't handling a mismatch in CHARSET values between the client and server.
- Previous behavior: if p4's
P4CHARSET
was set, it was blindly used for both the source and destination servers. - New behavior: there is a new
p4charset
field you can add to your config.toml files for both the source and destination servers, and that will be passed to p4 as a-C
global option, overriding whateverP4CHARSET
would otherwise default to. If you do not add those fields to your config files, the behavior should be unchanged.
Also note that apparently the VS Code Go extension has new linting suggestions that I decided to follow, and the only user-facing change is error messages now start with a lower-case letter instead of an upper-case letter. Apologies if this breaks anyone's workflow!
v0.6.0 - fix escaped quotes in output
What's Changed
- Should no longer escape quotes unnecessarily (addresses issue #11)
- Note: This could be a breaking change for anyone parsing the output of p4harmonize programmatically.
- Thanks to @jorgenpt for cleaning up Go version requirements and setup scripts.
Full Changelog: v0.5.0...v0.6.0
v0.5.0 - Support for case insensitive servers!
This release is the first to officially support destination servers running in case insensitive mode. Currently, this support takes on the form of p4harmonize recognizing when it has encountered a case problem on a case insensitive server, reporting it to the user, then deleting the files that have case problems. Since p4harmonize does not submit changelists on its own, its run ends with the deletes in a changelist that the user must manually submit. Once they do, they can re-run p4harmonize, where it will re-add the now missing files, but this time with the correct case.
Unfortunately that is the easiest way to fix case problems on a case-insensitive server, at least according to Perforce.
Case sensitive servers continue to use the old behavior, which allows fixing these files with a single pass.
Also in this release is a bunch of work to cleanup longtest (now re-written in Go; all bash scripts removed), and to make the output a little more readable by better use of colors. See the screenshot in the README for an example!
v0.4.0 - big perf improvements!
Thanks to Jørgen P. Tjernø for the work to skip the long file copy and instead of relying on revert, relying on fstat and perforce digests to save a ton of time.
Note that starting with this release, when p4harmonize is done, the local folder that is created for the destination workspace will no longer contain ALL files, and instead will only contain the files that are new or have changed. Once you submit the generated changelist, that folder and the corresponding workspace should probably be deleted to avoid confusion, since to actually use that folder you'd need to force sync down all the files that are missing.
A future release might want to have options to include the submit and cleanup steps so the user doesn't have to do that manually.
v0.3.4
Fixed an issue that prevented temp files from being cleaned up.
v0.3.3 - better performance (again!)
More great perf work from bohdon, and some tweaks to start thinking about how to handle case insensitive targets.
v0.3.2 - bugs and perf improvements
v0.2.4
- fix typo preventing buildvars from being set
v0.2.3
Builds now have version, build time, and release URL embedded in them by the github release action.