Skip to content

renaming the case-sensitive paths

For some reason, OpenFOAM developers have case-sensitive paths in the codebase. As a result, it is difficult to port the software or to other OSes, such as macOS and/or Windows. For example, trying to git clone this repository on macOS results

warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'applications/test/Dictionary/Make/files'
  'applications/test/dictionary/Make/files'
  'applications/test/Dictionary/Make/options'
  'applications/test/dictionary/Make/options'
  'applications/test/Dictionary/Test-Dictionary.C'
  'applications/test/dictionary/Test-dictionary.C'
  'applications/test/Tensor2D/Make/files'
  'applications/test/tensor2D/Make/files'
  'applications/test/Tensor2D/Make/options'
  'applications/test/tensor2D/Make/options'
  'applications/test/Tensor2D/Test-Tensor2D.C'
  'applications/test/tensor2D/Test-tensor2D.C'
  'src/finiteVolume/finiteVolume/fvc/fvcDDt.C'
  'src/finiteVolume/finiteVolume/fvc/fvcDdt.C'
  'src/finiteVolume/finiteVolume/fvc/fvcDDt.H'
  'src/finiteVolume/finiteVolume/fvc/fvcDdt.H'
  'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.C'
  'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrad.C'
  'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.H'
  'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrad.H'
  'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrads.C'
  'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresGrads.C'
  'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.C'
  'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.C'
  'src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresVectors.H'
  'src/finiteVolume/finiteVolume/gradSchemes/leastSquaresGrad/leastSquaresVectors.H'
  'src/fvOptions/sources/derived/phaseLimitStabilization/PhaseLimitStabilization.C'
  'src/fvOptions/sources/derived/phaseLimitStabilization/phaseLimitStabilization.C'
  'src/fvOptions/sources/general/semiImplicitSource/SemiImplicitSource.C'
  'src/fvOptions/sources/general/semiImplicitSource/semiImplicitSource.C'
  'src/OpenFOAM/db/Time/instant/Instant.C'
  'src/OpenFOAM/db/Time/instant/instant.C'
  'src/OpenFOAM/db/Time/instant/Instant.H'
  'src/OpenFOAM/db/Time/instant/instant.H'
  'src/OpenFOAM/interpolations/patchToPatchInterpolation/PatchToPatchInterpolation.H'
  'src/OpenFOAM/interpolations/patchToPatchInterpolation/patchToPatchInterpolation.H'
  'src/OpenFOAM/interpolations/primitivePatchInterpolation/PrimitivePatchInterpolation.H'
  'src/OpenFOAM/interpolations/primitivePatchInterpolation/primitivePatchInterpolation.H'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.C'
  'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H'
  'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrix.H'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixATmul.C'
  'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixATmul.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixOperations.C'
  'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixOperations.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C'
  'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C'
  'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C'
  'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixUpdateMatrixInterfaces.C'
  'src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixUpdateMatrixInterfaces.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.C'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H'
  'src/OpenFOAM/matrices/LduMatrix/LduMatrix/solverPerformance.H'
  'src/OpenFOAM/matrices/LduMatrix/Preconditioners/DiagonalPreconditioner/DiagonalPreconditioner.C'
  'src/OpenFOAM/matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.C'
  'src/OpenFOAM/matrices/LduMatrix/Preconditioners/DiagonalPreconditioner/DiagonalPreconditioner.H'
  'src/OpenFOAM/matrices/lduMatrix/preconditioners/diagonalPreconditioner/diagonalPreconditioner.H'
  'src/OpenFOAM/matrices/LduMatrix/Preconditioners/NoPreconditioner/NoPreconditioner.C'
  'src/OpenFOAM/matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.C'
  'src/OpenFOAM/matrices/LduMatrix/Preconditioners/NoPreconditioner/NoPreconditioner.H'
  'src/OpenFOAM/matrices/lduMatrix/preconditioners/noPreconditioner/noPreconditioner.H'
  'src/OpenFOAM/matrices/LduMatrix/Solvers/DiagonalSolver/DiagonalSolver.C'
  'src/OpenFOAM/matrices/lduMatrix/solvers/diagonalSolver/diagonalSolver.C'
  'src/OpenFOAM/matrices/LduMatrix/Solvers/DiagonalSolver/DiagonalSolver.H'
  'src/OpenFOAM/matrices/lduMatrix/solvers/diagonalSolver/diagonalSolver.H'
  'src/OpenFOAM/matrices/LduMatrix/Solvers/SmoothSolver/SmoothSolver.C'
  'src/OpenFOAM/matrices/lduMatrix/solvers/smoothSolver/smoothSolver.C'
  'src/OpenFOAM/matrices/LduMatrix/Solvers/SmoothSolver/SmoothSolver.H'
  'src/OpenFOAM/matrices/lduMatrix/solvers/smoothSolver/smoothSolver.H'
  'src/OpenFOAM/meshes/MeshObject/MeshObject.C'
  'src/OpenFOAM/meshes/MeshObject/meshObject.C'
  'src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H'
  'src/OpenFOAM/meshes/primitiveMesh/primitivePatch/primitivePatch.H'
  'src/OpenFOAM/meshes/primitiveShapes/objectHit/PointHit.H'
  'src/OpenFOAM/meshes/primitiveShapes/objectHit/pointHit.H'
  'src/OpenFOAM/meshes/primitiveShapes/objectHit/PointIndexHit.H'
  'src/OpenFOAM/meshes/primitiveShapes/objectHit/pointIndexHit.H'
  'src/phaseSystemModels/multiphaseInter/phasesSystem/InterfaceCompositionModel/InterfaceCompositionModel.C'
  'src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceCompositionModel/interfaceCompositionModel.C'
  'src/phaseSystemModels/multiphaseInter/phasesSystem/InterfaceCompositionModel/InterfaceCompositionModel.H'
  'src/phaseSystemModels/multiphaseInter/phasesSystem/interfaceCompositionModel/interfaceCompositionModel.H'
  'src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.C'
  'src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C'
  'src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H'
  'src/phaseSystemModels/reactingEuler/multiphaseSystem/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.H'
  'src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModel.C'
  'src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.C'
  'src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModel.H'
  'src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H'
  'src/thermophysicalModels/chemistryModel/chemistryModel/BasicChemistryModel/BasicChemistryModelI.H'
  'src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModelI.H'
  'tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.orig/B.gz'
  'tutorials/combustion/PDRFoam/flamePropagationWithObstacles/0.orig/b.gz'
  'wmake/rules/General/CGAL'
  'wmake/rules/General/cgal'

It should be very easy to rename the conflicting directories and files maybe by adding an _ to the end of some.