diff --git a/README.md b/README.md index c4e18844..ed97fa28 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,55 @@ These execution times are expected to scale as expected with larger depots (mill --user [Required] Specify which P4USER to use. Please ensure that the user is logged in. + +--config [Optional, Default is empty] + Path to a file that can contain additional command line arguments. + +--exclude [Optional, Default is empty] + A regex used to exclude files from the conversion. Can be specified more than once. + Examples: + Exclude all files in Tools/Development, except AModule.ini and files in AModule, AModuleTest: --exclude "//Tools/Development/(?!AModule/.*|AModuleTest/.*|AModule\.ini).*" + Exclude all .pyc files: --exclude ".*\.pyc" + Exclude a specific file: --exclude "//Tools/Development/BModule/OpenCppCoverageSetup-x64-0.9.9.0.exe" + +--excludeLogPath [Optional, Default is empty string] + Path to a file where the excluded files will be logged. If not provided, logging to file will not occur. + +--lfsSpec [Optional, Default is empty] + Path spec for files to be handled by Git LFS. Can be specified more than once. + +--lfsServerUrl [Optional, Default is empty string] + URL of the Git LFS server to use for uploading files with basic transfer. + +--lfsUsername [Optional, Default is empty string] + Git LFS username for basic access authentication. + +--lfsPassword [Optional, Default is empty string] + Git LFS password for basic access authentication. + +--lfsToken [Optional, Default is empty string] + Git LFS token for authentication. + +--lfsAPI [Optional, Default is lfs] + Specify the type of the used LFS server API. The types currently supported are 'lfs' (the default) and 's3'. + +--lfsS3Bucket [Optional, Default is empty string] + Specify the name of the S3 bucket to use for LFS storage. + +--lfsS3Repository [Optional, Default is empty string] + Specify the name of the repository used to store LFS files in S3 bucket. + +--overrideToBinary [Optional, Default is empty] + Path spec for files to be handled as binary, even when their P4 type is something else. + Normally this results in them being ignored instead of committed. + In includeBinaries+LFS mode, the LFS pathspecs control where to commit what; + in that case this does nothing.Can be specified more than once. + +--overrideToText [Optional, Default is empty] + Path spec for files to be handled as text, even when their P4 type is binary or something else. + Normally this results in them being committed to the Git repo instead of ignored. + In includeBinaries+LFS mode, the LFS pathspecs control where to commit what; + in that case this only serves to silence a warning.Can be specified more than once. ``` ## Notes On Branches diff --git a/p4-fusion/main.cc b/p4-fusion/main.cc index 6d673e0a..031f7427 100644 --- a/p4-fusion/main.cc +++ b/p4-fusion/main.cc @@ -62,8 +62,12 @@ int Main(int argc, char** argv) Arguments::GetSingleton()->OptionalParameter("--includeBinaries", "false", "Do not discard binary files while downloading changelists."); Arguments::GetSingleton()->OptionalParameter("--flushRate", "1000", "Rate at which profiling data is flushed on the disk."); Arguments::GetSingleton()->OptionalParameter("--noColor", "false", "Disable colored output."); - Arguments::GetSingleton()->OptionalParameterList("--exclude", "A regex used to exclude files from the conversion. Can be specified more than once."); - Arguments::GetSingleton()->OptionalParameter("--excludeLogPath", "", "Path to a file where the excluded files will be logged."); + Arguments::GetSingleton()->OptionalParameterList("--exclude", "A regex used to exclude files from the conversion. Can be specified more than once.\n" + "\tExamples:\n" + "\t\tExclude all files in Tools/Development, except AModule.ini and files in AModule, AModuleTest: --exclude \"//Tools/Development/(?!AModule/.*|AModuleTest/.*|AModule\\.ini).*\"\n" + "\t\tExclude all .pyc files: --exclude \".*\\.pyc\"\n" + "\t\tExclude a specific file: --exclude \"//Tools/Development/BModule/OpenCppCoverageSetup-x64-0.9.9.0.exe\"\n"); + Arguments::GetSingleton()->OptionalParameter("--excludeLogPath", "", "Path to a file where the excluded files will be logged. If not provided, logging to file will not occur."); Arguments::GetSingleton()->OptionalParameter("--streamMappings", "false", "Use Mappings defined by Perforce Stream Spec for a given stream"); Arguments::GetSingleton()->OptionalParameterList("--lfsSpec", "Path spec for files to be handled by Git LFS. Can be specified more than once."); Arguments::GetSingleton()->OptionalParameter("--lfsServerUrl", "", "URL of the Git LFS server to use for uploading files with basic transfer."); diff --git a/p4-fusion/utils/arguments.cc b/p4-fusion/utils/arguments.cc index 77dae9f4..0d9805c8 100644 --- a/p4-fusion/utils/arguments.cc +++ b/p4-fusion/utils/arguments.cc @@ -252,8 +252,12 @@ std::string Arguments::Help() } else { - text += "\033[93m[Optional, Default is " + (paramData.valueList.empty() ? "empty" : paramData.valueList.back()) + "]\033[0m"; + //clang-format off + text += "\033[93m[Optional, Default is " + (paramData.valueList.empty() ? "empty" : paramData.valueList.back().empty() ? "empty string" + : paramData.valueList.back()) + + "]\033[0m"; } + //clang-format on text += "\n " + paramData.helpText + "\n\n"; }