Search code examples
serverversion-controlmigrationdatabase-migrationperforce

Are there any drawbacks to running Perforce server in case-insensitive mode on Linux?


In the process migrating a Perforce server from a Windows server to a Linux one, the migration guide lists a lot of meticulous steps for converting the depot's case sensitivity, using the p4migrate tool to edit a checkpoint file that the databases will be restored from, and batch renaming the versioned *.v and other files.

However, a Perforce server (p4d) on Unix can simply be run in case-insensitive mode, using the -C1 parameter. With that, a lot of steps are skipped: generating conflict maps, translation maps, editing checkpoints, renaming files, etc., which makes the migration process considerably less error-prone / time-intensive.

Therefore, the question of "why even bother switching the sensitivity" is evident. Are there any obvious upsides?

In my case, a case-insensitive server has been functioning on a Windows server for a years, and fulfilled all needed tasks for the clients that were connecting to it. Would running a server with the same databases, in the same case-insensitive way, but on Linux from now on, be in any way different from the client side? The server admin side doesn't concern me so much: in my experience, once set up, the server just keeps running with little maintenance needed.


Solution

  • The only potential drawback is that if you have any case-sensitive clients or tools, you're likely to eventually wish that you were running the server in case-sensitive mode, since case-insensitive servers tend to breed case inconsistencies (e.g. it's possible for different files in the same directory to have different ideas about the case of the directory name, which is fine on a case-insensitive client but may cause a case-sensitive client to split them into multiple directories).

    If you've been running happily on a case-insensitive server already, there's no relative drawback in moving from Windows to Linux, and in fact keeping the same case sensitivity will make the migration easier.