salesforce / p4-fusion

A fast Perforce to Git conversion tool written in C++ using Perforce Helix Core C++ API and Libgit2
BSD 3-Clause "New" or "Revised" License
78 stars 15 forks source link

Audit behaviour when file type changes between non-binary and binary are encountered with `--includeBinaries false` #45

Open twarit-waikar opened 2 years ago

twarit-waikar commented 2 years ago

p4-fusion, when run with the --includeBinaries false arguments, currently disregards binary file changes completely, even if the file was changed from text to a binary file or vice versa.

We need to have a consistent behavior when choosing to ignore binary file changes when the file types are changed in such a manner.

E.g.

Case 1: A file added as text, then change to a binary file in a subsequent CL

p4-fusion will disregard the change and will leave the file state as was in the repo when it was a "text" file.

Case 2: A file added as text, then changed to binary, and then deleted from the depot

p4-fusion will add the file as text initially but not remove it later on since it was intermediately changed to a binary file before it got deleted.