Skip to content

Releases: danbrakeley/p4harmonize

v0.7.1 - GitHub Release builds now use Go 1.22

29 Jul 21:24
Compare
Choose a tag to compare

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

29 Jul 19:15
Compare
Choose a tag to compare

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 whatever P4CHARSET 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

24 Feb 14:28
Compare
Choose a tag to compare

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!

24 Apr 16:57
Compare
Choose a tag to compare

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!

30 Jun 21:01
Compare
Choose a tag to compare

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

28 Jun 00:31
Compare
Choose a tag to compare

Fixed an issue that prevented temp files from being cleaned up.

v0.3.3 - better performance (again!)

27 Jun 21:01
Compare
Choose a tag to compare

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

17 Dec 21:12
Compare
Choose a tag to compare
  • optimize adding src only files by batching the p4 add commands (@bohdon)
  • update release builds from using Go 1.17.2 to 1.17.5
  • fix issue with new syncs to empty depot (@bohdon)
  • fix depot prefix not being trimmed when cases differ (@bohdon)

v0.2.4

12 Oct 22:10
Compare
Choose a tag to compare
v0.2.4 Pre-release
Pre-release
  • fix typo preventing buildvars from being set

v0.2.3

12 Oct 22:06
Compare
Choose a tag to compare
v0.2.3 Pre-release
Pre-release

Builds now have version, build time, and release URL embedded in them by the github release action.